SkyCircleRegion matplotlib plot issue

In #74 @joleroi added docs/plot_compound.py which generates this plot:
http://astropy-regions.readthedocs.io/en/latest//plot_compound.png
As discussed in #74, there is an issue, the region is not drawn correctly.
To @joleroi and me the script looks OK, so we don't know what's wrong.
@astrofrog or @larrybradley or anyone - if you could have a look, that would be great!

The plotting script also looks OK to me, but the plot is wrong.  From looking at the code and the plot results, I think the problem lies somewhere in the WCSAxes transform machinery.  Since the plotted regions are too small, I tried manually changing the radius, but quickly realized that doesn't work (bad points also appear within the shape).  It appears that the distorted/transformed region size and shape are wrong.  @astrofrog?

I need to look into this - no time today but will look asap

@cdeil @joleroi
There is a bug in the plotting script. The sky coordinates should be computed using the WCS from the example dataset and not from a new regular grid (see here).
From the plot one can see that the regions are not circular any more, because of the projection defined in the wcs of the dataset. I presume using SkyCoord.from_pixel(...wcs=wcs) and passing the right WCS should fix the issue.

@adonath - I don't think so. To me it still looks like the circle is simply drawn incorrectly.
Yes, one could create SkyCoords from PixCoords, but that won't change the SkyCircle's being drawn incorrectly.
Note that the circles are really distorted in a weird way, that's not consistent with it being an AIT projection with reference point at the center of the image.
@adonath - Do you still think there's a bug in the script? If yes, can you please fix it and post the new version and output plot somewhere so that I can understand exactly what was wrong?

@adonath and I discussed about the script on friday.

Yes, one could create SkyCoords from PixCoords, but that won't change the SkyCircle's being drawn incorrectly.

Right, it does not change anything. The only difference is that the coordinates (points in the plot) are also distored and indeed some of the points are not marked incorrectly anymore.
What does actually fix the problem is changing the transformation to 'galactic' in the as_patch method of SkyCircle
https://github.com/astropy/regions/blob/master/regions/shapes/circle.py#L199
I don't know if there is a general way to handle this in the transformations but maybe it not necessary since @astrofrog fixed the issue in #77

@joleroi - Thanks for pointing out that SkyCircleRegion.as_patch has transform=ax.get_transform('icrs') hard-coded. That means it's completely broken and could be fixed by changing to ax.get_transform('world')?
@astrofrog - In #77 you still have transform=ax.get_transform('icrs') hard-coded. But I think the discussion there is leaning towards removing SkyCircleRegion.as_patch completely?

@cdeil Yes, the change I proposed doesn't fix the distorted circle, but it makes the plotted coordinates aligned with the transformation the circles are plotted with. This fixes the issue with the incorrectly marked points.
Because of the hard-coded transform=ax.get_transform('icrs'), I presume that the circle is actually drawn correctly and the distortion we see is the natural distortion from the icrs system at the galactic center.
Here is a plot for illustration:

The white line marks the galactic plane.
So, I'm :+1:  to remove the as_patch() methods and let the users define the matplotlib patches.

The hard-coded ICRS is not a problem btw because I always convert the SkyCoord to ICRS first too.

The hard-coded ICRS is not a problem btw because I always convert the SkyCoord to ICRS first too.

I think it is!?
It leads to incorrectly distorted circles because you're using the wrong WCS, no?

@astrofrog  Just to clarify my point: I think if you draw a circle at the galactic center using the icrs coordinate system (I mean not only transforming the center of the circle...), the result is exactly the one we saw in http://astropy-regions.readthedocs.io/en/latest//plot_compound.png or the plot I've made. The result will be distorted, because of the intrinsic distortion of the coordinate system. So it's just the confusion of the two coordinate systems that leads to an unexpected result.

@adonath - just to be clear, I think the plot you showed in your previous command is actually correct (unlike the plotting issue we saw before). If you change the code in my pull request to have galactic instead of ICRS, I'm pretty sure the result will be the same (it looks like the projection you are using is not centered on the Galactic center, so intrinsic spherical distortion is expected regardless of coordinate system?)

@astrofrog Here's the code I used to produce my plot:
import numpy as np
from matplotlib.patches import Circle
from astropy.coordinates import SkyCoord
import matplotlib.pyplot as plt
from astropy.wcs import WCS

wcs_spec =  {'CDELT1': -1.0,
             'CDELT2': 1.0,
             'CRPIX1': 8.5,
             'CRPIX2': 8.5,
             'CRVAL1': 266.416833,
             'CRVAL2': -29.007806,
             'CTYPE1': 'RA---AIT',
             'CTYPE2': 'DEC--AIT',
             'CUNIT1': 'deg',
             'CUNIT2': 'deg'}

wcs = WCS(wcs_spec)

fig = plt.figure(figsize=(6, 6))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8], projection=wcs)

c_1 = Circle((265.07333228, -27.0343367), 5, fc='none', lw=2, transform=ax.get_transform('icrs'), ec='r')
c_2 = Circle((261.003259, -30.6748939), 3, fc='none', lw=2, transform=ax.get_transform('icrs'), ec='y')

ax.imshow(np.zeros((16, 16)), cmap='gray')
ax.add_patch(c_1)
ax.add_patch(c_2)
ax.grid('on', color='w')

l = np.linspace(-10, 10, 100)
b = np.zeros_like(l)
gp = SkyCoord(l, b, frame='galactic', unit='deg').transform_to('icrs')

# add galactic plane
ax.plot(gp.ra.deg, gp.dec.deg, c='w', lw=1, transform=ax.get_transform('icrs'))
ax.set_xlim(0, 15)
ax.set_ylim(0, 15)

plt.savefig('circle_gc_icrs.png', dpi=180)

So the projection is centered on the galactic center (only given in icrs coordinates). And it seems like this is the kind of projection that ax.get_transform('icrs') returns?

@adonath - ah yes, that code is wrong, sorry for the confusion. You should use SphericalCircle instead of Circle as in https://github.com/astropy/regions/pull/77

@astrofrog Hm, but the code I've posted in my previous comment, gives exactly the result I expect. The circle has a radius of 5 deg and is distorted according to (at that position) the coordinate system I use for plotting. And  this is independent whether I plot a Circle or Rectangle or Polygon, so I don't see how SpericalCircle would make a difference in that case.
The same works the other way around: if I add a circle to my plot, drawn in the galactic coordinate system, the circle is not distorted, as I would expect from the coordinate system at that position:
# draw circle in galactic coordinate system
c_1_g = Circle((1, 2), 5, fc='none', lw=2, transform=ax.get_transform('galactic'), ec='r', ls='--')
c_2_g = Circle((-4, 3), 3, fc='none', lw=2, transform=ax.get_transform('galactic'), ec='y', ls='--')

ax.add_patch(c_1_g)
ax.add_patch(c_2_g)

The circles drawn with the galactic coordinate transformation are shown dashed.

I've started a new PR in #85 and will try to finish it quickly tomorrow (not much time this week).
I'll try to review all the discussion and make docs examples out of the nice examples posted here (like the last one by @adonath).

I just now merged #85, which fixes this issue.
There's a lot of good discussion and examples here, that should result in further code or docs improvements. So for that reason, I'm keeping the issue open and moving it to the 0.3 milestone.

@adonath:

The circle has a radius of 5 deg and is distorted according to (at that position) the coordinate system I use for plotting. And this is independent whether I plot a Circle or Rectangle or Polygon, so I don't see how SpericalCircle would make a difference in that case.

The same works the other way around: if I add a circle to my plot, drawn in the galactic coordinate system, the circle is not distorted, as I would expect from the coordinate system at that position:

So the main issue when using Circle/Rectangle/Polygon is that Matplotlib treats the RA/Dec system as a euclidean system and won't take into account (to first order approximation) the cos(lat) factor. Thus, shapes close to the poles will be very squashed along longitude. The reason you don't see this in the Galactic frame is that you are close to the Galactic plane.
SphericalCircle gets around this by drawing a true spherical circle defined as a polygon so that there is no opportunity for Matplotlib to mess it up. Does that make more sense?

SphericalCircle gets around this by drawing a true spherical circle defined as a polygon so that there is no opportunity for Matplotlib to mess it up.

So the proper long-term solution is to say people should use regions, and to add as_poly methods to SkyRegion or all region objects?
This could even start now, with the code from wcsaxes.SphericalCircle moving to regions.SkyCircleRegion.as_poly?

So the proper long-term solution is to say people should use regions, and to add as_poly methods to SkyRegion or all region objects?

No, to_pixel(mode='full') does that conversion to polygons, no need for a new method: https://github.com/astropy/regions/pull/91

No, to_pixel(mode='full') does that conversion to polygons, no need for a new method: #91 (and that implements the code from SphericalCircle)

I don't think that's good API. Polygonisation should be a separate step from sky-pixel conversion, and be reflected in a separate method. Of course it might be useful to re-expose it in one step, but the basic two steps should be separately available.
I'll try to find time to look at #91 to see what you put.

@ceil - the conversion to polygon is a necessary side effect though. From the user's perspective, it's just that they are converting the polygon from sky to pixel coordinates using a better algorithm, so that was the idea with the to_pixel(mode='full') API. But I agree that internally we could have a separate as_poly method to do the polygon conversion. I guess I'm just saying I don't want users to have to do reg.as_poly().to_pixel().

@astrofrog Unfortunately it still doesn't make completely sense to me. As far as I can tell the circle is drawn completely correct into to the coordinate system on the sky (as shown by the grid lines in the figures above) in any case.
As far as I know, internally when drawing matplotlib treats patches as a Path (i.e. rendered as a polygon) and applies any defined transformation to this path. When the patch is declared in the icrs sky coordinate system it means the circle will be squashed along longitude when getting closer to the poles, the same way the coordinate grid lines are squashed. Which seems to be the correct behaviour to me.
What I realize now is that there is the use case to draw an actual circle in the plot e.g. to highlight a source or region, independent of the projection (or transformation) of the image. Which is equivalent to only transforming the circle's centre and converting the circle radius using the local pixel size. And this can be achieved by the SphericalCircle. Is that correct?
The same could be achieved by introducing something like as.get_transform(mode='local'), which would return the local euclidean coordinate system to e.g. the image centre. This would be the same idea as the different modes in .to_pixels(mode=['full', 'local', ...]), but only applied to plotting.
As the different transformation modes are needed anyway for regions (e.g. to compute masks), I think the solution proposed in #91 is totally fine for plotting as well. So apply the transformations in SkyRegion.to_pixel() and then only plot the pixel region. But still I don't see where the matplotlib behaviour would be incorrect.

I guess I'm just saying I don't want users to have to do reg.as_poly().to_pixel().

OK. But as a dev I want it available as two steps, to have code that's simpler to test and maintain.
Of course we can discuss what should be private or public, but I think reg.as_poly().to_pixel() should be the internal implementation.
There could even be different algorithms for sky and pixel regions to polygonise.
MPL has some polygonisation code, so does sphere I think.

Should we schedule a Google hangout tomorrow or next week to discuss this, and generally status / next steps for astropy.regions?

+1 to a hangout today/tomorrow/next week - I think these issues will be easier to discuss that way

+1 for the hangout

@astropy/regions-developers - Let's do a Google hangout early next week to discuss Astropy regions (specifically sky region plotting / connection to wcsaxes, and if we're ready to release 0.2 or not).
Anyone interested - please fill this doodle to find a time:
http://doodle.com/poll/yi9unxmbqdfhhfib
I'll close it tomorrow.

I've pair-coded and discussed an example with @adonath :
http://nbviewer.jupyter.org/gist/cdeil/1df42de70326d577e7964be15b2a7396
This resolves the point from @adonath earlier:

But still I don't see where the matplotlib behaviour would be incorrect.

Matplotlib can't polygonise the sky circle correctly.
Having the WCS is not sufficient.
One needs to know that it's a "sky" circle.
This is what @astrofrog implemented in #91 : correct polygonisation of sky circles.
So I think the conclusion here is still: no concrete action item, we only keep this (very long) issue open as a reminder that we need to write good docs to explain how our regions are exactly plotted with MPL.

We will have the Astropy regions hangout next week Tue 12/6/16 3:00 PM CEST.
@astrofrog - Should I "book" a room or should we just connect ad-hoc?
I've had technical problems either way, not sure what is best.

@cdeil - just create a hangout at that time and invite those attending - less hassle

Astropy regions hangout now:
https://hangouts.google.com/call/fif7cot7srabtbxduatoiedthme

Some of the discussion here led to changes implemented by @astrofrog in #132 .
The latest version of the docs is at http://astropy-regions.readthedocs.io/en/latest/
Should we close this issue?
Or alternatively - can someone split out concrete, actionable suggestions for further changes to other issues?
(the discussion above is very long and hard to re-read and get back to, so I'd prefer to close the issue)

@cdeil - I'll try and review this and open better issues later today or tomorrow


[Bug] pod name conflict in sample kubectl snippet

What are you really trying to do?
Running the benchmark-worker and benchmark-runner pods as documented.
Describe the bug
The kubectl snippets are incredibly helpful and work correctly, with the exception that both snippets use the pod name benchmark-worker. Assuming I'm understanding the proper usage here, both pods are needed when running these tests, but they can't be named the same thing at the same time, and the second command fails.
Minimal Reproduction
> kubectl run benchmark-worker --image ghcr.io/temporalio/benchmark-workers:main     --image-pull-policy Always     --env "TEMPORAL_GRPC_ENDPOINT=temporaltest-frontend:7233"     --env "TEMPORAL_NAMESPACE=default"     --env "TEMPORAL_TASK_QUEUE=benchmark"     --env "TEMPORAL_WORKFLOW_TASK_POLLERS=16"     --env "TEMPORAL_WORKFLOW_ACTIVITY_TASK_POLLERS=8"

pod/benchmark-worker created

> kubectl run benchmark-worker --image ghcr.io/temporalio/benchmark-workers:main runner     --image-pull-policy Always     --env "TEMPORAL_GRPC_ENDPOINT=temporaltest-frontend:7233"     --command -- runner -t ExecuteActivity '{ "Count": 3, "Activity": "Echo", "Input": { "Message": "test" } }'

Error from server (AlreadyExists): pods "benchmark-worker" already exists

> kubectl run benchmark-runner --image ghcr.io/temporalio/benchmark-workers:main   --image-pull-policy Always     --env "TEMPORAL_GRPC_ENDPOINT=temporaltest-frontend:7233"     --command -- runner -t ExecuteActivity '{ "Count": 3, "Activity": "Echo", "Input": { "Message": "test" } }'

pod/benchmark-runner created

### Environment/Versions
K8s v0.27.4

### Additional context
All we have to do is change `-worker` to `-runner` in the second snippet, and all will be well. I'm happy to do it!

Sorry, I missed this issue until now. If you'd like to do a PR for the doc fix, please do. If not, let me know and I'll fix it. Thanks for reporting!


SPIKE: explore feature flag implementation options

Context

Support Expo/React-native
Allow IDEM to toggle feature without redeploying mobile app
(optional) user state

Compare

managed service
open source
in house solution

Option 1 = Flag Smith (https://docs.flagsmith.com/) - Host yourself or let us take care of the hosting.

Option 1 (managed service & open source) = Flag Smith (https://docs.flagsmith.com/) - Host yourself or let us take care of the hosting.
Option 2 (open source) = https://www.npmjs.com/package/react-feature-toggles
Option 3 (in house solution) = https://www.freecodecamp.org/news/how-to-use-feature-toggles-in-next-js-and-react/

Good options

Some more options - open source & hosted - https://docs.growthbook.io/overview

I think this one can wait until we have a stable version.


Confusing: compiler messages ending with ".c", ".cpp", etc didn't appear in build logs

Describe the bug
Some output of #pragma message(...) didn't appear in build logs. It turns out that only those lines ending with ".c", ".cpp", etc are dropped.  Feeling sad :( that it wasted my couple of hours...
Environment

OS: WIndows 10 21H2 64bit
Compiler: MSVC 19.29.30145

To Reproduce
Steps to reproduce the behavior:

Choose a C++ project you like. This repro uses the small libcopp, you can choose any one.
Choose a C++ source file you like.
Create a patch file ports/libcopp/repro-bug.patch that inserts these #pragma message(...) lines:

diff --git a/src/libcopp/utils/uint64_id_allocator.cpp b/src/libcopp/utils/uint64_id_allocator.cpp
index 2ad62f8..f5099c4 100644
--- a/src/libcopp/utils/uint64_id_allocator.cpp
+++ b/src/libcopp/utils/uint64_id_allocator.cpp
@@ -1,3 +1,20 @@
+#pragma message("balabala cpp")
+#pragma message("balabala cpp!")
+#pragma message("balabala .c")
+#pragma message("balabala .c!")
+#pragma message("balabala .cpp")
+#pragma message("balabala .cpp!")
+#pragma message("balabala .cxx")
+#pragma message("balabala .cxx!")
+#pragma message("balabala .cc")
+#pragma message("balabala .cc!")
+#pragma message("balabala .h")
+#pragma message("balabala .h!")
+#pragma message("balabala .hpp")
+#pragma message("balabala .hpp!")
+#pragma message("balabala .other")
+#pragma message("balabala .other!")
+
 #include <ctime>

 #include <libcopp/utils/atomic_int_type.h>

Edit ports/libcopp/portfile.cmake to apply the patch:

    PATCHES fix-x86-windows.patch
            repro-bug.patch # <-- add this line

Re-build: ./vcpkg.exe install libcopp (remove first if it is already installed)
Search "balabala" in build log file buildtrees/libcopp/install-x86-windows-dbg-out, note that messages ending with ".c", ".cpp", ".cxx", ".cc" are missing.

balabala cpp
balabala cpp!
balabala .c!
balabala .cpp!
balabala .cxx!
balabala .cc!
balabala .h
balabala .h!
balabala .hpp
balabala .hpp!
balabala .other
balabala .other!

Expected behavior
All #pragma message(...) outputs should appear in build log file.
Failure logs
no failure logs
Additional context
I'm not sure if it's vcpkg or cmake dropped those outputs.
Copy the compilation command from build log file and execute it manually from build directory(buildtrees/libcopp/x86-windows-dbg/), the compiler outputs all expected messages(although the compilation failed because of other reasons):
balabala cpp
balabala cpp!
balabala .c
balabala .c!
balabala .cpp
balabala .cpp!
balabala .cxx
balabala .cxx!
balabala .cc
balabala .cc!
balabala .h
balabala .h!
balabala .hpp
balabala .hpp!
balabala .other
balabala .other!

I can confirm this works. You should find the logs in install-*-out.log.
Did you install cmake manually?

@JackBoosY See the commit linked above and  its github actions logs.

Note that the output also passes through ninja which actively manages merges the merge of stdout and stderr. That's why ...-err.log is normally empty for cmake builds.

Can you please find the missing logs in install-x86-windows-dbg-err.log?

No, it's empty.
@JackBoosY I think the tag "requires:more-information" can be removed because all information needed to reproduce are provided in the metioned small commit and its triggered github action. The commit didn't do any new stuff than above described repro steps, was there any difference when you "confirmed this works"?

Also I can confirm that cmake outputs all expected messages when building with cmake directly.

And I think this problem is yelling for verbose output/logging feater(#6191).

I can confirm the compiler send those message. So I think this maybe a ninja bug or cmake bug.

And I think this problem is yelling for verbose output/logging feature(#6191).

No, I can also reproduce this using --log-level=VERBOSE.

ninja bug

Or feature.
https://github.com/ninja-build/ninja/blob/d4017a2b1ea642f12dabe05ec99b2a16c93e99aa/src/clparser.cc#L69-L77

I can also reproduce this using --log-level=VERBOSE.

How to use this option? vcpkg doesn't recognize it and I can't find it in vcpkg's docs.
I mean vcpkg should provide an option that enable verbose output/logging for tools it uses. Parsing and filtering output from other tools correctly is difficult and complicated, having verbose logging can make life easier when there're problems.

Pass --log-level=VERBOSE to vcpkg_cmake_configure OPTIONS.

Because it only enables cmake's verbose logging, ninja still drops those message. In fact, cmake doesn't drop those message without this option.

https://github.com/ninja-build/ninja/blob/d4017a2b1ea642f12dabe05ec99b2a16c93e99aa/src/clparser.cc#L69-L77

You still need to verify that this is active in the regular build. Perhaps create a ninja script manually.

@namniav, It looks like this is not a vcpkg issue but about ninja and cmake.


IntelliJ IDEA installed with JetBrains Toolbox duplicated in flutter doctor

JetBrains Toolbox is an official tool for managing JetBrains IDE installations and updates. On macOS, when you install an IDE from JetBrains, two apps will be created.
The location of one will not change, in the user's Applications folder. It's only 1.3MB and not the real IDE:

The location of the other, the real IDE, will change as the IDE is upgraded:

So when I run flutter doctor -v I will see two IntelliJ IDEA, one of which is fake:

Environment
System Info
macOS 12.2.1

Flutter Version
$ flutter --version
Flutter 2.10.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision db747aa133 (2 days ago) • 2022-02-09 13:57:35 -0600
Engine • revision ab46186b24
Tools • Dart 2.16.1 • DevTools 2.9.2

Steps to Reproduce

Install JetBrains Toolbox
Install IntelliJ IDEA in JetBrains Toolbox
Run flutter doctor in Terminal

Logs

flutter doctor -v output

$ flutter doctor -v
[✓] Flutter (Channel stable, 2.10.1, on macOS 12.2.1 21D62 darwin-arm, locale en-US)
    • Flutter version 2.10.1 at /Users/reeky/.flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision db747aa133 (2 days ago), 2022-02-09 13:57:35 -0600
    • Engine revision ab46186b24
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/reeky/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/reeky/Library/Android/sdk
    • Java binary at: /Users/reeky/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/211.7628.21.2111.8139111/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Users/reeky/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/211.7628.21.2111.8139111/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Users/reeky/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Users/reeky/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6777.52/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.64.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.34.0

[✓] Proxy Configuration
    • HTTP_PROXY is set
    • NO_PROXY is localhost,<IP_ADDRESS>,::1
    • NO_PROXY contains localhost
    • NO_PROXY contains <IP_ADDRESS>
    • NO_PROXY contains ::1

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.2.1 21D62 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 97.0.4692.99

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Related issues: #47583 #57642
Related PR: #57963

@reekystive
Thanks for filing the issue, it is not related to the links you've provided.
This is similar to https://github.com/flutter/flutter/pull/88384, I have a fix, just need a test.

Feel free to take this issue,  it is lower on my priority and test is more complex than I thought

Bumping this

Still happens to me.
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.2, on macOS 12.6 21G115 darwin-arm, locale en-PL)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.2)
[✓] VS Code (version 1.71.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

• No issues found!

Reproducible on latest stable and master

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.4, on macOS 12.6 21G115 darwin-arm, locale en-GB)
    • Flutter version 3.3.4 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision eb6d86ee27 (8 days ago), 2022-10-04 22:31:45 -0700
    • Engine revision c08d7d5efc
    • Dart version 2.18.2
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A309
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview 2.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio
    • Android Studio at /Users/nexus/Downloads/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/212.5712.43.2112.8815526/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.3)
    • IntelliJ at /Users/nexus/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.3)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/222.4345.14/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.72.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.6 21G115 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 106.0.5249.103

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

[✓] Flutter (Channel master, 3.5.0-6.0.pre.29, on macOS 12.6 21G115 darwin-arm64, locale en-GB)
    • Flutter version 3.5.0-6.0.pre.29 on channel master at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c738c8aa96 (9 hours ago), 2022-10-12 23:49:12 -0400
    • Engine revision 7638a1463b
    • Dart version 2.19.0 (build 2.19.0-307.0.dev)
    • DevTools version 2.18.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A309
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview 2.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio
    • Android Studio at /Users/nexus/Downloads/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/212.5712.43.2112.8815526/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.3)
    • IntelliJ at /Users/nexus/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Ultimate Edition (version 2022.2.3)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/222.4345.14/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.72.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.6 21G115 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 106.0.5249.103

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

I have submitted a PR to solve this issue, please have a look. 😄


insert mlc-ai-nightly doc: https://mlc.ai/package/

macOS intel, pip 19.2.3
pip install --pre --force-reinstall mlc-ai-nightly mlc-chat-nightly -f https://mlc.ai/wheels
Looking in links: https://mlc.ai/wheels
Collecting mlc-ai-nightly
  ERROR: Could not find a version that satisfies the requirement mlc-ai-nightly (from versions: none)
ERROR: No matching distribution found for mlc-ai-nightly

upgrade pip and try reinstalling, it should work

❯ pip install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/50/c2/e06851e8cc28dcad7c155f4753da8833ac06a5c704c109313b8d5a62968a/pip-23.2.1-py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 19.2.3
    Uninstalling pip-19.2.3:
      Successfully uninstalled pip-19.2.3
Successfully installed pip-23.2.1
❯ pip install --pre --force-reinstall mlc-ai-nightly mlc-chat-nightly -f https://mlc.ai/wheels
Looking in links: https://mlc.ai/wheels
ERROR: Could not find a version that satisfies the requirement mlc-ai-nightly (from versions: none)
ERROR: No matching distribution found for mlc-ai-nightly

@trifolium-wang, which python version are you using?
try this : "pip install -I mlc_ai_nightly -f https://mlc.ai/wheels" on python 3.11

Thanks for your guidance, I can use it after upgrading the python of the conda virtual environment to python3.11.4.


Fix inaccuracy in docs for FilterMethod

I could change the wording here if requested.

Merge branch 'pre-ll' into doc_fix

please rebase instead of introducing the merge commits

@kvark It's fixed now.


Won't download playlist. (SpotifyException) HTTP404 Error. Rate limit?

System Operating System (OS)
Linux
Python Version
3.8 (CPython)
Install Source
GitHub
Install version / commit hash
3.9.4
Expected Behavior vs Actual Behavior
I was trying to download a playlist containing a bigger amount of songs.
I noticed that while fetching the names and looking them up on YouTube, I got random HTTP 404 on requests going to Spotify.
With every run, it randomly appears on songs, that definitely exist (I checked the URL manually).
I'm guessing, that there is a rate limit or something similar on Spotify's end.
My suggestion - that I also already tested locally - would be to retry the failed requests instead of exiting out and to continue downloading the rest instead of just failing.
Steps to reproduce

Try to download a huge playlist

Traceback
Traceback (most recent call last):
  File "/**/venv/lib/python3.8/site-packages/spotipy/client.py", line 245, in _internal_call
    response.raise_for_status()
  File "/**/venv/lib/python3.8/site-packages/requests/models.py", line 960, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api.spotify.com/v1/tracks/22ea9e9wspXjaR7qfqfsdS

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/**/venv/bin/spotdl", line 8, in <module>
    sys.exit(console_entry_point())
  File "/**/venv/lib/python3.8/site-packages/spotdl/console/__init__.py", line 78, in console_entry_point
    song_list = parse_query(
  File "/**/venv/lib/python3.8/site-packages/spotdl/parsers/query_parser.py", line 29, in parse_query
    parse_request(
  File "/**/venv/lib/python3.8/site-packages/spotdl/parsers/query_parser.py", line 107, in parse_request
    song_list = song_gatherer.from_playlist(
  File "/**/venv/lib/python3.8/site-packages/spotdl/search/song_gatherer.py", line 359, in from_playlist
    for result in results:
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 619, in result_iterator
    yield fs.pop().result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/**/venv/lib/python3.8/site-packages/spotdl/search/song_gatherer.py", line 320, in get_song
    song = from_spotify_url(
  File "/**/venv/lib/python3.8/site-packages/spotdl/search/song_gatherer.py", line 43, in from_spotify_url
    raw_track_meta, raw_artist_meta, raw_album_meta = metadata_provider.from_url(
  File "/**/venv/lib/python3.8/site-packages/spotdl/providers/metadata_provider.py", line 11, in from_url
    raw_track_meta = spotify_client.track(spotify_url)
  File "/**/venv/lib/python3.8/site-packages/spotipy/client.py", line 345, in track
    return self._get("tracks/" + trid, market=market)
  File "/**/venv/lib/python3.8/site-packages/spotipy/client.py", line 297, in _get
    return self._internal_call("GET", url, payload, kwargs)
  File "/**/venv/lib/python3.8/site-packages/spotipy/client.py", line 267, in _internal_call
    raise SpotifyException(
spotipy.exceptions.SpotifyException: http status: 404, code:-1 - https://api.spotify.com/v1/tracks/22ea9e9wspXjaR7qfqfsdS:
 None, reason: None

Other details
Easy to go solution would be to wrap "from_url" with the "retry" decorator (https://pypi.org/project/retry/)

I'm having the exact same issue

Same here

Fix it please

Experienced the same event today, and songs would not initiate download. Tried with playlists of varying sizes. Single songs would work, but any playlist greater than 3 or 4 tracks would fail.

Navigate to your working directory (where you are running spotDL) and delete the .spotdl-cache file, then try again
In Windows, the default working directory is your user folder C:\Users\yourname\

It seems like this may be an issue with spotipy?

I am also experiencing this issue.

In my opinion, spotfify-download should handle the http404 or SpotifyException instead just exciting out.
spotify_client.track(spotify_url) Is basically an GET request method.

To everyone in this thread, doing the following has seemed to work with a playlist of 39 songs:
Navigate to your working directory (where you are running spotDL) and delete the .spotdl-cache file, then try again
In Windows, the default working directory is your user folder C:\Users\yourname\

To everyone in this thread, doing the following has seemed to work with a playlist of 39 songs:
Navigate to your working directory (where you are running spotDL) and delete the .spotdl-cache file, then try again
In Windows, the default working directory is your user folder C:\Users\yourname\

I tried it and it still doesn't work.

This fix doesn't work (at least on Linux)

So I fixed it in my fork:
https://github.com/domlysi/spotify-downloader
I'm new to contributing, so I don't really know how to.
But you guys can clone the fork and try it.

For me both workaarounds do not work. Still get the same error

pip uninstall spotdl
pip install -U https://codeload.github.com/spotDL/spotify-downloader/zip/dev

and also the same with workarround from Cauldriva...
Now:
Max Retries reached
Max Retries reached
Found YouTube URL for "Kataklysm - Era of the Merciless" : https://www.youtube.com/watch?v=CePMItmzQLM
Found YouTube URL for "Kataklysm - Open Upon Possession" : https://www.youtube.com/watch?v=dGkB2IyBP8s
Found YouTube URL for "Kataklysm - Wounds" : https://www.youtube.com/watch?v=_muU0Qy1QdM
Found YouTube URL for "Kataklysm - Shivers of a New World" : https://www.youtube.com/watch?v=NSpvID
An after exploring titels it crashes:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 846, in urlopen
return self.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 846, in urlopen
return self.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 846, in urlopen
return self.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 836, in urlopen
retries = retries.increment(method, url, response=response, _pool=self)
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 574, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.spotify.com', port=443): Max retries exceeded with url: /v1/albums/5akcoD7tDHbQMQXEbyxD1U (Caused by ResponseError('too many 429 error responses'))

Maybe it is a restriction on spotify API.
Before I got this error I use the params
--dt 20 --st 10
Now I try with:
--dt 1 --st 1
and everything works find. no 404 errors

Hello, guys. I don't know if it might be the problem, but make sure your Playlist is in "Public". I just changed mine from "Private" to "Public", and it managed to download the songs. I still get some 404 of some songs, tho, but I think that's common as some of them are not in YouTube.

new version has been released. Please update
pip install -U spotdl


This is a test issue

I'm testing that the webhook posts to Discord when there's a new issue.

It worked.


Please document that VS only accepts PEM-encoded ssh key, and how to generate it.

Attempting to connect to the remote system from the connection manager with a key generated with a newer (~2017 and later) ssh-keygen (including the ssh-keygen from LSW Ubuntu and Debian distros, and the one shipped with Git for Windows for VS) results in a bunch of cryptic errors. Upon clicking on the Connect button, the fields are highlighted with a red border, and tooltips on them show unhelphul and contradicting error messages. I was able to trace the issue only by adding the connection using the ConnectionManager command with the --no-verify switch. After that, attempting to fetch headers from the remote system in the same Options/Cross-platform/Connection Manager/Remote Headers Intellisense page resulted in an error message that made sense, to a degree: the message had "OPENSSH is not a supported key type".
Modern varieties of ssh-keygen default to the key in the RFC4716 (a.k.a. "SSH2") format. Quoting the OpenSSH 7.9 manual, which confirms the legacy status of PEM encoding:
     -m key_format
             Specify a key format for the -i (import) or -e (export) conversion options.  The supported
             key formats are: “RFC4716” (RFC 4716/SSH2 public or private key), “PKCS8” (PEM PKCS8 public
             key) or “PEM” (PEM public key).  The default conversion format is “RFC4716”.  Setting a
             format of “PEM” when generating or updating a supported private key type will cause the key
             to be stored in the legacy PEM private key format.

This is not documented for VS, and the solutions to this problem found on SO and other sites date back to 2018 and usually involve using PuTTY keygen or other 3rd party tools for re-encoding the key. This is not a correct solution, as the PEM-encoded key may be generated with any ssh-keygen:

Using C:\Windows\System32\OpenSSH\ssh-keygen.exe, which generates a PEM-encoded key by default, or
by adding the -m PEM switch to any modern ssh-keygen during key generation.

In fact, Windows 10's own ssh-keygen mentioned above also accepts the -m PEM switch, so you may blanket-recommend it for use with VS. The earliest alive ssh-keygen I could find comes with Centos 7 (ssh v7.4p1), and it also defaults to PEM, and also accepts -m PEM option as well (although apparently ignores it; any other value still results in a PEM-encoded key).
In fact, on this very page, in the FIPS-compliant setup section, there is an example of ssh-keygen command without the -m PEM switch.
In the end, it would never hurt to add the -m PEM when generating key for remote debugging in any setup: it is either a no-op for older versions and results in the legacy encoding, good for VS, in newer versions.
Digging to the bottom of this problem took me a whole day of work, so I hope this will help improve the documentation so other people won't step on the same rake I stepped on.
It also worth mentioning in the documentation that the only accepted key types are RSA and DSA, and the DSA algorithm is considered compromised, as revealed in Snowden papers. It was even pulled off from some of the distros, so RSA is the most compatible option.
Command-line demo of the format difference:
Windows 10 ssh-keygen generates PEM-encoded ("SSH1") key by default, accepted by VS Connection Manager:
c:\projects>ver
Microsoft Windows [Version 10.0.19042.685]
c:\projects>ssh -V
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
c:\projects>ssh-keygen -t rsa -N "" -f testkey
Generating public/private rsa key pair.
Your identification has been saved in testkey.
Your public key has been saved in testkey.pub.
[... snip ...]
c:\projects>type testkey
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA7OKvfgBHkSOvIaH0PO8Z4PLmXkgwZUflllkhknB1ZJajXTKG
[... snip ...]
-----END RSA PRIVATE KEY-----

-----BEGIN RSA  indicates the PEM encoding. Adding -m PEM makes no difference, the key is still good for VS CM:
c:\projects>del /q testkey*
c:\projects>ssh-keygen -t rsa -N "" -f testkey -m PEM
Generating public/private rsa key pair.
[... snip ...]
c:\projects>type testkey
-----BEGIN RSA PRIVATE KEY-----
[... snip ...]
c:\projects>del /q testkey*

WSL Debian 10 uses the new, informally "SSL2" encoding, by default:
c:\projects>debian
~$ ssh -V
OpenSSH_7.9p1 Debian-10+deb10u2, OpenSSL 1.1.1d  10 Sep 2019
~$ cd /tmp
/tmp$ ssh-keygen -t rsa -N "" -f testkey
Generating public/private rsa key pair.
[... snip ...]
/tmp$ head -1 testkey
-----BEGIN OPENSSH PRIVATE KEY-----

Note the token OPENSSH where the RSA previously was: this indicates the new RFC4716, informally "SSL2" encoding, not accepted by VS. To be acceptable, the generated key should be saved using the PEM encoding explicitly:
/tmp$ rm testkey*
/tmp$ ssh-keygen -t rsa -N "" -f testkey -m PEM
Generating public/private rsa key pair.
[... snip ...]
/tmp$ head -1 testkey
-----BEGIN RSA PRIVATE KEY-----
/tmp$ rm testkey*

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

ID: 06193e9e-fd69-a41a-6925-d2efde154ceb
Version Independent ID: 1fa4bc03-f595-4df3-5947-8c07b71c79b4
Content: Set up FIPS-compliant secure remote Linux development
Content Source: docs/linux/set-up-fips-compliant-secure-remote-linux-development.md
Product: visual-cpp
Technology: cpp-linux
GitHub Login: @TylerMSFT
Microsoft Alias: twhitney

@kkm000
Thanks for the investigation work and writeup. You may also want to make a suggestion that VS add support for up to date ssh key formats.

@kkm000
Thanks for the investigation work and writeup. You may also want to make a suggestion that VS add support for up to date ssh key formats.

@corob-msft, done: https://developercommunity2.visualstudio.com/t/1305585

@corob-msft, done: https://developercommunity2.visualstudio.com/t/1305585

Thank you for your patience as we work through our backlog. We have received more issues than we can manage at this time. We are closing issues based on their severity, how broadly applicable they are, and whether there is enough information provided to act on the issue. If you believe that this issue should not have been closed, please add a comment explaining why by 3/8/2024. We appreciate your contribution and encourage you to propose changes using public PRs, or submit feedback through our updated control at the top of the page, as we phase out Git Issues for this repo. For more information on our feedback systems, see https://aka.ms/ContentUserFeedback.


Docs -- Add a note explaining tradeoffs when using combineReducers?

Currently in Basics/Reducers/Splitting Reducers it's proposed to return JavaScript object with reducer functions:
...
function todoApp(state = {}, action) {
  return {
    visibilityFilter: visibilityFilter(state.visibilityFilter, action),
    todos: todos(state.todos, action)
  }
}

Although it's the same semantically (as reducers are pure functions), it's not exactly the same as with the switch statement.
In above example and with combineReducers we still need to call the reducer functions in order to calculate the new state which involves unneeded CPU usage.
In previous steps of the tutorial the state was just copied using Object.assign() or the spread operator which is more efficient, as we know those parts won't be changed and we can only call the required reducers.
Am I right here?

Ah... sort of.
In that example, the switch statements are inside of the slice reducers.  We know that we need to construct an object that looks like {todos, visibilityFilter}, so there's definitely no need for a switch statement there.  The only question is how we put together the contents of each slice, and the todoApp function is composing together the two slice reducers and delegating the decision to them.
Also, combineReducers still calls all the slice reducers it was given - the only real difference with the example snippet there is that combineReducers will check to see if all slice reducers returned the same object they did before, and if so, return the same top-level object as well.
It's also important to keep in mind that that page is just introducing the idea of reducers and combining them, not trying to define the most optimized possible way of writing them.
You may also want to read through the Structuring Reducers section, which does go into detail about more advanced usage of reducers.

Indeed there's already a note on this in Structuring Reducers/Using combineReducers.

One frequently asked question is whether Redux "calls all reducers" when dispatching an action. Since there really is only one root reducer function, the default answer is "no, it does not". However, combineReducers has specific behavior that does work that way. In order to assemble the new state tree, combineReducers will call each slice reducer with its current slice of state and the current action, giving the slice reducer a chance to respond and update its slice of state if needed. So, in that sense, using combineReducers does "call all reducers", or at least all of the slice reducers it is wrapping.

Though I still think it would be nice to mention this somewhere in the beginning. I must admit I was wrong about extra CPU usage as only one of the sliced reducers will match dispatched action and actually generate new state, the rest will just return the same slice via switch/default.


Add SadisticMystic as a researcher

@SadisticMystic do you want to be credited by name?

That's fine.

Hm is there any reason the credits for the server repo and the client repo are different? It seems that the server credits isn’t what is used in the credit section on the actual server. It may just need a sync if that’s how that works idk

What credits in the client repo?
I'm pretty sure there are no credits in the client repo.
If you mean the credits on the client website, yeah, those need to be synced.

@Zarel https://github.com/Zarel/Pokemon-Showdown-Client/blob/e5a31785976b0a665bc60316aa58be76b6e07ad6/js/client-mainmenu.js#L1095 this specifically is out of date on the client.

@AustinXII You're linking to a commit from 2017, of course it's out of date.
81befa2760db5c1a212 is also out of date, because it's from 2017. :|

@Zarel oh I didn’t realize that sorry i’m on mobile, I just remembered there being credits on client at one point and I got that after searching the repo. Sorry I should have searched more thoroughly it just seemed like that may have still been being used elsewhere on the client so I thought I’d still bring it up. Thanks for the info on the syncing though :)


too few arguments when throwing user exception

CRITICAL: ErrorException:sprintf(): Too few arguments {\"errFile\":\"\/code\/src\/Keboola\/DbExtractor\/Extractor\/PgSQL.php\",\"errLine\":122,\"errCode\":0,\"```

https://github.com/keboola/db-extractor-pgsql/blob/master/src/Keboola/DbExtractor/Extractor/PgSQL.php#L120

One more https://connection.eu-central-1.keboola.com/admin/utils/logs?file=2018/10/29/04/2018-10-29-04-34-54-5bd67fdea6307-exception

what does it actually mean this error? It is trying to log other error but fails?


fix: error messages quote-edit

What Is the Current Behavior?

Confusing error message is displayed: "400: Bad Request (Adding specified item finished with an error.)"

(Issue Number: ISREST-948)
What Is the New Behavior?

Error message should display: The quote cannot be added to the shopping cart. It contains invalid products.
show Availability
remove "Add to Cart" button

Steps to Repeat

Add product to quote request
Submit quote request
Submit quote via backoffice
Set product to out of stock or offline
View responded quote

Does this PR Introduce a Breaking Change?
[x] No

In regards to the original issue, there is still a lot to do and even the current fix itself only changed the format of the error message a bit but not in the requested way. Or was this discussed with IAD?


The Private Key that Can Sign the data is not found

i dont understand what happened. transfer NEO from Contract Address to Standart Account, get the script signature (already created multi-sig before do the transfer). when tried to copy the trxid to signature wallet 2, this happened.

The same issue.

Thank you!


Check that Rails.configuration is defined before calling

Check that Rails.configuration is defined before calling in on AssetPipelineLoader

But Rails.configuration is never called. Could you explain why this is needed?

I'm very sorry I meant Rails.application.
I'm having throubles when a gem action_mailer loads rails-html-sanitizer which defines the Rails module but there's not really a rails app present.

Thanks for your contribution ❤

Version 1.11.1 released!


Reset Quest buttons in Strategy Room do not affect quest list on the panel

I just tried Dailies and Weeklies buttons in the Strategy Room and they only reset the quests in Strategy Room, not the quest list on the panel. The counters still remain the same even when reloading the panel.

those variable across the tabs/pages/panels are not the same one right?
like toggling info_troll on settings, does not mean toggling it on the panel,
need messaging across the chrome itself...

Yeah, that's what i'm thinking too. For now, the panel and the tabs in Strategy Room are not really connected in real time to each other.

they should be synced actually. they both pull from localStorage.quests
we just need to make sure they do KC3QuestManager.load(); each time so things done and saved on one side also gets loaded and carried over to the other side

I've actually been testing and haven't been able to get to the bottom of it
there is one thing on QuestManager that fixes half the problem though
this.list["q"+questId] = new KC3Quest(); without passing any parameter
with that, the panel will update only is the panel is reloaded
still haven't figured out why it reverts all quests into active mode, when you just go to the home screen, and not reloading the panel. doing so will also revert the strategy room into active quests.

update: found it
checkAndResetQuests is being executed before any API call, which saves the quest list back into localStorage. This means on panel, save() is done first before load() so whatever data is in the panel persists, regardless if strategy room cleared it earlier.
will try a fix


Improve the use of docker

There are some opportunities to improve the use of docker by making an image available rather than needing to build every time.

Can you elaborate more please? Sounds good and it will be helpful to have more details.

The action currently build the docker image on every run which takes about a minute or so. This issue would change that to be done once and uploaded to some image repository so that the image can just be downloaded and run rather than having to be built every time.
This will require changes to the way the workflow is implemented because a release has to be accompanies by a docker image for that release. We will also need to keep an image targeting the main branch up to date so that anyone targeting the default branch are also able to make use of the image. The e2e tests will also need to be changed so that they build and run the latest image on a given branch.

@jdkandersson , are you referring to the publish pipeline and suggesting to reuse the image built during PR validation?


Changing locale and calandar

Since react-dates is based on moment and moment supports many locales and calendars, there should be an easy way to change calendar.
First I want to know what's the proper way of switching locale before react-dates renders the component?
Second I want to know what's the proper way of switching calendar? This one is a little bit more complex. Suppose I want to add moment-jalaali. I have to import it and pass the instance to the react-dates but since react-dates uses it's own imported instance of moment, it will not see moment-jalaali.

moment is a singleton (that's why it's a peerDependency) - when you add a locale plugin, react-dates' moment gets it too.

I am having the same problem, I am trying to change the locale to pt-Br (Brazilian Portuguese) but I can't figure out how.

I am have the same issue.

As @ljharb mentioned, moment is a peer dependency of react-dates not a regular dependency (https://github.com/airbnb/react-dates/blob/master/package.json#L103). This means that when you npm install react-dates, you don't get a separate instance of moment in that tree. Whatever instance of moment you have in your app where you require react-dates is the same instance `react-dates will use.
You can then set the date before you render the component in the way we do in the non-english locale example here: https://github.com/airbnb/react-dates/blob/master/stories/DateRangePicker.js#L177:L191

@BrunoAl moment.locale('pt-br') is probably what you need. I think case is important.

@majapw thanks!!!!!!!!

I arrived here by googling "react dates locale". I think the above should be mentioned in the readme.

@asliwinski a PR would be appreciated :-) that said, this is part of moment.js, so we wouldn't want much more than a sentence and a link to moment's docs.

@majapw You should make locale a prop or let us pass in a local moment instance. Changing the global moment locale isn't good enough for a an international app that server side renders with multiple languages. Now we probably have to change to another datepicker...

If you want to change locales on the fly, you have to create an instance from moment js and then if you change the language, you have to call the change again. This will probably change the date if you already selected one, but I'm sure you can fix that very easily 😇
Working Example
`
...
const [date, setDate] = useState(moment());
useEffect(() => {
moment.locale(i18n.language);
setDate(moment());
}, [i18n.language]);
..
`

Hello, just for anyone looking for a quick solution to trick react-dates into adopting a given locale on every (server-side-)render, use this hack: https://github.com/airbnb/react-dates/issues/327#issuecomment-414840540

I have tried to fixed this locale problem for a couple hours. Then I asked chatGPT and I found something interesting.
chatGPT is add this line when import
import moment from 'moment'; import 'moment/locale/th';


A way to not tone down punctuation and brackets using stylesheet?

Is there a way to override something styles.less to not tone down punctuation and brackets and less important things?  Would like to use for coding so punctuation is still pretty important.  Thanks!

Yeah, you could try to override it in your styles.less file like:
.syntax--punctuation.syntax--punctuation.syntax--punctuation.syntax--punctuation,
.syntax--bracket,
.syntax--brace {
  color: hsl(240, 8%, 48%);
}

Although hiding punctuation in this theme is intentional. It's not for everyone's taste, though.


:+1: group 1 work

[x] contributed to vocabularies
[x] created markdown file
[x] created PR
[x] collaborated in groups of four

@good work keep it up ✨✨


vite2.6+vue3, HRM do not work in child component

Describe the bug
HMR does not work when the child component change
Reproduction
rep: https://github.com/zhenmang/dotc-front-pc
parent-component: dotc-front-pc/src/pages/buy-sell/buy-coin/select-seller.vue
import  children component: import DialogBox from<EMAIL_ADDRESS>System Info
"dependencies": {
    "@element-plus/icons": "0.0.11",
    "element-plus": "^1.1.0-beta.24",
    "smart-rem": "^4.0.0",
    "vite": "^2.6.13",
    "vue": "^3.2.20",
    "vue-router": "^4.0.12"
 }

Used Package Manager
npm
Logs
nothing

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

The file path on the disk is Dialog-Box/Dialog-Box.vue but you imported dialog-box/dialog-box.vue.

Anyway, we'll have better warning messages once  https://github.com/vitejs/vite/issues/964 is implemented.


Handle oversize handling in existing ruleset

Is your feature request related to a problem? Please describe.
Keep seeing the following error in WAF ruleset and now start receiving email too...
Error message: You use a rule that inspects the web request body but doesn't specify handling for oversize body contents. AWS WAF only inspects the first 8 KB of the request body. Edit your rules that inspect the body and specify oversize handling.  Learn more
Describe the feature you'd like
Need guidance or change in cloudformation that how to apply block oversized contents in existing rules
To add a rule that blocks oversized contents -> https://docs.aws.amazon.com/waf/latest/developerguide/web-request-body-inspection.html
Additional context
I tried the following setting but still got error message in "AWSWAFSecurityAutomationsXssRule" ruleset

Also how to add size to an existing match type? new statement?

Is this project abandoned?

Created new waf acl with latest templated #222


Minimal Viable Product for The Education  Trail

The Goal Of This Issues
The goal of this issue is to sift through all the features are required for us to create a minimum working product that can be pushed by the end of next summer to test if there is a user base for The Education Trail.
Minimum Requirements

[ ] Authentication System (Login Page, Web App State Management)
[ ] Public Webpages (Landing Page, Pricing Page, About Us, etc.)
[ ] Dashboard (with Configurable Settings)

Dashboard Features

[ ]  Manage Classes and Class Assignments
[ ]  Create, Look up, and Submit Input on Class that are associated with Colleges/Universities (i.e. Syllabus Requirements, and Teachers)

@NathanDyjak @Blakthorne @wesbyte29 @dansmalr1527 The purpose of this task is to document, discuss, and compile all the necessary features for a minimum viable version of The Education Trail. While there are numerous features that I believe would greatly enhance the application, it's essential that we begin with the absolute essentials to assess whether a user base exists and to establish a solid foundation for the app. This approach will enable us to set a clear objective for the desired state of The Education Trail by the conclusion of the upcoming Spring or Summer. I'm eager to gather input from all of you regarding your thoughts on the aforementioned list. Please share your opinions on its feasibility and potential need for any modifications. Your feedback is highly valued. Thank you!


nit: Correct molecule generated content

A wrong configuration of zuul trigger was merged with #2086
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

/lgtm

/approve


Gh 826 match hbase with accumulo

Codecov Report

:exclamation: No coverage uploaded for pull request base (gh-826-hbase@96069a4). Click here to learn what that means.
The diff coverage is 42.62%.

@@               Coverage Diff               @@
##             gh-826-hbase     #833   +/-   ##
===============================================
  Coverage                ?   62.47%
  Complexity              ?     1196
===============================================
  Files                   ?      528
  Lines                   ?    13784
  Branches                ?     1553
===============================================
  Hits                    ?     8611
  Misses                  ?     4537
  Partials                ?      636

Impacted Files
Coverage Δ
Complexity Δ

...java/uk/gov/gchq/gaffer/function/filter/AreIn.java
61.29% <ø> (ø)
13 <0> (?)

...uk/gov/gchq/gaffer/proxystore/ProxyProperties.java
0% <ø> (ø)
0 <0> (?)

.../converter/schema/SchemaToStructTypeConverter.java
0% <ø> (ø)
0 <0> (?)

...eration/dataframe/FiltersToOperationConverter.java
68.49% <ø> (ø)
66 <0> (?)

...k/gov/gchq/gaffer/store/schema/TypeDefinition.java
37.86% <ø> (ø)
0 <0> (?)

...gaffer/rest/service/GraphConfigurationService.java
90.16% <ø> (ø)
0 <0> (?)

...uk/gov/gchq/gaffer/function/filter/IsMoreThan.java
86.84% <ø> (ø)
17 <0> (?)

...v/gchq/gaffer/function/aggregate/StringConcat.java
85% <ø> (ø)
9 <0> (?)

...ain/java/uk/gov/gchq/gaffer/data/element/Edge.java
88.31% <ø> (ø)
0 <0> (?)

...hes/function/filter/HyperLogLogPlusIsLessThan.java
87.5% <ø> (ø)
16 <0> (?)

... and 45 more

Continue to review full report at Codecov.

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


Return a tree object instead of a flat list.

Return a tree object instead of a flat list and provide functions to produce
pre-order and post-order traversals of the tree. The pre-order traversal yields
the same output as the old behavior: a flat list of visited files without
duplicates.

Great work here!
I can't give a proper review until the weekend (just had a baby yesterday!). Sorry about that.
Thanks for contributing.
Btw, saw your dependency-tree-css lib and wouldn't mind thinking of ways of executing a callback per node during traversal. Would that allow you to use dependency-tree as a depenedency instead of duplicating a lot of the logic?

Congratulations on the baby!
dependency-tree-css was a quick-and-dirty fix to a problem I was having in my Gulp builds. Basically, I wanted a way to find the URL dependencies of a CSS file so that I could copy a minimal set of image and font files to the distribution folder.
I am not sure how easy it would be to merge that functionality to node-dependency-tree, because I added streaming support to dependency-tree-css. Streaming support allows me to pipe the output of something like gulp-less to dependency-tree-css in order to copy the needed files. I process the resulting CSS stream from gulp-less and resolve paths relative to the original LESS file(s). That use case will be the biggest obstacle to overcome.
However, if node-dependency-tree can resolve Less and/or Sass imports, then I probably would not need streaming support. If we can design something functional, I would be happy to implement it and deprecate dependency-tree-css.

Thanks!
Sass support should be there if dependency-tree uses my module
node-precinct to extract dependencies. Less support is a matter of further
generalizing my detective-sass module or rolling a custom detective-less.
On Feb 18, 2015 3:05 PM, "Tom Kohlman"<EMAIL_ADDRESS>wrote:

Congratulations on the baby!
dependency-tree-css was a quick-and-dirty fix to a problem I was having in
my Gulp builds. Basically, I wanted a way to find the URL dependencies of a
CSS file so that I could copy a minimal set of image and font files to the
distribution folder.
I am not sure how easy it would be to merge that functionality to
node-dependency-tree, because I added streaming support to
dependency-tree-css. Streaming support allows me to pipe the output of
something like gulp-less to dependency-tree-css in order to copy the needed
files. I process the resulting CSS stream from gulp-less and resolve paths
relative to the original LESS file(s). That use case will be the biggest
obstacle to overcome.
However, if node-dependency-tree can resolve Less and/or Sass imports,
then I probably would not need streaming support. If we can design
something functional, I would be happy to implement it and deprecate
dependency-tree-css.
—
Reply to this email directly or view it on GitHub
https://github.com/mrjoelkemp/node-dependency-tree/pull/18#issuecomment-74937551
.

@tkohlman great work. I'm going to change things up slightly:

change the object form to using filepaths as indexes to achieve a format desired for https://github.com/mrjoelkemp/sublime-dependents/issues/55. I'm open to arguments against this format.
Make post-order the default traversal method and change the api to asList.

I'll keep most of your code and tests and give you credit for the commit. Thanks for contributing. This is awesome.

@tkohlman Thanks again for the help. I made the tweaks and cut v3.0.0. Check out the readme for the updates.


Fix wrong focus

Proposed solution to fix issue #810

Also, check out my latest changes. I have added a visual mark for buttons in focus. Also, hitting tab will not loop through the elements inside of popup, not entire HTML page.


⚠ Turnos 24x7 has degraded performance

In a783bf3, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1153 ms

Resolved: Turnos 24x7 performance has improved in 0f8ecf8.


Middleware causes over-fetching of User Data from DB

Normal load of the front page causes user to be loaded 9 times!
[nitro-runtime] request: 0.055ms
[nitro-runtime] request: 0.223ms
getting the user
getting the user
[nitro-runtime] beforeResponse: 0.038ms
[nitro-runtime] afterResponse: 0.02ms
[nitro-runtime] beforeResponse: 0.021ms
[nitro-runtime] afterResponse: 0.011ms
[nitro-runtime] request: 0.067ms
getting the user
[nuxt-app] app:created: 0.824ms
[nuxt-app] vue:setup: 0.013ms
[nuxt-app] app:rendered: 0.092ms
[nitro-runtime] render:html: 0.011ms
[nitro-runtime] render:response: 0.009ms
[nitro-runtime] beforeResponse: 0.009ms
[nitro-runtime] afterResponse: 0.013ms
[nitro-runtime] request: 0.082ms
[nitro-runtime] request: 0.051ms
[nitro-runtime] request: 0.051ms
getting the user
[nitro-runtime] request: 0.061ms
getting the user
[nitro-runtime] beforeResponse: 0.048ms
[nitro-runtime] afterResponse: 0.013ms
[nitro-runtime] beforeResponse: 0.025ms
[nitro-runtime] afterResponse: 0.013ms
getting the user
getting the user
[nitro-runtime] beforeResponse: 0.021ms
[nitro-runtime] afterResponse: 0.017ms
[nitro-runtime] beforeResponse: 0.017ms
[nitro-runtime] afterResponse: 0.028ms
[nitro-runtime] request: 0.061ms
getting the user
[nitro-runtime] beforeResponse: 0.029ms
[nitro-runtime] afterResponse: 0.022ms
[nitro-runtime] request: 0.066ms
getting the user
isMemberWithAccessesForActiveAccountId() activeMembership?.access:OWNER
isMemberWithAccessesForActiveAccountId() activeMembership?.access:OWNER
[nitro-runtime] beforeResponse: 0.024ms
[nitro-runtime] afterResponse: 0.016ms
[nitro-runtime] request: 0.049ms
[nitro-runtime] request: 0.045ms
[nitro-runtime] beforeResponse: 0.02ms
[nitro-runtime] afterResponse: 0.016ms
[nitro-runtime] beforeResponse: 0.02ms
[nitro-runtime] afterResponse: 0.025ms

This is due to the defineEvent Handler in server/middleware/authContext.ts
Need to make the middleware more specific to just trpc+rest calls I think, or rethink the middleware approach

this might come in handy.. it's a bit roll your own but not too bad
mport {H3Event, EventHandler} from 'h3'

// Multiple routes
function forRoutes(event: H3Event, routes: string[], handler: EventHandler) {
  if (routes.every(route => event.path === route)) {
    handler(event)
  }
}

// Single route
function forRoute(event: H3Event, route: string, handler: EventHandler) {
   forRoutes(event, [route], handler)
}

export default defineEventHandler((event) => {
  forRoute(event,'/api/auth/profile', (event) => {
    if (!event.context.session?.user) {
      throw createError({
        statusCode: 401,
        statusMessage: "Session not valid"
      })
    }
  })
})


Adding tests for validating remove-clusters command flags

Follow up to https://github.com/GoogleCloudPlatform/k8s-multicluster-ingress/pull/146.
Adding tests to verify flags are validated as expected. This is similar to tests for other commands.
cc @csbell @G-Harmon @perotinus

@perotinus Can you please review this one?

/lgtm unless you want to modify to table-based tests.

Thanks @perotinus
Updated as per comments


Objects do not snap to controller on grab with Oculus Utilities (no OVRAvatar)

Environment

Source of VRTK: Github
Version of VRTK:  d4445f2505fe169e0454cbe2a11d56511efb7c9b
Version of Unity3D: 5.5.3f1
Hardware used: Oculus
SDK used: Oculus Utilities 1.12

Steps to reproduce

Load Example Scene 005
Run scene and grab an object

Expected behavior
Object should snap to controller and follow it's movement
Current behavior
Object snaps to fixed point in space and does not follow the controller

Objects snap correctly when using Oculus Avatar hands.
This issue only happens when Oculus Avatar is not included.

This is because the LocalAvatar game object is still in the scene and for some reason the SDKSetup is still using the LocalAvatar controllers for the model aliases.

If the OculusVR VRTK_SDKSetup script is reset then it doesn't populate incorrectly


cmd+click on files without extension doesn't work in markdown

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

VS Code Version: 1.60.0
OS Version: Linux x64 5.11.0-34-generic snap

Steps to Reproduce:

Create a README.md file
Put a relative link reference to a file without extension. i.e [Dockerfile Reference](sample/Dockerfile)
A popup will show saying: Unable to open Dockerfile.md: Unable to read file '/path/to/project/sample/Dockerfile.md' (Error: Unable to resolve non-existing file '/path/to/project/sample/Dockerfile.md'). And it will have a button to "Create File"

It was working before the update, so I think it is related to PR 130815

This is also happening to me on VS Code on Mac.
It will open the file though, but it is also displaying the window to create the file.


New package: AllenSDK v0.1.0

Registering package: AllenSDK
Repository: https://github.com/brendanjohnharris/AllenSDK.jl
Created by: @brendanjohnharris
Version: v0.1.0
Commit: e4d806a8c4f2d7b89be9d75d14380002c357dbbe
Reviewed by: @brendanjohnharris
Reference: https://github.com/brendanjohnharris/AllenSDK.jl/issues/1

Please add a description and some documentation before registering. At the very least, you should describe the purpose of the package in the README, and give a basic usage example.


Fix filtering by name

closes https://github.com/ChainSafe/Multix/issues/286

Hehe I do and realized pretty quickly! Also if we start having an address book it'll be handy.


Issue is while Updating the LimitMonitor Older Python2.7 code to latest Version.

Hi Team,
Currently we are using the LimitMonitor Older version which is in python2.7 code from this link: https://solutions-us-west-2.s3.us-west-2.amazonaws.com/limit-monitor/v4/limits.zip. As we know AWS is stopping the support for Python2.7 on lambda service, Hence I am trying to Update the existing Limit monitor code to Python3.8. But I realized that current LimitMonitor newer version 5.3.4 is available in Node js, released on 05/21 not on Python.
Is there anyway we can get the LimitMonitor newer version in Python3? Any suggestions are much appreciated.
Thanks,
Raju

Hello,
@Trinadharaju I would recommend trying out the latest release, preferably start with PoC and let us know your experience. We do not have any plans to release the solution in python.
Please feel free to let us know if there are any further questions.

closing due to inactivity


Issues with Session State

Original issue by oltipreka on 2021-01-09 10:41:16+00:00
Hi guys,
First, congratulations for the great idea of creating an analytics tool for Streamlit.
I am having an issue when using Streamlit_analytics with a Login class for single user given as an argument within get_session_state
Is there any rule where to precisely include insert .start_tracking() and .stop_tracking()  within a Streamlit app?

Comment by jrieke on 2021-01-10 02:42:29+00:00
Hey @oltipreka, thx for trying it out! Oh yeah it could be that this causes problems because streamlit-analytics uses session state to track widget interactions (and getting session state twice with different parameters is problematic). Could you post a short code snippet of how you use session state so I can see how to accomodate it?
Btw this is a super early prototype so please keep reporting if sth doesn't work ;)

Comment by jrieke on 2021-12-29 02:03:55+00:00
You can use Streamlit's official session state feature now, which shouldn't cause these problems. Closing.


Failure in the Build and Run phase

Description:
I created a new project and when I try to build it (push the button "Build and Run") I got an error: "Error while launching run and debug: Build process failed" (see attachement)

. It happens for every project also those in the examples.
If I run the build from the terminal (mvn clean install), the build succeeds.
I use VSCode ver 1.90.2, MI plug in 1.0.4 and MI <IP_ADDRESS>
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

i restarted VS Code for updates and it works now


feat: Add select / deselect all to table filter menu #602

Add Select and Deselect all functionality to filter menu

Thanks @aalencar. Please have a look at feat/alternative-issue-602 branch for an alternative, non-hacky, solution and let me know what you think

Thanks for providing an alternative, @mturoci !
I like the idea of having a new component for Contextual Menu and not using setTimeout to trigger the changes.
But I noticed that the current solution is broken when we have 2 filterable columns. The bug is in onFilterChange. Working on a fix.

@mturoci I fixed the issue above, and added other changes to feat/alternative-issue-602.
One of the missing fixes was persisting the checkbox status after the contextual menu was closed. For that we needed to set the checked property of each item in the filters state upon initialisation. This raises a problem: by setting checked we now have a controlled component and we need to set ContextualMenu state when the checkboxes are clicked. To achieve that I passed a callback to onFilterChange that has the access to ContextualMenu filters used to manage the checkbox state.
Let me know what you think of the solution.

I just realized that I might have overlooked the logic for tags. Taking a look at it.

@aalencar if you decided to take the approach proposed in feat/alternative-issue-602, can you please also switch branch for this PR? The review will be easier that way.

@mturoci done.

To achieve that I passed a callback to onFilterChange that has the access to ContextualMenu filters used to manage the checkbox state.

This seems to be way more complex than necessary. IIUC, what you do basically is:

checkbox is clicked
call parent onFilterChange
from within top-level component (onFilterChange) call the callback to update context menu state

I would suggest a simpler approach, which doesn't require any callback:

checkbox is clicked
update menu state right away, then call original onFilterChange callback

Or maybe I am missing something?

update menu state right away, then call original onFilterChange callback

onFilterChange() is not the event handler but instead creates a custom handler for each filter.
We can't update right away because we have to update the state from within the handler which is returned by onFilterChange, and that's why we also pass a callback to onFilterChange.

We can't update right away because we have to update the state from within the handler which is returned by onFilterChange, and that's why we also pass a callback to onFilterChange.

I still don't understand, why would we have to update the state within the handler and not directly? You can refactor the code, no need to stick with what is there currently.

why would we have to update the state within the handler and not directly

Because we want to update the ContextualMenu's state on click and that has to be done from within the handler.

@mturoci applied your suggestions. Ready to be reviewed again.


Badness dashboard

When we'll be happy with the dashboard on master I'll pass it to 3.0 and 2019.1.
Note that to test it, you need to explicitly call
./generate-dashboards.sh -v master

@slivne can you see who can take a look at this dashboard?

@glommer / @avikivity - please provide feedback

@avikivity / @glommer ping
should we split this to

coordinator side errors (then write/read unavail/timeout), storage_proxy - coordinator errors (if there are such)
replica (local write/read errors), aio-errors

I don't see a lot of value in splitting this already summarized dashboard in two.
Errors are errors.
Maybe we should log c++ exceptions as well, although honestly I haven't really used that metric in practice much.
This seems like a great start to me

See #575

I have added the number of exceptions, as it can potentially help identify times of peaks in the number of exceptions and exceptions storm.


CAMEL-21323 - Camel-AWS-Secrets-Manager: Add a PutSecretValue operati…

…on to producer
Description

Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally from root folder and I have committed all auto-generated changes.

/component-tests aws


Fix variants filter in discounts

Closes #571

Current coverage is 58.91% (diff: 100%)

Merging #574 into master will increase coverage by 0.03%

@@             master       #574   diff @@
==========================================
  Files            94         94
  Lines          4265       4264     -1
  Methods           0          0
  Messages          0          0
  Branches        444        444
==========================================
+ Hits           2511       2512     +1
+ Misses         1658       1657     -1
+ Partials         96         95     -1

Powered by Codecov. Last update 6574844...cffe3db


Crashing: Failed to Create Model

Game keeps crashing.
crash-2022-09-05_21.24.19-client.txt
Forge Version: 1.18.2 - 40.1.73
Fish of Thieves: Latest Forge
Cloth Config: Updated to latest and crash persists.

how did you fix it?


add channel-specific recipes

This commit adds two recipes, one for each of our public packagecloud
repositories. This is to facilitate our internal use case of
configuring a system to use both current and stable. For example, get
chef-client from current (for nightly builds) but install
chef-server-core from stable.
cc: @chef-cookbooks/engineering-services

:+1:

:+1: modulo travis oddities.

Travis is because we don't have a .travis.yml. Because reasons.


Invalid Plug-in File

Hello,
i tried to install this plugin but it doesn't work: "Invalid Plug-in" File.

Do you tried this plugin in the last days? Or do you have an instruction guideline for me? We use the version 20.1 of APEX.
Thanks a lot, i really need this very nice plugin!
Best regards
Mirko

Hi Mirko!
The plugin was created on APEX 22.2 or later, so what you can do is to create the plugin from scratch and copy the files and attributes from a later version of apex.
Try to install my application on apex.oracle.com and from that copy the plugin as it was mentioned above.

Br,
Richard


Remove try-except from save_grids()

Currently, save_grids() allows writing to the netCDF to fail without crashing the model via the use of a try-except statement.
This can be problematic as it:

Will allow an unproductive model to continue using computational resources without recording data
Allows a model with checkpointing to continue recording checkpoints beyond the time at which data is being or has been written to the netCDF

Barring some rational for keeping this in the code, I will implement a "bugfix" to remove this in a few weeks.

sounds good to me, I can't think of any time someone would want to be recording to netcdf and then not care that recording stopped working.
To be clear, the "fix" here will be to change the behavior and raise an error to crash the run? Let's just try to make that error and log message as helpful as possible, e.g., recording the expected location of the file and whatever error information is raised from the netcdf library.

To be clear, the "fix" here will be to change the behavior and raise an error to crash the run? Let's just try to make that error and log message as helpful as possible, e.g., recording the expected location of the file and whatever error information is raised from the netcdf library.

Yes aim would be to raise an error and force the run to stop. Good thoughts on the error/log message, will make them as informative as possible :+1:


Question: Using "Simple" Sum Types in Ivory

I'm experimenting with Ivory and would like a bit more compile-time safety for some of my types.  In Haskell I would normally use a sum type to represent options or states.  I know Ivory doesn't directly support enums or sum types but it seems like it should be able to support a type that has an Enum instance by converting it into a numeric type.
For example, consider this type:
data PinMode = Input | Output

And a proc:
pinMode :: Def ('[Uint8, PinMode] ':-> ())
pinMode = undefined

I would like to pass a PinMode value to the pinMode proc and have it converted to a Uint8 (that would then be passed through to some existing C function).  As I mentioned above, this could be done using an Enum instance.
For more complicated usages I would love to be able to write Ivory conditionals that emulate a case expression that tests a Uint8 against various data constructors.
So far I've gone down the path of defining instances of IvoryType, IvoryVar, and IvoryExpr.  This is where I've gotten stuck though.  I'm not really sure at which stage I need to convert my type into a Uint8.  I'm assuming that it makes the most sense to create a Uint8 as a literal expression, but I'm not exactly sure how or when I would do that.
Any help would be appreciated.  Thanks!

Perhaps try something like this. Assuming you have
{-# LANGUAGE GeneralizedNewtypeDeriving #-}

define
newtype PinMode = PinMode Uint8
  deriving (IvoryType, IvoryVar, IvoryExpr, IvoryEq, IvoryStore, IvoryInit, IvoryZeroVal)

and then
input, output :: PinMode
input  = 0
output = 1

Then unless someone constructs new PinMode constants, the values are constrained.

That's certainly a workable solution.  Thank you.


Add limit to method map  in class ElasticEngine

Some a application web. If u not add limit. Performance is not good. Please add limit this.

Hi @Vtvcode, I don't understand your issue.
I'd say, that 11ms and 1ms are pretty good numbers.


Make import command resumabe

Pull Request
Make it possible to resume import from a mid-point after unsuccessful previous import
Related issue
Fixes #241
What does this PR do?

Makes import resumable:

Introduce --skip-batches parameter
Enforce entity sorting by primary key (consistent, fast)
Display the number of processed entities
Add test case

Other small improvements:

Clarify wording of the message telling the number of indexed records

Update existing tests for modified messages

PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

bors merge


Revert "[RELAND] chore: update to Deno 1.17"

Reverts denoland/deno_registry2#274
This is just in case I break prod again.

I broke it again... error this time:
error: Uncaught (in promise) Error: MongoError: "Connection failed: MongoError: {\"ok\":0,\"errmsg\":\"auth mechanism SCRAM-SHA-256 is not supported\",\"code\":8000,\"codeName\":\"AtlasError\"}" | error: Uncaught (in promise) Error: MongoError: "Connection failed: MongoError: {\"ok\":0,\"errmsg\":\"auth mechanism SCRAM-SHA-256 is not supported\",\"code\":8000,\"codeName\":\"AtlasError\"}"
--```


[Request] 3D segmentation example

Hello, @yuta-hi. Thank you for sharing your code.
I wonder that if you could update examples of 3D segmentation or regression.
It would be helpful to remove the uncertainty labels efficiently.
Best Regards

Hello, @yuta-hi, it's me again.
I wonder how can we implement segmentation in 3D.
I've got errors in visualizer.
As you said in the document, I didn't get how I could change the transforms.
"To visualize 3D volumes, you can pass the volume renderer to the transforms as described above."


ujust setup-boot-windows-steam failing on desktop versions of Bazzite

Describe the bug
If you run ujust setup-boot-windows-steam you get the error sh: line 1: /usr/bin/steamos-add-to-steam: No such file or directory looks like we don't include the /usr/bin/steamos-add-to-steam script on the desktop images but only in the deck images. It would still be useful having this script work on the desktop version, especially for the nvidia users. I've only tested in bazzite-gnome-nvidia but I suspect that we'll have this issue on all desktop images.
I'll put in a PR when I get a chance after Christmas
What did you expect to happen?
I expected the boot-windows shortcut to get added as an executable in steam
Output of rpm-ostree status
State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome-nvidia:testing
                   Digest: sha256:138588f3ecec1a2ada575489db3b2188e676273b1e6676907f5824860d391ab4
                  Version: testing-41.20241222.1 (2024-12-22T18:29:52Z)
          LayeredPackages: cosmic-store

Hardware
HP ProBook 450 G5
Extra information or context
No response

This has been merged in and appears to be working. Closing issue.


How to deal with carriage return progress outputs ?

Hi all, I was wondering whether there was any trick to work with long / carriage return progress outputs, such as encoding a long video with ffmpeg, which prints the output on the same line as the progress is ongoing.
The behaviour I noticed was that Gooey would not display any progress whatsoever, and then when the process ends (or is aborted by the user) it would display all lines at once. Problem is that with long processes (I had a video encoding for ~30 mins) it makes the window unresponsive. I have noticed the same behaviour when using both subprocess.call and os.system - haven't tested other invocation methods nor tried messing around with stdout.
I did see #213 and right now I'm just using an ffmpeg flag to hide any output, but it would be nice if I could see the progress in the Gooey terminal. Any tips or tricks from people who bumped in this same issue?

My somewhat hacky workaround to that has been to redirect stdout/err to an object that strips the carriage return before writing to the stream.  Similar to this example which tees the stream into a log file:  https://stackoverflow.com/a/5916874/6179432

@leoncvlt apologies for the long delay on answering your question!
You can get really nice output from ffmpeg in Gooey if you do two things:

set universal_newlines=True
read from subprocess.stdout

Each ffmpeg update will be produced as a line in Gooey like this:

Here's an example of reading the ffmpeg output line by line.
from gooey import Gooey, GooeyParser
import subprocess

cmd = [
    'ffmpeg',
    '-to', '30',
    '-i', 'Castle-in-the-Sky.mkv',
    'Castle-in-the-Sky.mp4'
]

@Gooey
def main():
    parser = GooeyParser()
    args = parser.parse_args()

    process = subprocess.Popen(
        ' '.join(cmd),
        bufsize=1,
        stdout=subprocess.PIPE,
        stdin=subprocess.PIPE,
        stderr=subprocess.STDOUT,
        universal_newlines=True,  ## this is what makes everything work
        shell=True
    )
    # reading from the process' stdout
    for line in process.stdout:
        print(line)

if __name__ == '__main__':
    main()


Add fine-grained mixed-content support to markup output formats.

The existing logic is all-or-nothing: either an output format permits mixed content, in which case output of any other format may be interspersed in it, or it does not - and mixed content is completely disallowed. (The latter is recommended, as mixed content often indicates an application bug).
This PR enables an output format to enable mixed content while implementing an outputForeign method, which can inspect the foreign output's MIME type, and either pass it through, block it, or even output the foreign-format content using the new format. This e.g. enables a custom format to embed (and custom-escape) HTML that was provided in the data model as TemplateHTMLOutputModel rather than a plain string.

Do you have an ICLA (Individual Contributor License Agreement) at Apache?

Yes, I have an ICLA (under my @google.com email address).

OK. However, I can't only check if I know the full address, so please send that to<EMAIL_ADDRESS>(replace a.o with the real domain)! Only the project managers will see it. Thanks!

OK, got the ICLA. (Never mind my deleted message.) Will double check if it's how we want this, then merge.


Remove default htaccess environment

Tasks:

[ ] test coverage
[ ] gather feedback for my changes
[x] added changelog line

Informations:

Q
A

Fixed tickets
fixes #574

BC Breaks
yes

Doc
none

@alexander-schranz I guess you are doing this because this setting is overriding what is done in other places, and it is very hard to find out why it is still develop, right?
@wachterjohannes @chirimoya WDYT?

i think it should be removed. but then we need to add a few lines to the docs.