Create a uber package to include all dependency

it increases the target sample jar from 154KBytes to 104MBytes, but it removes the error-prone manual processes in manually identify dependent  jars needed at run-time, and manually include those jars at SPARKCVS_JAR before submitting the job. this PR replaces #54 - which will not be merged in.

replaced by another PR that squashes two commits into one

BTW @danielli90 you don't have to create a new PR to do this type of "branch cleanup".
You can rebase/squash your local copy of the branch to whatever "final form" you want and then (force) push to the same branch name to update the original PR on GitHub.
That will just replace the change set to be merged for this PR but keep all the PR discussion history.
Most repos have their master branch set to prohibit forced pushes on that branch [and rightly so, IMHO -- should always merge to master, not rewrite]
But it actually makes a lot of sense to do forced pushes on some long-running pull request / feature branches where lots of discussion & changes happened before the final stable code version is ready to merge in to master.
Many people have an automatic aversion to git push --force but it is actually a very useful function when used for the correct reasons. This is one of those "good" use cases ;)
HTH.

Got it. Thanks @jthelin.

Used @jthelin’s suggestion for PR#59 – “git push –force” worked magically.
Thx
Daniel
From: Jorgen Thelin<EMAIL_ADDRESS>Sent: Monday, November 16, 2015 11:12 AM
To: Microsoft/SparkCLR<EMAIL_ADDRESS>Cc: Daniel Li (BING<EMAIL_ADDRESS>Subject: Re: [SparkCLR] Create a uber package to include all dependency (#55)
BTW @danielli90https://github.com/danielli90 you don't have to create a new PR to do this type of "branch cleanup".
You can rebase/squash your local copy of the branch to whatever "final form" you want and then (force) push to the same branch name to update the original PR on GitHub.
That will just replace the change set to be merged for this PR but keep all the PR discussion history.
Most repos have their master branch set to prohibit forced pushes on that branch [and rightly so, IMHO -- should always merge to master, not rewrite]
But it actually makes a lot of sense to do forced pushes on some long-running pull request / feature branches where lots of discussion & changes happened before the final stable code version is ready to merge in to master.
Many people have an automatic aversion to git push --force but it is actually a very useful function when used for the correct reasons. This is one of those "good" use cases ;)
HTH.
—
Reply to this email directly or view it on GitHubhttps://github.com/Microsoft/SparkCLR/pull/55#issuecomment-157139114.


comment out bad picoharp properites

Changed syntax in instrumentdriver documentation
Commented out binning and offset in picoharp300 due to error

if needed add these properties back later

For records what was the error with binning and offset?

The error is that they haven't been defined.  They need to be defined at the top as a ctype, but we'll have to sit down with the picoharp to get the right typing.


Ability to create a KeyvRedis with an existing Redis instance in Typescript

In the readme for keyv redis it says that a KeyvRedis can be constructed as follows:
const KeyvRedis = require('@keyvhq/redis')
const Keyv = require('@keyvhq/core')
const Redis = require('ioredis')

const redis = new Redis('redis://user:pass@localhost:6379')
const keyv = new Keyv({ store: new KeyvRedis(redis) })

However this code doesn't compile with Typescript, nor should it according to index.d.ts.
Looking at the JS I think the code does work although I didn't test this. IMO the only change that is needed is to add a constructor to the index.d.ts file. In fact there seem to be 2 identical constructors in index.d.ts, I assume one of them was supposed to be the constructor to create a KeyvRedis with a Redis instance.

Thanks for reporting; Can you make a PR for this? 🙂

Sure.


Polybar fails to build -Error 2

I'm on Fedora 26 and I'm trying to build polybar according to the instructions provided. I've grabbed all of the dependencies(pretty sure) and I get the following errors on sudo make install.

Hmm, the implicit-fallthrough seems to be on purpose here, no idea why it generated an error here.
Can you give me the output that was generated when you ran cmake ..

I got it to work. I was using a i3-gaps which I had compiled on my own but polybar needed the i3 package from  Fedora's repos. So I switched to i3 and polybar built and installed fine. The n I compiled i3-gaps and removed i3. Everything works now. Thanks a lot though.

I'm also getting this error when building polybar on Fedora Rawhide.  I have all the dependencies installed and built i3-gaps from source.  Heres the output of cmake ..

Found a solution by using clang to build instead of gcc.  Looks to be a duplicate of #572 which is where I found this solution.  I'm running gcc version 7.1.1

The GCC issue is tracked in #572

It seems that this error still occurs if jsoncpp has to be compiled from source, see #753.


Request to export WebChromeViewExtClientImpl class

Would it be possible to export the WebChromeViewExtClientImpl class from ui-webview/src/webview/index.android.ts? I'm trying to extend the functionality of the android webview to support opening a file picker in our code base. To do that, I need to extend the WebChromeViewExtClientImpl class with the methods that handle file pickers and set the new chromeClient on the nativeView.

@Zerfette
I have the same problem. How did you fixed your issue?


Build Solution ended up creating a .dll file instead of an executable

As title, "Build Solution" is actually "Build {filename}" in my Visual Studio interface and it built a .dll file instead of a .exe executable as described in the tutorial

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

ID: 10fd8911-61a3-05cb-4f72-ff128be2a632
Version Independent ID: 9b8e4ffe-d069-f6f3-a326-c33c03f365b4
Content: .NET Core Hello World application with Visual Basic in Visual Studio 2017 - .NET Core
Content Source: docs/core/tutorials/vb-with-visual-studio.md
Product: dotnet-core
GitHub Login: @rpetrusha
Microsoft Alias: ronpet

Closing, as this tutorial no longer exists.


Text Mode behavior on art contest graphs

My notes keeping track of what graphs Text Mode currently works on. Currently comparing with the 2022 art contest gallery at https://www.desmos.com/art.
Many graphs are slow and would benefit from incremental updates. These are not mentioned.
19+

[x] 酒精灯点燃 (lit alcohol lamp)
[x] My Trip Through Europe
[x] Bouquet
[x] desmos app: works fine, but bug from text mode modification during usage:
1. open and switch to text mode
2. start the animation by clicking the desmos app
3. toggle "show grid" in text mode
4. T slider will jump to 43, but it should stay where it was.
- this appears to be a bug with Desmos. Calc.setState(Calc.getState()) on a play-once slider (example) jumps to the end.
[x] The Past Sea & The Present Sea
[x] One Summer Day
[x] Tribar Mandala
[x] Taylor Swift
[x] MMORPG
[x] The Art of Making Pasta
[x] In Orbit
[x] Poker With Dogs
[x] Chess
[x] Magic Cube
[x] Sunset
[x] Self-folding Origami Crane
[x] Painting with Parabolas
[x] Creation and Destruction
[x] Monument of Bernard
[x] Sunset City

17-18

[ ] Black Hole Simulation: line properties are specified with lines: undefined. Defer
[ ] Owl: need to support function exponent, since x(1-x)^2 and f(1-x)^2 should otherwise parse differently.

All issues are fixed or added to other issues


Refined Storage + EnderIO Crash

Package: All the mods 3 remix 1.5.2
Issue:
Crafting a little big batch (220 big reactor casings) , recipes for alloys in Alloy Smelter , cause Server to crash after a few minutes. Issue can only be resolved if the craft gets canceled.
Will post this in EnderIO too.
Crash report:
crash-2019-12-19_15.57.36-server.txt
Any hint how to solve this?

The server was taken down by the watchdog due to lag. You can change the threshold at which this happens by editing max-tick-time in server.properties.
That doesn't solve the lag issue though. You can reduce lag introduced by auto crafting by using large (sufficient) buffers between crafter and machine.
In the end, it's still a good idea to keep crafting requests smaller in order to avoid lag issues.
The issue is being worked on.

This is a performance problem in RS and will be fixed later. Closing as it's a duplicate.


The 'PackageIconUrl'/'iconUrl' element is deprecated

The issue is about a deprecated tag which is 'PackageIconUrl' tag in the Specification.csproj file.
<PackageIconUrl>https://user-images.githubusercontent.com/782127/33497760-facf6550-d69c-11e7-94e4-b3856da259a9.png</PackageIconUrl>

The 'PackageIconUrl'/'iconUrl' element is deprecated. Consider using the 'PackageIcon'/'icon' element instead. Learn more at https://aka.ms/deprecateIconUrl	Ardalis.Specification

This change is already merged, and I'm closing this issue.


[WebToolsE2E] Do Ctrl+F5 of Aspire Starter application a second time and navigate to webfrontend gives 404 page not found error

REGRESSION INFO: Works fine with previous build Aspire 8.0.0-preview.2.23610.1
INSTALL STEPS

Clean machine: Win11 x64 23h2 ENU
Install latest VS 17.9 P2 build from [d17.9-34407.89]
Install Docker Desktop for Windows
CLI workload update and install aspire workload: [version 8.0.0-preview.2.23612.3]
Apply NuGet Feeds

REPRO STEPS

New Aspire Starter Application > AspireStarterApp1 > Use redis checkbox is checked
Open AspireApp1.AppHost > Program.cs
Ctrl+F5 the first time

a. Dashboard comes up successfully
b. Click the endpoint for webfrontend (eg: localhost:5036 in screenshot below)

c. First-time, the webfrontend page loads successfully

d. Close the browser (both webfrontend and dashboard tabs)
e. Close the VS Debug console

Ctrl+F5 again

a. Dashboard comes up successfully
b. Click the endpoint for webfrontend (eg: localhost:5036 in screenshot below)

ACTUAL
Endpoint URL of webfrontend opens with '404 page not found' error

Workaround: Keep trying to hit the endpoint URL from the dashboard. If we wait about a minute or two, eventually the page loads successfully.
EXPECTED
Endpoint URL shows the webfrontend page successfully

Note: I'm seeing this issue with other scenarios too. But I tried to simplify the repro steps above.

I can reproduce this locally on VS Preview but not with dotnet run. We observed that the yaml file written by DCP to configure the Traefik proxy instances is actually written first with a placeholder IP address (e.g. <IP_ADDRESS>) and then updated with the real IP address at a later point. Traefik is started with file-watching flags so it should pick up the changes. Also, the yaml file is not uniquely named between sessions or event AppHost projects so there's a high chance of file-name collisions that could be causing issues too.
@karolz-ms is going to update DCP to make the yaml file name unique per session to alleviate the potential for that causing issues and we'll see if the issue still reproduces.

So this turned out to be an issue with Edge prefetching data from the links on the main page and that cached content getting stuck for no good reason.
We are going to make the yaml file more unique, but it is doubtful that such change will make this issue go away.

Oh wow, we confirmed it's prefetching? Can we disable prefetch for those links we render via an attribute perhaps?

Latest update on this: a DCP fix to adjust timing and detection of Traefik proxy readiness was attempted but ultimately still had issues. There's a new fix being attempted in the dashboard to not display the endpoint URLs until the service is marked as ready by DCP (#1405)

We put a mitigation in place for preview2, but I'm keeping this open in preview3 to track the proxy work and the work to undo the change in aspire.hosting (though we haven't backported as yet).

This should be resolved now with the new proxy


Unable to create entries as AD215223 under $join_domain = "OU=ic"

root@iccluster128:~# msktutil -c --server ad1.intranet.epfl.ch -b 'OU=IC,DC=intranet,DC=epfl,DC=ch' --no-reverse-lookups --computer-name iccluster128
No computer account for iccluster128 found, creating a new one.
Error: ldap_add_ext_s failed (No such object)
	additional info: 0000208D: NameErr: DSID-03100238, problem 2001 (NO_OBJECT), data 0, best match of:
	'DC=intranet,DC=epfl,DC=ch'

Error: ldap_add_ext_s failed (No such object)

This was just me confusing relative and absolute DNs. Fixed by rebasing, but no one caught me in the act ☺


replacing gosteno with lager causing huge performance degradation

Hi @crhino ,
I've found that since commit "replacing gosteno with cf_lager" f97f07c13c79e60a0048975e9639a99e8310ad0a there is a huge performance degradation regarding the requests that can be processed by the gorouter (about 10x times and more in some cases). In this commit there is a replacement of the existing gosteno logging library with the lager one, which seems to cause this performance slowdown.
The following diagrams are all made on AWS - gorouter is running on a c3.2xlarge VM (8x CPU/15GB RAM). I use an application which can handle directly on a single instance about 4000-4500 req/sec and it is scaled to 4 instances. And nGrinder to generate as a loadgenerator. Each request is 1024 bytes and the app replies with 1024 bytes back.
With gorouter v229 commit 8f63d53079e572cbfc1cfba9c07c58499a280224 sending the requests directly to the gorouter the result looks like this:

The same look like if I try to send a fake requests to the router (to an non-existing app), so it can simply reply with 404.
However with gorouter v229 commit f97f07c13c79e60a0048975e9639a99e8310ad0a the same scenario looks like this:

By the way in this last scenario if I fake the requests again I can reach more than 10,000 req/sec. I assume that on a bigger VM could be much more. Unfortunately this is quite resource consuming.
Regards,
Milko

And something in addition that I've noticed is that one of the CPUs of the gorouter VM is utilized much more than the others (above 90%), while some of the other CPUs are less than 50% utilized.

Additionally I replaced my app with NGINX httpserver (using the staticfile-buildpack) and there is no difference with the requests the the gorouter can handle. So I think this is its maximums. I saw a research question on the pivotal about this, but cannot write into there, so I post it here.

@milkotodorov
Thanks for reporting this!
We have found that the commit that caused the performance degrade was 55d71.  The GoRouter was writing two messages as opposed to one in the previous commit in various places.
rt.handler.Logger().Set("Error", err.Error())
rt.handler.Logger().Warnf("proxy.endpoint.failed")

was changed to
rt.handler.Logger().Error("Error", err)
rt.handler.Logger().Info("proxy.endpoint.failed")

We have addressed this issue in commit a8c61 which is part of CF v231.
rt.handler.Logger().Error("proxy.endpoint.failed", err)

We have tested the fix and the results are comparable with commit [f97f07] (https://github.com/cloudfoundry/gorouter/commit/f97f07c13c79e60a0048975e9639a99e8310ad0a) prior to switching the logging framework.
Please let us know if you still see the same performance issue after deploying CF v231.
Regards
@leochu and @shashwathi
CF Routing Team

Hello @milkotodorov,
When you have a chance, please run the same tests against Gorouter in v231 of cf-release. We believe we have resolved the issue and are anxious for your confirmation.
Thank you!

Hi @shashwathi, @shalako, @leochu,
all the submits that you mentioned are quite old - the last one is from 9.Feb. When I posted this issue on 8.Mar I used the latest commit available. I don't think the mentioned submits will improve the performance.
Regards,
Milko

Hello @milkotodorov
Could you please provide the latest sha or final release of cf-release that you have tested with? Your post refers to v229.
Thank you

Hi @shalako,
this can be reproduced with 15e5d4a2173a978f87c0903cdda1eea374afdfbf (and I beleive with the latest too as there's nothing relevant changed).
As I mentioned since commit 8f63d53079e572cbfc1cfba9c07c58499a280224 (replacing gosteno with lager) this issue occurs.
Regards,
Milko

Hello @milkotodorov we believe we have fixed the issue with the following commits:
gorouter:

Upgrades lager to latest (includes fix for json marshalling)
https://github.com/cloudfoundry/gorouter/commit/ec07b7536cf3c0941db3f1bb7f517351f220f856
Make access log streaming optional
https://github.com/cloudfoundry/gorouter/commit/daf6f5a763ec87aef9f9f3e7e2b49677236e6105

cf-release:

Update fixtures for enable_access_log_streaming (just test fixtures being updated for this SHA)
https://github.com/cloudfoundry/cf-release/commit/e6943d3d78e5b038cbf628d35a854fa4c8ef02c9
Spec and template changes
https://github.com/cloudfoundry/cf-release/commit/6dd214a6a7f8bee2784ad55a4061f3753aa28ea7
https://github.com/cloudfoundry/cf-release/commit/16b2cb2d833982f422c51b153063cbcf9ca36637

I have verified that after these commits, a load test against a basic app was 3x faster (in requests/sec). These commits result in the access.log no longer being written to stdout or to gorouter_ctl.log, or streamed to syslog. access.log is still written locally.
Streaming of access log to syslog can now optionally be enabled using router.enable_access_log_streaming.
These changes will be included in cf-release v234.
Please test by deploying cf-release from release-candidate branch and let us know if this resolves the issue.
Thank you!

Hi @shalako,
turning off the access log in a productive environment sounds not like a good solution, especially in a productive environment, don't you think so? As for the fix in the latest lager - I'll give it a try and will give you feedback.
Regards,
Milko

Hi Milko
Access logs will still be written to /var/vcap/sys/log/gorouter/access.log by default. The change was to make sending access logs to also to syslog via stdout optionally and by default set to false. So you should NOT see access log data also being written to /var/vcap/sys/log/gorouter_ctl.log
So access logs will be written as normal, we have not turned them off. Just the optional sending them to syslog.
Let us know how it goes, thx
Cheers

Hi,
I've compiled the latest gorouter and tried replacing only the gorouter without updating the whole CF, but I cannot see some improvement. Additionally in the branch release-candidate of cf-release I cannot see v234.
Regards,
Milko

Hi Milko
If you brought in the latest gorouter as well as the gorouter job template changes in cf-release,  are you seeing access logs also being written to /var/vcap/sys/log/gorouter_ctl.log?
I believe v234 should be released this week
Thanks

@milkotodorov it is not enough to update the gorouter. Templates have changed in cf-release which support configuration changes in gorouter. Please build cf-release from release-candidate branch and retest.

hi @shalako, @markstgodard,
I understand. Are there any possibility to apply these configuration changes on CF without building and deploying the new version (on a already deployed one)?
Thanks

Hi @milkotodorov
Technically yes, however it may get a little more difficult for us to determine what is actually under test.
cf-release:
The cf-release job / template changes related to this is:
https://github.com/cloudfoundry/cf-release/commit/16b2cb2d833982f422c51b153063cbcf9ca36637#diff-dae3917af5c65421e4c84ffe12263cad
These changes basically update the structure of gorouter.yml and make the streaming of access log data to stdout configurable (default to false).
gorouter:
These two shas are important to have in your version of the gorouter:
Upgrades lager to latest (includes fix for json marshalling)
https://github.com/cloudfoundry/gorouter/commit/ec07b7536cf3c0941db3f1bb7f517351f220f856
Make access log streaming optional
https://github.com/cloudfoundry/gorouter/commit/daf6f5a763ec87aef9f9f3e7e2b49677236e6105
The key is to see if access log data is being sent to /var/vcap/sys/log/gorouter_ctl.log or not.
Cheers

@milkotodorov Final release v234 has been cut, and includes immediate fixes to the performance regression. Please upgrade your test environment to this release, rerun your performance tests, and let us know the results?
We do not recommend hot-patching VMs as (1) these changes are ephemeral, and (2) it is much harder for us (or anyone else) to reproduce your environment. We use BOSH exclusively for managing change in our environments as the results are repeatable.

Hi @shalako, thanks for the update. I'll do it with v234. I just wanted to hot-patch the VMs as I had troubles with the upgrade, but will have to do it anyway. I'll keep you posted.

@milkotodorov We're going to close this issue because we haven't heard from you in three weeks. We assume you have confirmed that the performance degradation has been resolved.

Hi @shalako, sorry about this delayed reply. I do confirm that the problem with the performance is fixed with the v234. However I noticed a problem when we scaling the gorouter with  6 or more instance, but this is another issue and I'll open a separate one for it.


Getting error "TypeError: this is not a typed array."

When I try to use the module (buffer from string), I get the following error: TypeError: this is not a typed array.
Using Node v4.3.2.

Should be fixed in version 0.1.1, sorry for the delay


e2e: start of test framework

This commit forms the basis for moving tests in-repo, using the go test framework and a kubeconfig. Next steps would be moving over pluton tests, though much of the destructive abilities of those tests still need implementations through the k8s api. Longer-term this functionality may be implemented through some type of daemon-set. For now we can hack together what we need to reboot nodes and the like.
Looking for feedback on the basis of this before I get too far into porting tests.
cc @aaronlevy @derekparker @yifan-gu @diegs

@aaronlevy The main constructs I envision in addition to what we have is that the getNodes(labelSelector) function returns a Node type defined in the framework package. This type might have the following methods for example:
func (n Node) Reboot() error
func (n Node) Destroy() error (appropriately updates our Ready() function to expect less nodes)
Maybe one could do a reboot with a certain delay before starting the kubelet. Basically any functionality not normally provided directly by the k8s API could go in the framework package to be shared by all tests. I imagine this is mostly destructive in nature.
Also any global state needed to be kept track of about the running cluster should go in the framework package and be exported through functions. Logging functionality might also be setup through the framework package.
Reflecting on this we really should probably only have 1 Cluster object per test run really instead of NewCluster at the start of every test.

Lets start very simple with the actual tests we want to have -- and let that inform us of how/what kind of larger abstractions we need over time. The near-term goal should be functional tests (which we need badly) vs building out a more featured test framework (before we have tests).
For example, the first test we need is just a simple smoke test - can we start just with that and then as we add tests we can later look at building a framework for any painpoints / duplication?

I thought this was the minimal design for writing the smoke test we need. We can get a client and tell when the cluster is ready. We just need some package that coordinate that. The API can still be changed at will as needed.
Maybe if I include the smoke test in this PR it will make more sense what is and isn't needed yet?


Concurrent stream

This implements a system for concurrent handling of items in streams.
Pitch: we don't want to ever work with a Stream<Item = impl Future> for concurrency; what we really want is a ConcurrentAsyncIterator trait which does all the right things for us. That means the solution to "barbara battles buffered streams" is to tell her not to put futures inside of streams, and instead use "concurrent streams" directly.
This is likely a more robust direction than trying to weave a new poll_bg / poll_progress method through every future and async iterator. If we do things right, resolving this issue will come at the overhead of roughly an extra copy.
todos

[x] base function impl based on StreamGroup
[x] make the for_each closure return a future (T_T can't use nightly features here)
[x] write integration tests to validate the impl
[x] split it into a type with methods on it to set the values
[x] convert that into own trait
[x] add a drain method
[x] add a conversion from a regular stream
[x] implement a map method
[x] implement a for_each method
[x] split limit out into its own method
[x] try_for_each to short-circuit on error
[x] leverage a private Try family of traits
[x] implement a collect method

References

Tyler's post
Async Rust user story
Alice's idea
Boats' post elaborating on that idea

This should be good for review now I reckon. It's all implemented and working, just not fully documented and maybe,, smooth? But yeah, I think it's good now for people to start taking a look!

Oh I guess maybe one more TODO item we could do here is remove the Pin<Box> from some of the impls. I think that will require pinning the entire thing, but that's probably fine. This is a consequence of futures being pinned, which we're storing inside of a FutureGroup. A little annoying, but probably OK.

Oh and for anyone wondering about CI: nightly is currently broken because of https://github.com/rust-lang/rust/issues/121708.

@matheus-consoli I think this PR should be ready to be merged - can I ask you to work your magic to enabled CI to pass?

:magic_wand: simsalabim faça o CI funcionar pra mim :magic_wand:


ES6 modules are always in strict mode yet JSLint still require "use strict"; in functions in the module

Relevant specification section
I guess it isn't forbidden to do so, but does it really add anything to require/encourage it when it's redundant?

Thanks. What does the spec consider to be Module Code? Is it the expression given to 'export', or is it the whole code unit that contains 'export'?

From the spec:

Module code is source text that is code that is provided as a ModuleBody. It is the code that is directly evaluated when a module is initialized. The module code of a particular module does not include any source text that is parsed as part of a nested FunctionDeclaration, FunctionExpression, GeneratorDeclaration, GeneratorExpression, MethodDefinition, ArrowFunction, ClassDeclaration, or ClassExpression.

Can you please give an example?

Babel and Traceur interpret this spec as the entire code unit that contains export.
http://stackoverflow.com/questions/34366875/why-does-transform-es2015-modules-commonjs-add-use-strict-in-babel-6
https://babeljs.io/repl/#?evaluate=true&lineWrap=false&presets=es2015%2Cstage-2&experimental=true&loose=false&spec=true&code=const x %3D 1%3B

const myFunction %3D function () {
  const y %3D 2%3B
}%3B

export default myFunction%3B


Add support for multiple components in one story

If I have a component library with components Button and Icon, and I would like to show an icon inside a button, the markup would normally be something like this:
<.button>
  <.icon name="todo" />
  Add To Do
</.button>

But only the component that is assigned to function is accessible:
def function, do: &MyLib.Component.button/1

So in order to work, the above markup inside a story becomes:
<.button>
  <MyLib.Component.icon name="todo" />
  Add To Do
</.button>

Which is not what a user should need to write.

Hi @ArthurClemens !
You might want to check out the documentation about aliases and imports. I think this will solve your problem.

Yes, imports works for me.


Cannot cache ssr page in runtime

Library Affected:
workbox
Browser & Platform:

all browsers.*

Issue or Feature Request Description:
I cannot cache ssr page while using registerRoute
workbox.routing.registerRoute(
    /home/,
    workbox.strategies.networkFirst({
      cacheName: 'home-cache'
    })
  )

/home page is rendered by express, but in dev tools the home-cache is always empty

It works fine when I use a static page like home.html
So how can I get it work when using a server side rendered page?
==============
By the way , the service-worker file is also render by server side
the path is /pwa/sw

Finally I get it out, there are two ways

change the path of service worker file to root directory /sw.js instead of /pwa/sw.js
set scope to ./ when registering service worker, and make sure the resources has service-worker-allowed field in response header
https://developers.google.com/web/tools/workbox/guides/troubleshoot-and-debug

Same issue persists here. Waiting for the stable fix!

Same issue persists here. Waiting for the stable fix!

The two method I metioned above is what webbox official recommand

Same issue persists here. Waiting for the stable fix!

The two methods I metioned above is what workbox official site recommands

Yes, the scoping of the SW looks to be the problem indeed, glad you got it figured out @lynnic26!
@scaledrop, there won't be a fix added to Workbox for this, as setting the correct scope is the recommended (and only) way to do this.


Running add-album on an album already in the queue causes segfault

When I select a song and run add-album, if song(s) from that album are already in the queue pms gives a segfault.

Yikes! I'm getting this too.

@mpnordland: I've just opened a pull request with a fix for this issue. Would be great if you could test it.

@tremby, I tested your pull request and it seems to work fine.

I will try and test this when I get home, it's been a while since I had pms installed.
---- On Fri, 21 Apr 2017 01:07:17 -0400<EMAIL_ADDRESS>wrote ----
@mpnordland: I've just opened a pull request with a fix for this issue. Would be great if you could test it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Don't feel you need to; Kim and I both tested.


How is visitor possible in PHP?

Visitor uses method overloading, dynamic dispatch, which is impossible in PHP. The only use for visitor is if languages do not support double dispatch, but they really do need to support method overloading.
In your example there is no way to switch methods based on the parameters. So the accept method becomes low level, while it is supposed to be high level. The accept methods job is to convert the static compile time (or as defined in the code)- type to the dynamic run type.
Visitor is used to define relationships between concrete types. This is possible in PHP, by using the dynamic features of the language, such as magic methods and variable functions.

No thats not correct. There is a dependency on the type of the visited class, so method overloading is not necessary. Visitor would only use method overloading to dispatch the method calls to visit(), but there is a dependency on the type of the Role thats reflected in the method signature: visit(Group group).
In PHP, the method signature just expresses the same thing, only that the method signature changes to this: visitGroup(Group group). If there is a new class to be visited, you would have to implement a new  visit() anyway (which is by far the greatest downside to this pattern). In PHP, you would also have to change the interface, which I think is not that bad though as the interface would show at first glance all the classes that can be visited.
Also, there are a lot of (OO-) languages that don't support method overloading, but why should you not use this pattern? Have a look at the Python example in Wikipedia: https://en.wikipedia.org/w/index.php?title=Visitor_pattern&section=27#Python_example

So what do you claim? You have implemented double dispatch? This is simply not possible in PHP.

The visitor takes the instance reference as input, and implements the goal through double dispatch.
https://en.wikipedia.org/wiki/Visitor_pattern

In your case the visitor is a structural pattern, not a behavioral. Looking at the UML the pattern you have created is not that different, but you miss the fact that languages are different. I think you miss the entire intend of why the visitor pattern was created in the first place.

I didn't claim I implemented double dispatch. And it is not a necessary prerequisite to implement the Visitor pattern. In fact even the example by Gang Of Four does not use double dispatch.
And I do not miss the fact that languages are different, but you are. I provided you with the Python example that does not use double dispatch either and is just fine.


Setup Validation Stage for Installer in the Foundation PR build

This new stage will download the WindowsAppSDK package from the latest Aggregator Nightly build off main.
It will then proceed to build the installer using downloaded WindowsAppSDK package.
WindowsAppSDK\build\AzurePipelinesTemplates\WindowsAppSDK-BuildInstaller-Steps.yml
is a stripped-down version of
WindowsAppSDKAggregator/build/AzurePipelinesTemplates/WindowsAppSDK-CreateInstaller-Steps.yml
I've also copied over
https://microsoft.visualstudio.com/ProjectReunion/_git/WindowsAppSDKAggregator?path=/build/Scripts/CreateInstallerOverrideHeader.ps1
and
https://microsoft.visualstudio.com/ProjectReunion/_git/WindowsAppSDKAggregator?path=/build/Scripts/ExtractMSIXFromNuget.ps1
into this PR
The plan for the future is to have both builds use the same template which would work for both OneBranch and non-OneBranch builds. The WindowsAppSDKAggregator will have its version deleted and would use the template from this repository.
For now, in the interest of time, we will keep these two templates at the risk of them diverging and the template only works for non-OneBranch builds.
There is a concern that I have with the circular nature of this. What if the installer changes require changes on the WindowsAppSDK NuGet as well? This means that a previous build of the WindowsAppSDK NuGet may not work and as a result, the validation will fail and we will need a way to override this.

/azp run

/azp run

/azp run


Execute Template

Good morning. I am trying to clone the project but it does not show the template as I expect. This is a document that I did step by step from what I am doing.
I appreciate your help.
Execute Template Error.docx

Hello!
Just do not install vue2-admin-lte npm to see the demo.
What you tried is a mockup server (http://localhost:3000)
once again connect url to http://localhost:8080

download of clone to project of vue2-admin-lte
move the project directory
npm install ( i need npm version > 3 )
npm run dev ( wait for seconds )
open your browser and connect url (http://localhost:8080)

Goodnight.
Perform the steps that you comment and here I send you the results. I thank you for your help I could not see the template in operation.
Thank you
Prueba Admin LTE.docx

vue2-admin-lte-master$ node build/dev-server.js

Please do it

@ARCHAMO,
You should git pull vue2-admin-lte.
In windows environment, can't execute multiple npm scripts at once.
So, I add npm-run-all in this project and split dev script into mock and dev-server. If you run only mock or dev-server, you should run npm run mock or npm run dev-server .
If want run servers(mock and dev-server) at the same time, you should run npm run dev (same as before)

Thank you very much now if the template I could see complete. Although it lacks components such as datatables and Forms. But this is excellent. Thank you

@ARCHAMO
datatables and forms are under development. :)


[FEATURE][BuildTime Reduction V1] Add the feature to Remove _recovery_source for KNN field.

Is your feature request related to a problem?
While doing the indexing all the fields which are getting ingested in Opensearch are stored as _source. If user requires they can disable the _source per field or completely for all the fields. But if user does this, the _recovery_source gets added(ref), which gets removed later on.
So overall the whole payload will still be used as a StoredField and impacts the indexing time. The impact on indexing time is high if one of the field is a vector field. In my experiments with 768D 1M dataset I can see a 50% reduction in indexing latency at p90 level.
What solution would you like?
Just like _source where we can specify what fields are included/excluded in _source or completely disable _source, I was thinking to have same capability for _recovery_source. This will ensure that users can remove their fields from _recovery source if required.
What alternatives have you considered?
NA
Do you have any additional context?
The capability needs to be added in Opensearch core. I have already created a GH issue there: https://github.com/opensearch-project/OpenSearch/issues/13490

Closing this GH issue as the main Opensearch PR is merged. Ref: https://github.com/opensearch-project/OpenSearch/issues/13490


[2.0]: Trying to use Second screen fails with 401 unauthorized

We seem to have changed something about the implementation of Second screen, it now seems to fail with 401 unauthorized.
To reproduce

Click on Second screen icon in the top right
Try to create an account or login

Possible point of entry: packages/tokens-studio-for-figma/src/supabase.ts
Might be related to React 18 ?

Fixed locally
Was able to reproduce the 401 error, where "no apiKey was found in the request"

✨ Fixed by adding the SUPABASE_ANON_KEY (accessing + unwrapping vault secret) on the local .env file

The current / long term fix
All releases should be triggered through the GH actions (https://github.com/tokens-studio/figma-plugin/actions/workflows/nightly.yml) to avoid missing environment variables and provide correct tracking parameters (i.e. Sentry)
Follow-up
Audit all environment variables and ensure they are injected through the build (instead of having to recreate .env.* files) https://github.com/tokens-studio/figma-plugin/issues/2788

Confirming this is closed with the addition of env variables


autocmd! TabEnter * :tabmove - cause cpu to occupy 100%

Steps to reproduce
i want to dynamically adjust the order of tabs, test function have issue
reproduce:
1、cat 1.vim
vim9script
autocmd! TabEnter * :tabmove -
2、touch 2.vim
3、vim --clean -c "so ./1.vim" 1.vim
4、:$tab drop 2.vim
executing step four twice resulted in 100% CPU usage and vim can't responds
if autocmd add ++once or use :$tabnew 2.vim replace :$tab drop 2.vim, incomplete functionality
Expected behaviour
Vim responds normally
Version of Vim
VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Dec 13 2023 08:38:15) Included patches: 1-2160
Environment
os: ubuntu18.04
terminal: alacritty
$TERM: xterm-256color
shell: bash4.4.20
Logs and stack traces
No response

What exactly to you mean by incomplete functionality?

if autocmd add ++once or use :$tabnew 2.vim replace :$tab drop 2.vim, incomplete functionality

?

As mentioned by :h :drop:

Windows that are not in the argument list or are not full width will be closed if possible.

It seems what is happening is the following:
Vim is iterating over all tabpages (which triggers the TabEnter autocommand), to clean up buffers not in the argument list.
However, since the TabEnter autocommand triggers, this will confuse Vim and it will keep on iterating over the argument list.
Ctrl-C breaks it however. Note also that :tabmove - will cause an error for the very first tab, since you cannot move it to before the first tab.

I guess we need to block TabEnter autocommands for arg_all_close_unused_windows()

What exactly to you mean by incomplete functionality?

if autocmd add ++once or use :$tabnew 2.vim replace :$tab drop 2.vim, incomplete functionality

?

if i add ++once,  when i try to switch tabpage , it can't adjust the order of tabpage all the time
if i use tabnew,  can't use the same tab for the same file
in addition,  step 4 use :$tab drop 1.vim, repeated execution works normally

As mentioned by :h :drop:

Windows that are not in the argument list or are not full width will be closed if possible.

It seems what is happening is the following: Vim is iterating over all tabpages (which triggers the TabEnter autocommand), to clean up buffers not in the argument list. However, since the TabEnter autocommand triggers, this will confuse Vim and it will keep on iterating over the argument list.
Ctrl-C breaks it however. Note also that :tabmove - will cause an error for the very first tab, since you cannot move it to before the first tab.

i try to check the first tab, but the results are the same. to simplify the results, I removed the judgment limitations
export def TabSort(): void
	var nr: number = tabpagenr()

	if nr > 1 && !CheckBashTab(nr - 1)
		:tabmove -
	endif
enddef

I'll create a PR to fix this soon.

i merge and test, found that if i use :tab drop open four different file, then  use :tab drop  + second or third file name, it will move the tab page to the left, but the last file(fourth) file name can't move left, i don't know if it is a feature

not sure what you mean. please give exact reproduction steps and say exactly what you expect and what (instead) you see

not sure what you mean. please give exact reproduction steps and say exactly what you expect and what (instead) you see

https://github.com/vim/vim/assets/86161857/b1c9ce18-cbcc-4e4c-bf2f-dfa8387c2dcb


Fix for CRLF

Thanks for creating this library! I've been working with it for a couple of months, mostly using the event-based Parser API.
One thing I've noticed is that CRLF line endings are not working (I work on a Windows machine), in that they are resulting in double-line feeds (\n\n) in strings coming out of the library, and incorrect line numbers in Marks.
I believe the fix is very simple. Line 143 of scanner.rs (in read_line_break) should read:
if let ('\r', Some('\n')) = (front, self.buffer.get(1).copied()) {

Similar to line 111, and to the corresponding libyaml implementation (https://github.com/yaml/libyaml/blob/1e66c1e13a50577bd7ad76abec61ba436d0145bd/src/scanner.c#L533)
I cloned locally and made this change, and it did resolve my issue. I have not done any further testing. I'm happy to open a PR but I'm not sure if you're accepting contributions to this repo.

If this is still relevant, please do submit a PR, I would be happy to look at it. :-)


Latest Rename doesn't work perfectly

class A:
  x = 0
  def m(self):
      return self. x + 5

Renaming x or self.x should rename both instances. Currently it only renames one instance.

Actually it does work, it didn't work when I tried the last time. I'll reopen if I can reproduce when it doesn't work


docs: Remove @private from public classes

The new JSDoc now hides classes with @private constructors. This PR removes these annotations, which restores the previous behavior (the constructors were always visible in the doc).

should we get rid of @hideconstructor if the intended behaviour is to make constructors visible?

I don't want these constructors to be visible, but I don't think there is an option to hide them. hideconstructor used to work at some point.

I don't want these constructors to be visible, but I don't think there is an option to hide them. hideconstructor used to work at some point.

Actually, it seems to work right now.

So @private hides the entire class after<EMAIL_ADDRESS>but we can actually do away with just @hideconstructor?

@schmidt-sebastian @jkwlui 👋 Whatup with this one?

Hey :) This will allow us to unpin the JSDoc version and update to the latest version. JSDoc 3.5.1 hides the class if the constructor is marked @private.

@schmidt-sebastian Any possibility for making Transaction constructor public?
I'm trying to implement a common library where I'm using databases additional to firestore and many follow below structure.
Begin
....updates
Commit

Making transaction private makes the code blocks us to follow the standard transaction workflow. Please suggest.

The Transaction class isn't really usable on its own, and making it appear so might confuse some end users. If a user sees that Transaction is easily constructible, they might prefer calling the Transaction constructor rather than runTransaction. If you want to make the class easier to construct on make the requestTag and optional argument, then I would be more than willing to accept your PR. You would still have to cast to any to instantiate the class though.

@schmidt-sebastian  Thanks for the inputs.
Transaction currently takes two arguments

Firestore instance
RequestTag

I see requestTag can be optional as it can be generated from util class if not specified. I would prefer it to be completely removed as already internally its accessing the requestId method from util file when using runTransaction.
Regarding first variable, firestore instance, I think it will be required. Please correct me if i'm wrong.
Additionally, need to add a runTransaction which takes optional argument - maxAttempts so that we can make use of the code from existing runTransaction method by refactoring.
Incase if you can confirm the above approach is fine, I can work on it.
Separating transaction instance has the following benefits

It can be easily integrated with existing orm libraries easily which helps for more reachability
It avoids passing methods for a cleaner code. Just => Create, call transaction CRUD operations, Run.

Your suggestions sound reasonable, as long we intend to expose them without changes to our public API.


Flag Requests

Hello, I wasn't sure where to ask so I'm just going to request here. I was wondering if you could add the cupiosexual, sapphic, achillean, fluidflux flags? Thank you!

Heya, you've come to the right place to ask for flags!
However, the sapphic and achillean flags got an icon on them, making them unsuitable for the current flag rendering system (and also quite unscalable without any good SVG available, which is also definitely not what I want).
I can definitely add the cupiosexual and fluidflux flags. The achillean and sapphic flags would be implemented without any icon on them. I do think the flags having no icon takes away from the experience, so let me know what you think.


Unify command line and config file interfaces

Currently the language server has effectivelly 2 disntinct interfaces that need to constantly be updated when a change in just one of the two is made.
The solution to this would be to unify the interfaces into a single one.
We can pass the command line arguments into the LangServer class and set them as class attributes

This would result into some command line arguments being deprecated


Microsoft Dynamics AX

Microsoft Dynamics AX is no longer the product name :-)  Please update texts to reflect this.

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

ID: 42fe9dec-4097-a3f0-52f6-1236876b9f97
Version Independent ID: 3bf7d15a-afa7-1049-4b88-1b1936638006
Content: License sizing estimator in Lifecycle Services (LCS) - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/fin-ops-core/dev-itpro/lifecycle-services/ax-2012/license-sizing-estimator-lcs.md
Service: ****
Product: dynamics-ax-2012
Technology: ****
GitHub Login: @kfend
Microsoft Alias: kfend

@kurthatlevik, thanks for making us aware of this issue!

The PM said that the License sizing estimator is a feature only available in LCS for AX 2012 projects. Our Content Publishing team is working to move this article from the Finance and Operations repo to the AX 2012 repo.

This article has now been moved to the AX 2012 documentation.


Settings transitions

What ❓
Created standard style SettingsActivity for settings transitions  so we don't need to override exitTransition everywhere.
Changed Discovery -> Settings transition to slide up.
Story 📖
Trello
See 👀
From Discovery

Top Level Settings

Account & Payment methods
(change email is omitted from gif on purpose)

Notifications

Changed Discovery -> Settings transition to slide up.

This feels a bit jarring to me. Agreed with the sentiment, though. How about we remove the transition completely? The Drawer -> Section transition (instantaneous, in this suggestion) should occur before the drawer closes. Gmail on Android is a good example of this.

Gmail is using Fragments, since we're using Activities, it's not possible (we're going from 1 screen with a drawer to a new one). Here's what it looks like with no transition:

Gotcha. The Activities no-transition still feels less interruptive to me—at
least in that GIF format.
On Tue, Feb 12, 2019 at 5:06 PM Izzy Oji<EMAIL_ADDRESS>wrote:

Gmail is using Fragments, since we're using Activities, it's not possible
(we're going from 1 screen with a drawer to a new one). Here's what it
looks like with no transition:
[image: device-2019-02-12-170149 2019-02-12 17_06_10]
https://user-images.githubusercontent.com/1289295/52671235-8333a100-2ee8-11e9-9a49-903013669ebc.gif
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/kickstarter/android-oss/pull/477#issuecomment-462955658,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC9f-f4ro4MJPskZz8A77eBZ8mYzIPChks5vMzrogaJpZM4a4GTX
.


Not able to bundle js

MINGW64 ~/Downloads/ReactBLEScanner $ react-native bundle --platform android --dev false --entry-file index.android.js   --bundle-output android/app/src/main/assets/index.android.bundle   --assets-dest android/app/src/main/res/ Unable to parse cache file. Will clear and continue. [3:18:37 PM]  Building Dependency Graph [3:18:37 PM]  Crawling File System [3:18:37 PM]  find dependencies [3:18:48 PM]    Crawling File System (10967ms) [3:18:48 PM]  Building in-memory fs for JavaScript [3:18:48 PM]    Building in-memory fs for JavaScript (251ms) [3:18:48 PM]  Building in-memory fs for Assets [3:18:48 PM]    Building in-memory fs for Assets (188ms) [3:18:48 PM]  Building Haste Map [3:18:49 PM]  Building (deprecated) Asset Map [3:18:49 PM]    Building (deprecated) Asset Map (89ms) [3:18:49 PM]    Building Haste Map (385ms) [3:18:49 PM]    Building Dependency Graph (11798ms) [3:19:06 PM]    find dependencies (28496ms) bundle: start bundle: finish bundle: Writing bundle output to: android/app/src/main/assets/index.android.bundle C:\Users\schava\Downloads\ReactBLEScanner\node_modules\promise\lib\done.js:10       throw err;       ^

Any news on that?

Closing due to inactivity


[BUG] Opensearch 1.1.0 ShardBulkDocs Metrics is always empty

What is the bug?
ShardBulkDocs Metrics is always empty when calling performance Analyzer API. Other metrics are working.
How can one reproduce the bug?
Steps to reproduce the behavior:

docker compose enclosed
docker-compose.txt

Follow step to activate performance analyzer  : https://opensearch.org/docs/latest/opensearch/install/docker/#optional-set-up-performance-analyzer

Create test  index and POST documents in this index PUT test  (see enclosed)
postdata.txt

while pushing documents, call from your browser : http://localhost:9600/_plugins/_performanceanalyzer/metrics?metrics=ShardBulkDocs,ShardEvents&agg=sum,sum
you 'll get only ShardEvents numbers and no data on ShardBulkDocs
{"CkXsbxtMTDisNx2ahHqrIw": {"timestamp":<PHONE_NUMBER>000, "data": {"fields":[{"name":"ShardBulkDocs","type":"DOUBLE"},{"name":"ShardEvents","type":"DOUBLE"}],"records":[[0.0,27.0]]}}}

What is the expected behavior?
On previous Open Distro 1.13.1 this call was working
What is your host/environment?

Opensearch 1.1.0 Docker

I investigated and found out that there are no more metrics from operation : "shardbulk" available from the API

we have upgraded to 1.2.0, the bug is still here

I face a similar issue somehow with have an opensearch cluster of two nodes, (1 hot and 1 warm), and the shardbulkdocs that we received were always equals to 0, receiving only the shardfetch and sharquery operation (there was no shardbulk operation). when I look into the eventLog files, I see the issue, which is that only the shabulk started event are written, i was not able to see a single finish event over a shardbulk operation:
1667494070000.txt
1667494060000.txt
1667494065000.txt
As an ugly quick fix I manage to patch my rca agent, by removing the WHERE clause that filter events when they are not finished, but it does not solve the root cause at all.
@kkhatua @sruti1312 , Do you have any suggestion to help me to investigate this issue please? Don't hesitate if you need more information.


Request

Can you please share google drive files & h5 model format file please

.h5 format file. Bro my model is suffering from over fitting & very low accuracy , validation accuracy is also not great what should I do ? Over fitting started to occur at 50 epochs itself. I'm running it on Google collab. Please guide me

I have shared .h5 file link.

.h5 format file. Bro my model is suffering from over fitting & very low accuracy , validation accuracy is also not great what should I do ? Over fitting started to occur at 50 epochs itself. I'm running it on Google collab. Please guide me

Try changing split ratio, re-run the epochs code to check if there is any change,also try to increase the epochs value and check


Fixed Typos

I am have some problem when committing new changes to this PR, so make new PR (#804  )


JENKINS: deploying war file through tomcat getting

Hii ,
Iam trying to deploy the war file through jenkins job.But unfortunatly iam getting error like "Host key verification failed." in downstream.
I have enabled SSH authentication from jenkins m/c to tomcat server.

Could you please help me for the same
Thanks!!

Host key verification Failed
1)vi /etc/ssh/sshd_config
PasswordAuthentication yes
2)ssh-keygen
ssh-copy-id jenkins@<tomcat ip/dns>
ssh jenkins@<tomcat ip/dns>
3)give jenkins user full permissions
4)first see manually if you're able to login

Thanks for your reply.
yes! i have logged into the remote system through SSH mannually.Even though its getting error

check host-key that you have generated and sent(i.e public and private),they should match

try to manually copy the public key generated by the jenkins user(master) in .ssh/id_rsa.pub to the tomcat servers authorized_keys file in .ssh directory of jenkins user. if file is not there then create the file

use private_ip it works better for tomcat not public _ip


🟢 Release K8gb v1.0.0

If the Documentation, HelmCharts and pipelines are fixed. If all tests pass, we are ready for Release k8gb:v1.0.0!
K8gb-lite resolves the following issues:

https://github.com/k8gb-io/k8gb/issues/1018
https://github.com/k8gb-io/k8gb/issues/942
https://github.com/k8gb-io/k8gb/issues/933
https://github.com/k8gb-io/k8gb/issues/932
https://github.com/k8gb-io/k8gb/issues/923
https://github.com/k8gb-io/k8gb/issues/566
https://github.com/k8gb-io/k8gb/issues/50
[BUG] can't drop ingress when created from GSLB
[BUG] ingress v1, v1beta1 - must be tested
[BUG] large number of reconciliation cycles, optimize
[FEATURE] install finalizer only for Infoblox
https://github.com/k8gb-io/k8gb/issues/1044
https://github.com/k8gb-io/k8gb/issues/878
https://github.com/k8gb-io/coredns-crd-plugin/pull/45

Closing as discussed in https://github.com/k8gb-io/k8gb/issues/1301#issuecomment-2175388807


Split comments on their on box

Description
Make comments look more like github
Add pr body
sort PRs by  number of comments
only open the first one by defect
Add syntax highlighting

Type of change

Visual improvements

Approving but question about whether to show PRs without comments or not, is still pending.

I would not remove. They are valuable.
Check this PR


Attaching and deleting volumes seems fuzzy

/kind bug
What happened:
Using vsphere as cloud provider,  we created a storageclass and use PersistenVolumeClaims.
VMDKs get created and attached to machines - but when a pod dies, it takes like 5-15 minutes to attach the disk to another VM. The k8s API - or the volume plugin tries to attach a disk when it is still attached to another machine, same for deletion: The volume plugin tries to delete a disk subjectively a million times, this causes error showing in the VSphere console.
Is this normal?

What you expected to happen:
No errors in VSphere
How to reproduce it (as minimally and precisely as possible):
Simply kill a pod using a volume or delete a deployment
Anything else we need to know?:
Environment:

Kubernetes version:
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.9", GitCommit:"57729ea3d9a1b75f3fc7bbbadc597ba707d47c8a", GitTreeState:"clean", BuildDate:"2018-06-29T01:14:35Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.9", GitCommit:"57729ea3d9a1b75f3fc7bbbadc597ba707d47c8a", GitTreeState:"clean", BuildDate:"2018-06-29T01:07:01Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider or hardware configuration:
VSphere

OS:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.4 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.4"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.4 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.4:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.4
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.4"

Kernel:
Linux lx-k8s-x01 3.10.0-693.11.6.el7.x86_64 #1 SMP Thu Dec 28 14:23:39 EST 2017 x86_64 x86_64 x86_64 GNU/Linux

Install tools:
kubeadm

/sig vmware
/assign @divyenpatel
PTAL

@dgabrysch
When Pod is deleted, we should not see disk deletion attempts in VC tasks. Disk should be detached and re-attached to another node, if new pod is provisioned on different node vm.
If pod is in the running state, and we delete the PVC, then this is expected. Kubernetes will keep re-trying deleting PV, but since PV is already attached to the node vm and is in use, disk can not be deleted.
How is the pod provisioned?
Deployment, StatefulSet, DaemonSet or individual pod?
If you can shared yamls, and sequence of steps we can try to reproduce it here to help debug this issue.

Hi @divyenpatel,
of course I can :)
So, this is my example pod:
kind: Deployment
apiVersion: apps/v1beta2
metadata:
labels:
k8s-app: nfs-server-for-testpods
name: nfs-server-for-testpods
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: nfs-server-for-testpods
template:
metadata:
labels:
k8s-app: nfs-server-for-testpods
spec:
containers:
- name: nfs-server-for-testpods
image: /repo:name:v.0.8
command: [/nfs-server.sh]
args: ['/exports/nfs-export']
securityContext:
capabilities:
add:
- SYS_ADMIN
ports:
- containerPort: 2049
protocol: TCP
    volumeMounts:
    - name: nfs-server-volumemount
      mountPath: "/exports/nfs-export"
  volumes:
  - name: nfs-server-volumemount
    persistentVolumeClaim:
      claimName: nfs-server-test-for-testpods

This is my storageclass:
Name:            vmdk-on-vmfs
IsDefaultClass:  No
Annotations:
Provisioner:     kubernetes.io/vsphere-volume
Parameters:      datastore=,diskformat=zeroedthick,fstype=ext3
ReclaimPolicy:   Retain
Events:
This is the PersistenVolumeClaim:
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: nfs-server-test-for-testpods
namespace: default
annotations:
volume.beta.kubernetes.io/storage-class: vmdk-on-vmfs
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
This creates this pvc:
nfs-server-test-for-testpods   Bound     pvc-75103492-9662-11e8-8dc8-005056a561b8   3Gi        RWO            vmdk-on-vmfs      19s
Here is a view of the vsphere logs:

Here is the pv:
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS    CLAIM                                      STORAGECLASS          REASON    AGE
pvc-75103492-9662-11e8-8dc8-005056a561b8   3Gi        RWO            Retain           Bound     default/nfs-server-test-for-testpods       vmdk-on-vmfs                    3m
So far, so fine.
Now I delete the pod with "kubectl delete pod", and get this:

When I do a "describe pod":
Events:
Type     Reason                 Age   From                     Message

Normal   Scheduled              1m    default-scheduler        Successfully assigned nfs-server-for-testpods-57d466bbbc-xqp7m to "the other machines host name"
Normal   SuccessfulMountVolume  1m    kubelet, lx-k8s-x03      MountVolume.SetUp succeeded for volume "default-token-p5wc4"
Warning  FailedMount            1m    attachdetach-controller  AttachVolume.Attach failed for volume "pvc-75103492-9662-11e8-8dc8-005056a561b8" : Failed to add disk scsi0:2.
And then we wait...like forever :)
Kind regards,
David

Is this disk already attached to some other VM, which is powered on?
Based on the error message: Failed to add disk scsiX:Y. Looks like error is - https://kb.vmware.com/s/article/2001217

@divyenpatel - sure, but isn’t that the point? I mean a pod breaks, gets rescheduled, then the disk should be reattached, the bug you mentioned in the KB is happening, but shouldn’t it work with the VSphere storage provider code like this?
We checked this with a colleague, actually it looks like the k8s api is making calls to vsphere to reattach a disk, but the disk is still in use because it hasn’t been detached correctly. This is what I mean by fuzzy :)

@frapposelli @divyenpatel we're also hitting this in prod.

pod X with attached volume X lives in node X
pod X dies and is re-scheduled to another node Y
volume X is stuck in node X and cannot be re-scheduled to node Y for 5-15 minutes

What should happen is:

Kubernetes (vsphere cloud controller?) detecting the re-scheduling of a pod with a volume that needs to go to another node
speaking to VSphere to release the volume from that node on a timely manner
attach it to the node where the pod is re-scheduled

Is this easily fixable / could you show us the relevant code?

I don’t know if I mentioned that, but we also wait like 10-15 minutes until a pod finally gets its disk

@nikopen @dgabrysch  Here is my observation.
Created Storage Class and Pod and PVC using following YAMLs

https://gist.github.com/mattkaar/11afc4b05bf24432ae878b3d98ec03ce#file-mysql-deployment-vsphere-yaml
https://gist.github.com/mattkaar/11afc4b05bf24432ae878b3d98ec03ce#file-vsphere-storage-class-yaml

Tasks observed on vcenter.

We can see Disk got created and pod scheduled on kubernetes-node3 and disk is attached to the node VM.
$ kubectl get deployments
NAME              DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
wordpress-mysql   1         1         1            1           8m
$ kubectl get pods
NAME                               READY     STATUS    RESTARTS   AGE
wordpress-mysql-556d6bd778-xktqp   1/1       Running   0          8m

After Pod is up and running. I deleted the Pod.
$ kubectl delete pod wordpress-mysql-556d6bd778-xktqp
pod "wordpress-mysql-556d6bd778-xktqp" deleted

New Pod deployment is initiated and this time pod got provisioned on kubernetes-node1
$ kubectl get pods
NAME                               READY     STATUS              RESTARTS   AGE
wordpress-mysql-556d6bd778-62cnv   0/1       ContainerCreating   0          6s

I see couple of failed attempt to attach volume to kubernetes-node1 VM.

This is because disk is already attached to node VM - kubernetes-node3 and this VM is powered on. As soon as disk is detached from kubernetes-node3, we can see disk is successfully attached to the kubernetes-node1 VM.
Events on the new pod wordpress-mysql-556d6bd778-62cnv .
Events:
  Type     Reason                 Age              From                       Message
  ----     ------                 ----             ----                       -------
  Normal   Scheduled              1m               default-scheduler          Successfully assigned wordpress-mysql-556d6bd778-62cnv to kubernetes-node1
  Normal   SuccessfulMountVolume  1m               kubelet, kubernetes-node1  MountVolume.SetUp succeeded for volume "default-token-2x9xl"
  Warning  FailedMount            1m (x2 over 1m)  attachdetach-controller    AttachVolume.Attach failed for volume "pvc-d81997fe-a664-11e8-8448-00505691bc49" : Failed to add disk 'scsi1:0'.
  Normal   SuccessfulMountVolume  1m               kubelet, kubernetes-node1  MountVolume.SetUp succeeded for volume "pvc-d81997fe-a664-11e8-8448-00505691bc49"
  Normal   Pulling                1m               kubelet, kubernetes-node1  pulling image "mysql:5.6"
  Normal   Pulled                 1m               kubelet, kubernetes-node1  Successfully pulled image "mysql:5.6"
  Normal   Created                1m               kubelet, kubernetes-node1  Created container
  Normal   Started                1m               kubelet, kubernetes-node1  Started container

I am observing few seconds of delay and not 10 to 15 minutes.
I have tested above scenario with v1.9.11-beta.0.13+089473511b6775 version.

Thank you for the detailed repro-attempt @divyenpatel !
Would you say that the delay we encounter is because of the initial VM being generally unresponsive and unable to release the VMDK because of that? And that the cloud controller code already handles volume movements like other controllers?
@dgabrysch can you also attempt to repro the issue?

@divyenpatel @dgabrysch What I tried:
any normal pod with a volume attached:

cordon the node which the pod lives in
do a sudo docker kill of the container itself within the node
at the same time, do a `kubectl delete po/ --force --grace-period=0

This should mirror a hard eviction event, by force killing the container and rescheduling it to another node.
The events from kube-controller-manager about 20 seconds after the eviction:
0823 09:38:34.870346       6 reconciler.go:231] attacherDetacher.DetachVolume started for volume "pvc-80ab51f0-3354-11e8-932b-005056b771b4"
I0823 09:38:34.875144       6 operation_generator.go:1165] Verified volume is safe to detach for volume "pvc-80ab51f0-3354-11e8-932b-005056b771b4"
I0823 09:38:35.228887       6 operation_generator.go:387] DetachVolume.Detach succeeded for volume "pvc-80ab51f0-3354-11e8-932b-005056b771b4"

I0823 09:38:54.228531       6 reconciler.go:287] attacherDetacher.AttachVolume started for volume "pvc-80ab51f0-3354-11e8-932b-005056b771b4"
I0823 09:38:55.491572       6 operation_generator.go:309] AttachVolume.Attach succeeded for volume "pvc-80ab51f0-3354-11e8-932b-005056b771b4"

It essentially took around 1 minute to fully reschedule, with the initial node being responsive (just cordoned).

However, the bug is the following:

cordon the node which the pod is in
kubectl delete po/[pod] --force --grace-period=0
the pod is immediately rescheduled to a new node. Grab the new node from a kubectl describe [pod] and attempt to Ping it or SSH into it.
you can see that pings/ssh fail to reach the new node. kubectl get node shows it as 'NotReady'.

That node will 'unfreeze' only when the volume becomes available and is attached to the new node. The rescheduled pod might get stuck in a 'scheduling->eviction->scheduling' loop as the new node is 'notready'/frozen. It generally depends on how much load the cluster has, but even in a dormant situation it gives at least 1 minute of freezing.
This is the bug we're hitting. Can you confirm it @divyenpatel ?

Is #502 related/dupe?

seems like it :)

Fixed with https://github.com/kubernetes/kubernetes/pull/67825 , this can be closed

@divyenpatel ,  https://github.com/vmware/kubernetes/issues/500#issuecomment-415227460  in you showed that vmware quickly gives up reattaching disk,  whole operation is just 1 seconds, but in our (and others) case operation was taking 25 seconds before failing, during that time original VM is frozen, in some cases it is long enough for kernel start taking CPU offline, which triggers VM restart by VSphere
Although main bug is found and fixed, there is clearly a difference in the VSphere setup you have and the rest of us, something which probably let the bug slip in the first place. Do you have any information, why in your case attach operation fails fast, without causing collateral damage?


Fix CI workflows

Problem
Currently, whenever a push or pr is opened, lint workflow runs multiple times which should not be the case
Fix
Read a bit on how workflows work and resolve.

Fixed by #10


Table is not rendered

The table under Capitalization in hyphenated compound words is not correctly rendered.

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

ID: ddbd6c9a-7000-1b08-7b83-e03f2a7781ff
Version Independent ID: 6a183599-bb95-007c-41e4-308605df5638
Content: Hyphens - Microsoft Style Guide
Content Source: styleguide/punctuation/dashes-hyphens/hyphens.md
Product: non-product-specific
GitHub Login: @pallep
Microsoft Alias: pallep

This page renders fine on GitHub but not on Microsoft Docs.


No error on selecting the admin in workspace members page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to settings > Workspaces
Open a workspace > Manage members
Select the admin

Expected Result:
User should see an error saying that you can't remove the admi
Actual Result:
User don't get any error
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/74898da7-d233-4571-89b0-fd07558421de
https://github.com/Expensify/App/assets/93399543/6aa752c4-dbf8-4d48-8782-aa68063d0dec
Expensify/Expensify Issue URL:
Issue reported by: @Puneet-here
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686946138481389
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Have posted it before .
https://github.com/Expensify/App/issues/20939?fbclid=IwAR3WWjkMvOYJSvX4BHhFStWBWl-JvYRWo_ftY_Q3Wr3PGelSM7SEyAX63HY

I tested and confirm this has been solved. Closing.


paper would be better

Publishing a paper about this one would be better
not for submission, just clarification

nvm replace with it the presentation poster


Cannot import due to INVALID_FOREIGN_KEY - Invalid foreign key for field "project_logo" in collection "directus_settings"

Describe the Bug
First of all - thanks for building such a great extension!
I'm just getting started and I'm not able to import due to an INVALID_FOREIGN_KEY - Invalid foreign key for field "project_logo" in collection "directus_settings" error.
In the schema-sync docs I could not find any info on how to deal with uploads and if they are also synced. I have even tried copying the uploads folder manually.  But no success.
To Reproduce
I have done an export using:
docker compose exec -it directus npx directus schema-sync export

Then on the remote machine I did:
docker compose exec -it directus npx directus schema-sync import

[11:43:07.048] INFO: Loaded extensions: directus-extension-schema-sync
[11:43:07.054] INFO: Importing everything from: /directus/schema-sync/data
[11:43:07.074] INFO: Stitched 18 partial schema files
[11:43:07.370] ERROR: Failed loading "directus_settings".
[11:43:07.370] ERROR: Failed loading "directus_permissions".
[11:43:07.370] ERROR: Failed loading "directus_folders".
[11:43:07.370] ERROR: Failed loading "directus_roles".
[11:43:07.370] ERROR: Failed loading "schema".
[11:43:07.370] ERROR: Invalid foreign key for field "project_logo" in collection "directus_settings".
    err: {
      "type": "",
      "message": "Invalid foreign key for field \"project_logo\" in collection \"directus_settings\".",
      "stack":
          DirectusError: Invalid foreign key for field "project_logo" in collection "directus_settings".
              at foreignKeyViolation (file:///directus/node_modules/.pnpm/@directus+api@file+api_@aws-sdk+client-sso-oidc@3.569.0_@aws-sdk+client-sts@3.569.0_@types+no_crtpmuhomzjtudzfxjp6matirq/node_modules/@directus/api/dist/database/errors/dialects/postgres.js:87:12)
              at extractError (file:///directus/node_modules/.pnpm/@directus+api@file+api_@aws-sdk+client-sso-oidc@3.569.0_@aws-sdk+client-sts@3.569.0_@types+no_crtpmuhomzjtudzfxjp6matirq/node_modules/@directus/api/dist/database/errors/dialects/postgres.js:21:20)
              at translateDatabaseError (file:///directus/node_modules/.pnpm/@directus+api@file+api_@aws-sdk+client-sso-oidc@3.569.0_@aws-sdk+client-sts@3.569.0_@types+no_crtpmuhomzjtudzfxjp6matirq/node_modules/@directus/api/dist/database/errors/translate.js:26:28)
              at file:///directus/node_modules/.pnpm/@directus+api@file+api_@aws-sdk+client-sso-oidc@3.569.0_@aws-sdk+client-sts@3.569.0_@types+no_crtpmuhomzjtudzfxjp6matirq/node_modules/@directus/api/dist/services/items.js:154:29
              at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
              at async ItemsService.createOne (file:///directus/node_modules/.pnpm/@directus+api@file+api_@aws-sdk+client-sso-oidc@3.569.0_@aws-sdk+client-sts@3.569.0_@types+no_crtpmuhomzjtudzfxjp6matirq/node_modules/@directus/api/dist/services/items.js:86:28)
              at async file:///directus/node_modules/.pnpm/@directus+api@file+api_@aws-sdk+client-sso-oidc@3.569.0_@aws-sdk+client-sts@3.569.0_@types+no_crtpmuhomzjtudzfxjp6matirq/node_modules/@directus/api/dist/services/items.js:275:36
      "name": "DirectusError",
      "extensions": {
        "collection": "directus_settings",
        "field": "project_logo"
      },
      "code": "INVALID_FOREIGN_KEY",
      "status": 400
    }
make: *** [Makefile:46: sync] Fehler 1

Version
directus-schema-sync 2.1.1
directus 10.12.0
Installed Extension Via
Docker file

Sounds like the corresponding file isn't exported/imported before this row is added. Are you exporting directus_files? Which could be a problem since you probably don't have the file locally or?

Closing this due to possibly incorrect configuration.

Sounds like the corresponding file isn't exported/imported before this row is added. Are you exporting directus_files? Which could be a problem since you probably don't have the file locally or?

Not sure. Your docs do not mention such setting. I am just using the defaults.
Can you please point me to where and what needs to be configured?

I put the files belonging to the directus styling in a folder (via directus ui), then added this to 'directus_config.js`:
directus_files: {
		watch: ['files'],
		excludeFields: [],
		query: {
			filter: { folder: { id: { _eq: "d169b6d9-9e72-4adc-aaca-548fa22aeab5" } } },
		},
	},

id equals this folders id


Improve CONTRIBUTING.md

If we can make it easier to contribute to Material-UI, then it could help the project with more contributions.

There is no web page with reproducible steps for making a working dev setup.
CONTRIBUTING.md has incomplete information for making a link-able dev setup, only making reference to tell you that you should use yarn link.
The material-ui workspace does not have scripts to produce a link-able build.
A new contributor must spend days debugging imports, following errors, writing build scripts, opening issues, etc.
To get started

The script
This is not documented:
curl https://codeload.github.com/mui-org/material-ui/tar.gz/next | tar -xz --strip=2 material-ui-next/examples/create-react-app-next
pushd create-react-app-next
    git clone https://github.com/mui-org/material-ui.git --branch next --single-branch --depth 1
    pushd material-ui
        yarn install
        yarn workspace @material-ui/utils build
        pushd packages/material-ui-utils/build
            yarn link
        popd
        yarn workspace @material-ui/system build
        pushd packages/material-ui-system/build
            yarn link
        popd
        pushd packages/material-ui-styles
            yarn link @material-ui/utils
            yarn build
            pushd build
                yarn link
            popd
        popd
        pushd packages/material-ui
            yarn link @material-ui/system
            yarn link @material-ui/utils
            yarn build
            pushd build
                yarn link
            popd
        popd
    popd
    yarn link @material-ui/core
    yarn link @material-ui/styles
    yarn link @material-ui/system
    yarn link @material-ui/utils
    yarn install
    npx yarn-list-link
    yarn start

All commands complete successfully and the dev server starts up, and then fails.

Is this script even correct?
How would a contributor know if it's correct or not, if it's not documented anywhere?
And if it's not automated in the workspace's "scripts":?
Is every contributor supposed to figure out the link-ed build dependency order so that the builds don't use the wrong links?
(The script failed)

Errors with relative imports outside of src/
./src/withRoot.js
Module not found: You attempted to import ../esm/CssBaseline/index.js which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.

NextJs version errors with hooks invariant violation:
curl https://codeload.github.com/mui-org/material-ui/tar.gz/next | tar -xz --strip=2 material-ui-next/examples/nextjs-next
pushd nextjs-next
...

Note that pages will be compiled when you first load them.
{ Invariant Violation: Hooks can only be called inside the body of a function component. (https://fb.me/react-invalid-hook-call)
    at invariant (/Users/foo/Source/nextjs-next/material-ui/node_modules/react/cjs/react.development.js:88:15)
    at resolveDispatcher (/Users/foo/Source/nextjs-next/material-ui/node_modules/react/cjs/react.development.js:1436:28)
    at Object.useContext (/Users/foo/Source/nextjs-next/material-ui/node_modules/react/cjs/react.development.js:1441:20)
    at StylesProvider (/Users/foo/Source/nextjs-next/material-ui/packages/material-ui-styles/build/StylesProvider.js:56:37)
    at processChild (/Users/foo/Source/nextjs-next/node_modules/react-dom/cjs/react-dom-server.node.development.js:2871:14)
    at resolve (/Users/foo/Source/nextjs-next/node_modules/react-dom/cjs/react-dom-server.node.development.js:2795:5)
    at ReactDOMServerRenderer.render (/Users/foo/Source/nextjs-next/node_modules/react-dom/cjs/react-dom-server.node.development.js:3185:22)
    at ReactDOMServerRenderer.read (/Users/foo/Source/nextjs-next/node_modules/react-dom/cjs/react-dom-server.node.development.js:3144:29)
    at renderToString (/Users/foo/Source/nextjs-next/node_modules/react-dom/cjs/react-dom-server.node.development.js:3629:27)
    at render (/Users/foo/Source/nextjs-next/node_modules/next-server/dist/server/render.js:42:16)
    at Object.renderPage (/Users/foo/Source/nextjs-next/node_modules/next-server/dist/server/render.js:102:16)
    at Function.module.exports../pages/_document.js.MyDocument.getInitialProps (/Users/foo/Source/nextjs-next/.next/server/static/development/pages/_document.js:2256
:18)
    at Object.loadGetInitialProps (/Users/foo/Source/nextjs-next/node_modules/next-server/dist/lib/utils.js:45:35)
    at Object.renderToHTML (/Users/foo/Source/nextjs-next/node_modules/next-server/dist/server/render.js:106:36) name: 'Invariant Violation', framesToPop: 1 }

This can be improved

Can we make a testable, standardized script that will produce a working link-able local dev setup for Material-UI?

There is no web page with reproducible steps for making a working dev setup.

You mean testing changes to this package in your app? That's be nice I agree. The whole build infrastructure would do good with an overhaul

Is every contributor supposed to figure out the link-ed build dependency order so that the builds don't use the wrong links?

Of course not. However contributions should primarily be tested in this package. We will not accept changes that were only tested in your code. Personally I didn't have issues with linking packages.

How would a contributor know if it's correct or not, if it's not documented anywhere?

We have a section about this: https://github.com/mui-org/material-ui/blob/next/CONTRIBUTING.md#how-do-i-use-my-local-distribution-of-material-ui-in-any-project
Did you encounter issues with these steps? I'm not familiar with pushd so I can't really help you with the migration of the commands we described.

We have a section about this: https://github.com/mui-org/material-ui/blob/next/CONTRIBUTING.md#how-do-i-use-my-local-distribution-of-material-ui-in-any-project
Did you encounter issues with these steps? I'm not familiar with pushd so I can't really help you with the migration of the commands we described.

Yes I did follow those steps on that page - but I had to add extra steps.
The pushd foo/popd is just like cd foo and cd .. in this case

We have a section about this: https://github.com/mui-org/material-ui/blob/next/CONTRIBUTING.md#how-do-i-use-my-local-distribution-of-material-ui-in-any-project
Did you encounter issues with these steps? I'm not familiar with pushd so I can't really help you with the migration of the commands we described.

Yes I did follow those steps from that page - but I had to add extra steps.
The pushd foo and popd is just like cd foo and cd .. in this case

We have a section about this: https://github.com/mui-org/material-ui/blob/next/CONTRIBUTING.md#how-do-i-use-my-local-distribution-of-material-ui-in-any-project
Did you encounter issues with these steps? I'm not familiar with pushd so I can't really help you with the migration of the commands we described.

Yes I did follow those steps from that page - but I had to add extra steps to resolve linkage across dependencies.
The pushd foo and popd is just like cd foo and cd .. in this case

Yes I did follow those steps from that page - but I had to add extra steps.

Well if our steps are working and your steps not and I don't know how your dev server works how am I supposed to help you?

The steps listed on that page produce this error with the create-react-app-next example:
Failed to compile.

./src/withRoot.js
Module not found: You attempted to import ../esm/CssBaseline/index.js which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.

The steps listed on that page produce this error when you use the link in the create-react-app-next example:
Failed to compile.

./src/withRoot.js
Module not found: You attempted to import ../esm/CssBaseline/index.js which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.

The steps listed on that page produce this error when you use the yarn link @material-ui/core in the create-react-app-next example:
Failed to compile.

./src/withRoot.js
Module not found: You attempted to import ../esm/CssBaseline/index.js which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.

The steps listed in CONTRIBUTING.md produce this error when you use yarn link @material-ui/core in the create-react-app-next example:
curl https://codeload.github.com/mui-org/material-ui/tar.gz/next | tar -xz --strip=2 material-ui-next/examples/create-react-app-next
cd create-react-app-next
	git clone https://github.com/mui-org/material-ui.git --branch next --single-branch --depth 1
	cd material-ui
		yarn install
		cd packages/material-ui
			yarn build
			cd build
				yarn link
			cd ..
		cd ..
	cd ..
	yarn link @material-ui/core
	yarn install
	yarn start

Failed to compile.

./src/withRoot.js
Module not found: You attempted to import ../esm/CssBaseline/index.js which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.

And in the NextJs example:
curl https://codeload.github.com/mui-org/material-ui/tar.gz/next | tar -xz --strip=2 material-ui-next/examples/nextjs-next
cd nextjs-next
	git clone https://github.com/mui-org/material-ui.git --branch next --single-branch --depth 1
	cd material-ui
		yarn install
		cd packages/material-ui
			yarn build
			cd build
				yarn link
			cd ..
		cd ..
	cd ..
	yarn link @material-ui/core
	yarn install
	yarn dev

Failed
{ Invariant Violation: Hooks can only be called inside the body of a function component. (https://fb.me/react-invalid-hook-call)

The steps listed in CONTRIBUTING.md produce this error when you use yarn link @material-ui/core in the create-react-app-next example:
curl https://codeload.github.com/mui-org/material-ui/tar.gz/next | tar -xz --strip=2 material-ui-next/examples/create-react-app-next
cd create-react-app-next
	git clone https://github.com/mui-org/material-ui.git --branch next --single-branch --depth 1
	cd material-ui
		yarn install
		cd packages/material-ui
			yarn build
			cd build
				yarn link
			cd ..
		cd ../..
	cd ..
	yarn link @material-ui/core
	yarn install
	yarn start

Failed to compile.

./src/withRoot.js
Module not found: You attempted to import ../esm/CssBaseline/index.js which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.

And in the nextjs-next example:
curl https://codeload.github.com/mui-org/material-ui/tar.gz/next | tar -xz --strip=2 material-ui-next/examples/nextjs-next
cd nextjs-next
	git clone https://github.com/mui-org/material-ui.git --branch next --single-branch --depth 1
	cd material-ui
		yarn install
		cd packages/material-ui
			yarn build
			cd build
				yarn link
			cd ..
		cd ../..
	cd ..
	yarn link @material-ui/core
	yarn install
	yarn dev

Failed
{ Invariant Violation: Hooks can only be called inside the body of a function component. (https://fb.me/react-invalid-hook-call)

Yes I did follow those steps from that page - but I had to add extra steps.

Well if our steps are working and your steps not

My steps were your steps. You said to link, so I followed those instructions and then copy+pasted the commands.
It links core, styles, system, and utils from branch next.
Your steps are working only for older versions of Material-UI, not using Next branch with Next Examples on a HEAD dev setup
Did anyone try the scripts?

I don't know how your dev server works how am I supposed to help you?

The reason the scripts use curl to download examples and create a fresh server is so that you could see a reproduction without a custom setup, only relying on official examples from the material-ui repo, with Next versions.

Yes I did follow those steps from that page - but I had to add extra steps.

Well if our steps are working and your steps not

My steps were your steps. You said to link, so I followed those instructions and then copy+pasted the resulting commands.
It links core, styles, system, and utils from branch next.
Your steps are working only for older versions of Material-UI, not using Next branch with Next Examples on a HEAD dev setup
Did anyone try the scripts?

I don't know how your dev server works how am I supposed to help you?

The reason the scripts use curl to download examples and create a fresh server is so that you could see a reproduction without a custom setup, only relying on official examples from the material-ui repo, with Next versions.

@eps1lon

Yes I did follow those steps from that page - but I had to add extra steps.

Well if our steps are working and your steps not

My steps were your steps. You said to link, so I followed those instructions and then copy+pasted the resulting commands.
It links core, styles, system, and utils from branch next.
Your steps are working only for older versions of Material-UI, not using Next branch with Next Examples on a HEAD dev setup
Did anyone try the scripts?

I don't know how your dev server works how am I supposed to help you?

The reason the scripts use curl to download examples and create a fresh server is so that you could see a reproduction without a custom setup, only relying on official examples from the material-ui repo, with Next versions.

@eps1lon

Yes I did follow those steps from that page - but I had to add extra steps.

Well if our steps are working and your steps not

My steps are your steps. You said to link, so I followed those instructions and then copy+pasted the resulting commands.
It links core, styles, system, and utils from branch next.
Your steps are working only for older versions of Material-UI, not using Next branch with Next Examples on a HEAD dev setup
Did anyone try the scripts?

I don't know how your dev server works how am I supposed to help you?

The reason the scripts use curl to download examples and create a fresh server is so that you could see a reproduction without a custom setup, only relying on official examples from the material-ui repo, with Next versions.

@eps1lon

Yes I did follow those steps from that page - but I had to add extra steps.

Well if our steps are working and your steps not

My steps are your steps. You said to link, so I followed those instructions and then copy+pasted the resulting commands.
It links core, styles, system, and utils from branch next.
The steps implied in CONTRIBUTING.md are working only for older versions of Material-UI, not using Next branch with Next Examples on a HEAD dev setup
Did anyone try the scripts?

I don't know how your dev server works how am I supposed to help you?

The reason the scripts use curl to download examples and create a fresh server is so that you could see a reproduction without a custom setup, only relying on official examples from the material-ui repo, with Next versions.

I've had a couple of issues myself trying to set up a local distribution, with some similar error messages. I asked for help on Spectrum, so once this is resolved I'd be happy to help try and improve the Contributing guidelines if needed.

Looked into this a bit.
Best course of action right now is to change resolve.module in the webpack.config. For create-react-app users that have ejected this means:
-modules: ['node_modules'].concat(
+modules: [path.resolve('node_modules'), 'node_modules'].concat(

Without ejecting there's currently no workaround until facebook/create-react-app#6207 has landed.
This should fix the following issues:

Module not found: You attempted to import ../esm/* which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.
SyntaxError .... <StylesProvider ...

Another solution would be to set resolve.symlink to false but changes to the linked packages will be ignored in watchmode. I think watchmode for symlinks is planned for webpack 5.
I would need a reproducible example to investigate the hooks error in nextjs. The error is actually way more generic than the message would let you believe.
In addition I've indentified the following contributor features:

script that rebuilds all packages with a watchmode option
link all built packages (using yarn link)
documentation of that workflow

We appreciate any help offered with these items.

I can confirm that changing resolve.modules as suggested works for me. Thanks @eps1lon.

I'm a would-be first time contributor trying to set up my dev env and I'm running into these same problems. SyntaxError .... <StylesProvider ... to be specific. I'm lucky I stumbled upon this issue since facebook/create-react-app#6207 still hasn't been merged.
Maybe it would be a good idea to add the info here to CONTRIBUTING.md?
The approach I'm attempting is:

Use create-react-app to make a fresh react project
Build packages/material-ui
Use yarn link to import my local version into the fresh project
yarn start the fresh project
Make changes to packages/material-ui and rebuild it
Refreshing my fresh project in the browser should pick up the changes I made in packages/material-ui

Is this the recommended way to make a local dev setup?

Is this the recommended way to make a local dev setup?

Not really, you shouldn't need to make a fresh CRA site – you can test it with the docs site:

Fork material-ui on GitHub
Clone your fork
cd material-ui
yarn && yarn start
open http://localhost:3000

That's it! (Other than to optionally add the source repo as an upstream remote, in order to fetch updates)

Should we update the CONTRIBUTING.md guide to remove any mention to yarn link?
I start to think that testing the changes in another project is a pattern we should avoid. The maintainers should be able to review the pull request, the maintainers don't have access to people projects. By removing the mention to yarn link, I would hope that we encourage the creation of reproduction and new demos.

Should we update the CONTRIBUTING.md guide to remove any mention/discourage usage of yarn link?

Sounds good to me. As far as I know yarn v2 will resolve linking issues and duplicate instances of react but we can always reintroduce mention of yarn lint once it becomes stable.

My opinion is that yarn link is a must-have!
Although having a test in your sandbox is surely needed prior to PR.
(if it is not possible to fix yarn link immediately then I'm for removal of the section from CONTRIBUTING.md. Or even better to change it with a note like: "It is not possible to use yarn link at the moment, but will be in the future")

My opinion is that yarn link feature is a must-have!

In my experience this leads to PRs that have neither documentation nor tests updated. By not enabling yarn link we force contributors to write a test or change the documentation which means less friction when reviewing the PR. The contributor knows that this is working because they had some sandbox locally but the maintainer doesn't know that and can't maintain the current solution since they can't know what this implementation should actually achieve.

I suggest we rework the CONTRIBUTING.md page. I think it should start like this:
https://gist.github.com/croraf/c8255bd5d5eb5adca4760cdc80b576a4
any notes and guidelines will be below these sections.
What do you think?

This is what I have atm: https://gist.github.com/croraf/c8255bd5d5eb5adca4760cdc80b576a4
This is what still has to be filtered and included in the document: https://gist.github.com/croraf/9735cb863321aa7d6c0e89b4bdb22e2c

I think that we close, we should have addressed the concerns, we have removed the linkable section. Let's wait to get feedback from the new contributing guide.


[Question] Mermaid screenshot

The image showing the mermaid viewer - where is that from?

Hi @ErikEJ . The screenshot in the README is generated via the extension. A webview is rendered and a mermaid diagram is rendered based on the DB schema.  A t4 template is used to generate the mermaid diagram: https://github.com/badsyntax/vscode-entity-framework/blob/master/src/templates/DbContext.Mermaid.t4

I recognise the README can be improved to explain this better. I'll be doing more .NET dev come the new year and will be improving this extension in the coming weeks/months. I'm aware of all your excellent visual studio extensions, let me know if you'd be interested to collaborate in any form.

A command to launch EF Core Power Tools CLI would be a great addition!


Image Missing on .stats

On both public Nadeko and self-hosted versions of Nadeko, the image is missing/broken for .stats:

If you right-click the missing image and "Open Link" it will take you to https://images-ext-1.discordapp.net/external/Nt7-TlGfBwIXZfH_FsQBlbEk64tnOxN9GqvuEjUVtL0/https/cdn.discordapp.com/avatars/116275390695079945/b21045e778ef21c96d175400e779f0fb.jpg which is super dead.

Kinda related, but the same thing happens to the .xkcd response:

This bug appears to still be present in 2.24.2.


update snipaste to 1.16b2

After making all changes to the cask:

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

Please complete the steps in the template.


Add callibgraphy-ghcXX application to the flake

This change enables using: nix run .#calligraphy-ghc922.

Thanks!

You are welcome, thank you for making calligraphy, it's really neat!


Can't access Linux filesystem through the Linux menu in File Explorer

Version
Microsoft Windows [Version 10.0.22000.258]
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
5.10.16
Distro Version
Debian 2
Other Software
VSCode WSL Remote extension 0.58.2
Powershell 7
Repro Steps
After having installed Debian under WSL2, click on the the Linux icon in File Explorer sidebar.
Expected Behavior
Should have been able to see the WSL file system inside the Linux folder on File Explorer.
Actual Behavior
When I click on the Linux penguin icon, I get the error in the screen shot below:

Interestingly, if I call \wsl$ from File Explorer, I can access the WSL file system from inside the Network folder.
Diagnostic Logs
No response

Same exact issue as @fonnesbeck, using W11, WSL2, Ubuntu 20.04.
I'm able to use explorer.exe . from the WSL terminal and get to the files also, and even pin to Quick Access. Interestingly, that does not allow access to the Linux menu in File Explorer, unlike typing \\wsl.localhost into the File Explorer address bar.
I've been using W11 since the initial Dev Channel release and this issue has been persistent (~6 months). On my other device, running Windows 11 on Arm, I'm able to access the Linux menu in File Explorer with no issue.

I have the same problem, here I did some changes on a registry entry called: "ProviderOrder" in "Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order". When I changed it, it worked again, but, as I have installed WD Discovery, it changes the key again, so I have no access again... It is a problem caused by NAS or Network Drives programs, but as it is a problem of most of all NAS or Network Drives programs, It may be solved by Microsoft, instead of all this programs... becuase they are not just one or two... They are more... Hope this is going to be fixed on the February release of W11. Best Rewards.

Someone has solution plz?