[Windows] Black flicker on some GPUs/devices when using H/W rendering

Feedback needed.

Personally speaking, I have entry-level AMD Ryzen 3 2200U processor with integrated Raden Vega 3 Mobile Graphics.
I don't see any flicker at all. Only 4K 60 FPS videos seem to be flickering, but even 4K 30 FPS are playing fine.
Please comment your experience.

No objections so far. Closing.
No problems on other GPUs/devices I tested either.

You attempted to play the videos present on the right-side, right?
From the logging file, are you running on higher than 60 FPS?

Im running 60fps on my monitor,
I did play the videos on the right side of the screen and they rarely caused flickering to occur. however downloading a longer video from youtube and loading that up did consistently cause the flickering to occur, I think the higher the resolution the more it occurs.
I did try disabling hwdec, but that didn't seem to have any bearing on the flickering at all.
I did also add file-log to the mpv string, and the logs it pumped out didn't seem to be correlate to the flashing at all.
I did try to test on linux, but the same program you have doesn't seem to compile, so I replaced vlc_dart with mediakit in a private application i have accsess to, but sadly it doesn't seem like embedding code is wired up, though it does create an mpv context just fine at least.

Thanks!

I did play the videos on the right side of the screen and they rarely caused flickering to occur. however downloading a longer video from youtube and loading that up did consistently cause the flickering to occur, I think the higher the resolution the more it occurs.

On my device, only 4K 60 FPS videos flicker black.
I don't have much idea either. However, it is really important to resolve this issue.

I did try to test on linux, but the same program you have doesn't seem to compile, so I replaced dart_vlc with media_kit in a private application I have access to, but sadly it doesn't seem like embedding code is wired up, though it does create an mpv context just fine at least.

Yeah, Linux implementation is not done yet.
Currently focusing on Windows.

my first thought is GPU load, so I spun up a game in windows mode, and alt+tabbed between the two of them and the flashing was absolutely exacerbated, it was a significant change when it was running int he background, which since windows default behavior is to prioritize foreground apps for gpu, this makes a lot of sense
to further test it, I downloaded DXVK, a popular directX->VK wrapper, https://github.com/doitsujin/dxvk/releases/tag/v2.0
and I have not been able to get the flashing since. while I do have a couple theories as to why this is, my first thought is maybe this is a bug in flutters rendering engine. sadly im not too familar with flutter profiling so this is as far as this goes

What's the FPS & resolution combination that's flickering for you?

The black flicker are frame drops likely. When running mpv directly, I get quite a lot of frame drops with default setting. If I use d3d11va or dxva2, frame drops are substantially less. dxva2-copy is used by this setup.

in isolation, 1920p30 video is typically fine, however if im watching a second video in another MPV instance with some moderate gpu settings, that will cause flickering consistently
4k30 really starts flickering badly, however when I have a game running, so much as a 720p30 can cause a good chunk of flickering.
Im not sure it is MPV dropping frames, at least not in isolation, since running 4k30 while a game is in the foreground causes the video to become stutery as one would expect when it doesn't have enough gpu power (this happens with all video players, not just MPV) however it does not become flickery at all.
using DXVK_HUD=1 we can actually see that flutter is rendering less then framerate when tabbed out. so the preformance hit is certainly effecting playback.

Hi @Quackdoc,
I've made a fix & I'm really-really hopeful about this.
In my experience, this flickering was not due to dropping frames but due to "excessive frames" & this was mainly due to my implementation. Now, I'm not seeing any flickering or tearing at all, even with 4K 60 FPS.
Flickering will never show up. If any substantial load stays on the computer (I mean 4K video playback is not that "easy" as it may look for GPU), then frames will be dropped instead (how it should be). I opened a game in windowed mode & I can certainly see little lag in video, but no flickering. Also, I think your issue was likely due to dual-monitor setup, now I manually pick the refresh rate & play video according to it. Similar issues exist for mpv too: https://github.com/mpv-player/mpv/issues/9686.
In general usage, there is no flickering or dropped frames at all. Decent experience.

I'm attaching the updated release-mode executable to test. Please confirm the fix.
media_kit_test.7z
Thanks!

Rest, Windows itself schedules the running applications so the thing may perform worse in background. So, a good idea can be to skip the rendering loop when window is minimized or some another app is maximized. Google Chrome also does the same.

Just tested it, and sadly it is still exhibiting similar issues. tomorrow I will have access to an Intel I3 6100 with integrated graphics for testing, but in the meantime
I outright disabled the second GPU in the PC (DG2 so that certainly could have contributed) and am now running a single 60hz monitor, and the issue is still persisting. I also tried a fresh clone and building myself and it too was having the issues

That's sad. I did add some additional logging (likely you built with it).
The first number should always be lesser than the later. Otherwise frames will be dropped (to avoid flicker).
For me, this fixed it. Are you seeing something similar?

This is the output of doing flutter run even no dropped frame messages, and didnt see a single time when it exceeded the second number

sorry for the delay, I did test on an i3 6100 with igpu machine and the problem DOES occur there too, so it is not isolated to AMD

For 60 FPS videos or the videos on the right? We should first address the smaller issues.

I think I found the issue may need to change how d3d11_texture2D_desc.Format gets handled. for instance I change
d3d11_texture2D_desc.Format = DXGI_FORMAT_B8G8R8A8_UNORM
to
d3d11_texture2D_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM

OGL/GLES is notoriously finicky, pixel formats in specific are a pain point, I think it might have been doing a pixel format conversion? im not entirely sure exactly what is being used here
but this has solved my issue, even when overriding
#define HW_RENDERING_REFRESH_RATE_SUBTRAHEND 0
I can try to confirm on the i3 6100 system later. however im pretty sure this should work for all windows systems, since as far as I know, the only real consumer of GL_BGRA8_EXT which is B8R8G8A8_UNORM is apple
you can see the mappings here
https://chromium.googlesource.com/angle/angle/+/34cc136a689711ee7f64f90b2de9b07cfb9a9f17/src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp

I think I found the issue may need to change how d3d11_texture2D_desc.Format gets handled. for instance I change
d3d11_texture2D_desc.Format = DXGI_FORMAT_B8G8R8A8_UNORM
to
d3d11_texture2D_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM

OGL/GLES is notoriously finicky, pixel formats in specific are a pain point, I think it might have been doing a pixel format conversion? im not entirely sure exactly what is being used here
but this has solved my issue, even when overriding #define HW_RENDERING_REFRESH_RATE_SUBTRAHEND 0

Hi @Quackdoc,
I think it's not the fix however. As far as I can tell, this will cause hardware (Direct3D + ANGLE) initialization to fail.
And thus, it will fall back to the software renderer (bad for CPU & battery life), I've written a fallback (see video_output.cc).
media_kit: ANGLESurfaceManager: Direct3D Feature Level: 11_1
media_kit: ANGLESurfaceManager: Failure: eglCreatePbufferFromClientBuffer
media_kit: VideoOutput: Using S/W rendering.

You must see "Using H/W rendering." in your logs.

However, please feel free to change code & find the perfect configuration for your machine.
I'll be genuinely happy to accept the contributions. I'm not much into Direct3D/OpenGL either.
I used this for ANGLE interop: https://github.com/Microsoft/angle/wiki/Interop-with-other-DirectX-code.
I kept the same Direct3D texture creation parameters.

Hi @Quackdoc, I pushed one more attempt to fix the issue. I will love to hear back. Thanks again!
Please git pull or fresh git clone again. You may experiment with these three lines too:
https://github.com/alexmercerind/media_kit/blob/d307ba6d286855353133e18e4394637049d73bb9/media_kit_core_video/windows/video_output.cc#L181-L183

Do not enable both glFlush and glFinish at once. I have a feeling glFinish should work.

unfortunately, I now just crash, this is after I did a clean git clone again

@Quackdoc,
Thanks! The other guy's flickering has been fixed with latest commit. I compiled a new release build. Try it out:
flutter-render-thread-mpv-notify-gl-finish.7z
I'm confused by the fact that he is crashing when he compiles locally.

I'm not flickering under normal use which is a massive improvement for sure, but when I start up a moderate game it does cause very occasional flickering still
and when I started up a game that really hit the gpu, or when I start MSI kombustor (gpu stress test) it flickers really badly.
and I did test for the sake of testing, this build actually seems to have broken DXVK, which has me a bit worried, since intel might be heading that way for their DGPUs (they already do it for DX9 and DX10). (this is not an issue right now though just a potential one in the future. since intel is still using native DX11 as far as I am aware).
at the very least, it's good enough for me to work with, but while I might just have a special system, it might be a good idea to keep in mind that the issue might not be solved, but rather I think that whatever you have done has increased performance enough that it has pushed and hidden the issue. which in either case is a very good thing anyways.
but like I said, I do find the DXVK issue mildly concerning

I downloaded the media_kit_test.exe file you provided and the flickering is very noticeable.
Try adding mpv_set_option_string(mpv,"video-timing-offset", "0");

@sudongg, I think you left a comment here, please try the latest .exe, it will work well.
flutter-render-thread-mpv-notify-gl-finish.7z

I've downloaded a new exe, tested it, and it doesn't flicker anymore.

@Quackdoc,
As long as this package is able to play 4K 60 FPS performantly in a H/W accelerated way (which it clearly is, after latest commit), it is good to go. There's no flickering anymore on my machine, neither my colleague's machines. In my personal tests, this already performs better than video playback in Chromium-based browsers (in terms of CPU/GPU usage).
Even 4K 60 FPS is sort of a "benchmark" here. In general usage I don't think one is ever going higher (unless one is developing a media player specifically). I'm not here to test the limits, but I'm pretty sure running a stress test software or a game alongside will definitely cause frame-drops in mpv (or any other media player) too.
The flickering issue only existed because I was rendering video output in a detached-background thread, which was clearly not synced. Now, all the render methods from libmpv are called on Flutter's rendering thread (as it should be). Rest, Direct3D, ANGLE & OpenGL heavily depend upon hardware, driver, operating system etc. So, it can't be clearly said if it's a fault in my code now that everything is working fine on most devices.
Any improvements can/will certainly be made in future, for now this is working great (and as intended) !

My 250$ machine with budget AMD Ryzen 3 2200U & integrated Radeon Vega 3 Mobile Graphics has been working fine with all this time, except 4K 60 FPS (1080p 60FPS & 4K 30 FPS were still working great). After recent fixes, everything is addressed for me & other people I asked to.

Another reasoning here is that mpv comes with a number of hwdecs, you are fine to choose the perfect configuration for your hardware & share as required. However, numer of supported hwdecs is going to be quite limited since we are forcing OpenGL usage through ANGLE.

Also... I will be glad to hear back confirmation for the fix to recent crash you experienced (and the flicker).

I did a git clone, and compiled it again, I am still getting flickering when running a game. 1080p30 will flicker maybe once a minute not unbearable, but still not good, 4k30 is still unwatchable as it flickers about once every 10 seconds or more. as it stands this can happen with any relatively moderate 3d workload.
I tested the new build on an i3 6100 as well which can't even do 4k30 without flickering when the only other thing running is a notepad and it is in focus. the igpu can typically do 4k60 with zero issues unless I had a great amount of shaders to MPV. I plan on testing to see if my laptop can even run it, (I normally have it running linux, so I need to get a windows install medium before I can test).
These aren't frame drops though, I can run MPV with "always on top" and "transparency" while playing a game and render a video at 2x fps untimed. the video in the media_kit is rendering at real time. Even forcing it to slow to a halt by using 4k60 while gaming shows that while the video crawls, the black frames don't increase any more then 4k30.
the problem does seem to be solved so long as the app is in focus at the very least. on that PC but that's not usable for me personally so Ill keep looking into the issue at least.
I don't think it's a fault in your code, I don't think it ever was since DXVK has zero issues with black frames at all no matter how hard the system was running, it didn't produce a single black frame at all, suggesting that the issue is somewhere within the rendering pipeline itself, and not the copy from angle to DirectX, as DXVK only translated DirectX calls into vulkan.
I think it has more to do with how angle and DX interact with each other.
I did try to look more into the pixel format issues with angle, I'm still confused as to why they won't work, however at this point instead of messing around with angle, I plan on adding GL_BGRA8_EXT support to MPV to see if that can help with the flickering issues. However getting libmpv to compile in the way that flutter would use it has proven to be quite a pain...
I plan on basing the work around commit #5aa9f59a841db383181cdf3e5306d644a4b999b7 for now as the next commit after that broke DXVK which might be able to help me debug the issue. and at the very least, since DXVK totally solves the issue, I can at least use that to work around it not being focused. in the mean time.
though to be blunt, I don't think a proper solution will be possibly until flutter migrates to impeller, since IIRC they are working on a vulkan backend for it on windows anyways. which has a lot better interop with gles. though, I guess if vulkan/native GL does solve the issue. I could just run the app in WSL2 if it comes to it.

The other guy has reported that his video playback starts to flicker if he re-sizes the video.
Maybe that has something to do with your game-play in another window.

I don't think a proper solution will be possibly until flutter migrates to impeller, since IIRC they are working on a Vulkan backend for it on windows anyways. which has a lot better interop with glES.

Agreed. However, current whole public texture API in Flutter Windows is Direct X based.
I don't think Impeller (at-least for Windows, Linux or macOS) is coming any-time soon (or maybe ever).
ANGLE is heavily used by Google's own projects, one being Chromium itself & so is Skia.
So, I'm kinda confident that this situation is here to stay.

On the other hand, for non-Windows platforms, I think we have a good opportunity since public texture API for other platforms is OpenGL based, which means no involvement of OpenGL ES standard / ANGLE interop etc. etc.
It should be more performant & more stable in general. So, Linux is a good goal for now.

Besides all of this, this implementation has been working flawlessly without any flickers at all on my machine.
I'm more confused than ever. Let's see...

firstly looking into the flickering, Im not sure exactly what is causing it since im not familiar with windows dev tools. however looking at the --trace-skia output, not every time, but usually when there is a black frame, there is a spike in gpu-raster time.
So, I've been playing around a bit, for now at least for me, it seems like disabling 3d acceleration, but using d3d11va-copy to accelerate video decoding seems to be a "good" route, when under gpu limited scenarios. I think the majority of people won't need this, so maybe simply exposing S/W render with video accel as an option so the apps can set it themselves, this might be a  debug good option?
and as a side note for the sake of having more info in the thread, it might be possible in the future to use libmpv with a vulkan backend, which could very well be the better solution.
https://github.com/mpv-player/mpv/issues/10810
as for short term solutions, it might be viable to use SetGPUThreadPriority() when dealt with this would make it so putting the app in the background shouldn't go lower on priority preventing the flickering altogether unless an app with a higher priority comes along, which should be quite rare.
examples
d3d9
https://github.com/microsoft/Windows-classic-samples/blob/7cbd99ac1d2b4a0beffbaba29ea63d024ceff700/Samples/Win7Samples/multimedia/direct3d/direct3d9ex/BackgroundThread.cpp#L66
d3d11
https://github.com/obsproject/obs-studio/blob/e62759a3fa3d20366f80ddaa70fa58ca4f61a358/libobs-d3d11/d3d11-subsystem.cpp#L566
The significant issue is, im not sure if this needs to happen when the dxgi adapter is made, or if this would need to be done for flutter's skia engine itself

@alexmercerind
The latest exe doesn't flicker on me. But there still seems to be users flickering.
According to previous experience, setting mpv_set_option_string(mpv,"video-timing-offset", "0") can prevent flickering.
If SwapBuffer has been used, glFlush() or glFinish() does not need to be performed again. If SwapBuffer is not used, flickering may occur during scaling.
Setting SwapInterval to 1 can also avoid flickering. If it is set to 0, you need to synchronize manually, using D3DKMTWaitForVerticalBlankEvent or DwmFlush (Windows platform).
In my mpv+opengl project, as long as I set video-timing-offset to 0, SwapInterval to 1, and use SwapBuffer, there will be no flickering.

do you mean opengl-swapinterval?
I added
mpv_set_option_string(handle_,"video-timing-offset", "0");
mpv_set_option_string(handle_,"opengl-swapinterval", "1");

and its flickering real badly

@Quackdoc
Please make sure you downloaded the latest exe, the latest exe has no flicker in my place.
If you try to set video-timing-offset = 0 on mpv, and use SwapInterval = 1 on the opengl side, and use SwapBuffer, it still flickers, it may be a problem on the flutter side.

Personally speaking, I have no flickers even without glFinish (it fixed once I moved rendering to Flutter's render thread).
I think same will work for you @sudongg (no glFinish).
Since, I can't reproduce this, it's like shooting in the dark for me. I'm just adding/removing things & asking y'all to test out.
Ideally, there should be no glFinish for optimal performance, however nothing matters more than correct functionality.

Thus, please try out compiling the project on your machine.
Edit, add or modify the configuration / function-calls from OpenGL ES or ANGLE API or Direct3D etc.
I'm pretty sure you'll hit a sweet spot.
Few other clues I'd like to drop:

As far as my knowledge goes, we are not using --vo=opengl from libmpv so things like opengl-swapinterval won't make any difference.
As @sudongg said, D3DKMTWaitForVerticalBlankEvent or DwmFlush can actually make difference, these calls (as far as my knowedge goes should be placed where glFinish is currently). Maybe DwmFlush is the glFinish of DirectX, which will make more sense here & can likely fix everything (for now).

https://github.com/alexmercerind/media_kit/blob/083f128876f4a156a61c70a73c93558b808e3c1f/media_kit_core_video/windows/video_output.cc#L157

As @Quackdoc said, SetGPUThreadPriority is possible. Currently, I'm asking for the ID3D11Device directly from ANGLE itself. However, this can be changed by this macro & afterwards create the Direct 3D device as you want with your required configuration:

https://github.com/alexmercerind/media_kit/blob/083f128876f4a156a61c70a73c93558b808e3c1f/media_kit_core_video/windows/angle_surface_manager.cc#L26
https://github.com/alexmercerind/media_kit/blob/083f128876f4a156a61c70a73c93558b808e3c1f/media_kit_core_video/windows/angle_surface_manager.cc#L163-L190

On my machine, package:media_kit automatically selects --hwdec as dxva2-copy. Infact, mpv itself works smooth-est with dxva2-copy on my machine instead of the default mpv selects (without rendering API it selects some Direct3D --hwdec).

FYI I have enabled GitHub actions & artifacts on the repository.
You can fork & make changes within browser to get a release build to test out.
See: https://github.com/alexmercerind/media_kit/actions/runs/3805543501 (scroll down for release build).

I have been using the recent patch for a little bit now, it has seemingly mostly solved my issue at least when using the example app, I plan on testing more throughly tommorow, as I can dedicate a long time to testing it

@alexmercerind
The swapinterval I said does not mean the opengl-swapinterval of mpv, the opengl-swapinterval setting of mpv seems to be valid only in mpv window mode. Need to set swapinterval (I use glfwSwapInterval) on opengl side.
Using glFinish or glfinish should just increase the possibility of flickering, at least in my project I use SwapBuffer (glfwSwapBuffers).

The new exe doesn't flicker for me anymore, I can't test the Quackdoc issue, need more feedback from new users.

@alexmercerind The swapinterval I said does not mean the opengl-swapinterval of mpv, the opengl-swapinterval setting of mpv seems to be valid only in mpv window mode.

Yeah! opengl-swapinterval is only valid for --vo=opengl, it has nothing to do with --hwdec.
Since, we're using ANGLE with Open GL ES 2.0, we have eglSwapInterval, which can be interesting to play around with.
Unfortunately, I'm not flickering either, so can't test.

Using glFinish or glfinish should just increase the possibility of flickering, at least in my project I use SwapBuffer (glfwSwapBuffers).

I feel the same. Unfortunately, even if I don't flush/finish/swap-buffer, the video content still gets drawn to screen.
I'm not sure what's swapping the back buffer. Even in current state, my worst fear will be to know that glFinish is not actually "syncing" but just adding a voluntary delay each frame which compensates for the flicker time. However, there's no way I can tell.

Working on pre- Windows 10 devices as well (Windows 7 & 8.x) where DirectX 11 is supported.
Flutter itself uses software rendering when DirectX 11 is not supported (however texture doesn't work then).
Not a priority. Needs a fix in Flutter itself to use same fallback software rendering in texture API.


Support for Active Choice Reactive Reference parameter

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests


Incomplete library exports on Windows

Environment Information

What platform are you using? (please provide specific distribution/version in summary)

[ ] Linux
[x] Windows
[ ] OSX
[ ] Other
[ ] NA

32 and/or 64 bit?

[ ] 32-bit
[x] 64-bit

What build system are you using?

[ ] autotools (configure)
[x] cmake

Summary of Issue
The pre-built netcdf-c libraries at http://www.unidata.ucar.edu/software/netcdf/docs/winbin.html are missing certain DLL symbols like nc_create_par_fortran, nc_open_par_fortran, nc_var_par_access. This can be verified with the following command: dumpbin /exports libnetcdf.dll.
I also built netcdf-c 4.5.0 in an MSYS/mingw64 environment using cmake and faced the same problem.
Not having those functions exported means that it is impossible to link netcdf-fortran against it as it requires those.
I couldn't exactly figure out yet what the reason is but I noticed that there are two files which contain overlapping function declarations with different export keywords: include/netcdf_par.h (not included without parallel option) and include/netcdf_f.h (always included). Maybe that gives a clue?

Thank you for reporting; I will get this fixed!

Those functions are only used for parallel I/O builds of netCDF. Did you intend to use parallel IO on Windows? That is not typical, as far as I know.
So it seems like the windows DLL should not include those functions.

Thanks for looking at it.
No I didn't want to use parallel IO but it seems that netcdf-fortran has a hard dependency on those functions, see https://github.com/Unidata/netcdf-fortran/blob/78a9839366cf8cdc929da450ebba9fad941c3341/fortran/nf_nc4.f90#L61. This file is included whenever USE_NETCDF4 is enabled, see https://github.com/Unidata/netcdf-fortran/blob/78a9839366cf8cdc929da450ebba9fad941c3341/fortran/Makefile.am#L58.
From what I can see, netcdf_h.h is included unconditionally in libdispatch in dvar.c which is always built. https://github.com/Unidata/netcdf-c/blob/327c19499cc37f4d04cdab728f116c95a87935f8/libdispatch/dvar.c#L8-L9 Shouldn't that then mean that those functions are always included irrelevant of the parallel IO build flag?

We currently don't officially support Fortran on Windows, which is why this hasn't received as much attention.  But I should be able to address that.

I assume you are using mingw64/fortran equivalent and not Visual Studio or some such via the MSYS shell?

I use the mingw64 shell from the MSYS2 package. Note that the person from the linked issue used the Intel Fortran compiler on Windows and had the same problem. Make sure to build netcdf-fortran as shared library, otherwise you may not notice the undefined symbols.

OK great, I didn't know that about the PGI compiler. On their feature comparison page it says that the free version doesn't have Visual Studio integration.
Feel free to contact me via email if I can be of any help with reproducing it or setting up mingw64. I'm currently a bit blocked by this issue and would really like to get this solved. Once fixed, netcdf-fortran could be added to the msys/mingw package repository which would make it a lot easier to build scientific software on Windows that uses netcdf-fortran.

Hi @WardF, I have encountered the same issue with the installation of netcdf-fortran as reported above.
Could you please let me know if this issue is currently being actively looked at?
If not, is this something that you may be able to shed some light on? -- Perhaps we can try to address the issue collaboratively? Thank you.

Thanks, I have mingw64 set up and will gladly take a look at this as soon as I can; it is definitely being looked at, but there are a number of issues and pull requests currently being reviewed as well.  My assumption is that the functions just need to be exported as other functions have needed to be on (on Windows).  @letmaik just for the sake of completion, can you share how you are building netcdf-c on Windows with cmake using MSYS2/mingw64? I work in MSYS2 already, so getting it set up won't be a problem.

Thanks @WardF, if it is of any help, these are the installation steps I followed:
1. Open the MSYS2 MSYS command prompt and install dependencies using the pacman package manager
pacman -S mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-netcdfwget

2. Open the the MSYS2 MinGW 64-bit command promp to configure netcdf-fortran with CMake
cd /tmp
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.4.tar.gz
tar xvzf netcdf-fortran-4.4.4.tar.gz
cd netcdf-fortran-4.4.4
mkdir build && cd build
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTS=OFF ..

which produces the following output:
-- The Fortran compiler identification is GNU 7.2.0
-- The C compiler identification is GNU 7.2.0
-- Check for working Fortran compiler: C:/msys64/mingw64/bin/gfortran.exe
-- Check for working Fortran compiler: C:/msys64/mingw64/bin/gfortran.exe  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether C:/msys64/mingw64/bin/gfortran.exe supports Fortran 90
-- Checking whether C:/msys64/mingw64/bin/gfortran.exe supports Fortran 90 -- yes
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Looking for nc_def_opaque in netcdf
-- Looking for nc_def_opaque in netcdf - not found
-- Looking for nccreate in netcdf
-- Looking for nccreate in netcdf - not found
-- Looking for nc_set_log_level in netcdf
-- Looking for nc_set_log_level in netcdf - not found
-- Looking for oc_open in netcdf
-- Looking for oc_open in netcdf - not found
-- Looking for nc_use_parallel_enabled in netcdf
-- Looking for nc_use_parallel_enabled in netcdf - not found

-- CMake Summary:

--      Build Type:                     Release
--      Building Shared Libraries:      ON
--      Building netCDF-4:
--      Building DAP Support:
--      Logging Support:                OFF
--      Using Parallel IO:              OFF
--      Linking against:                netcdf;

-- Configuring done
-- Generating done
-- Build files have been written to: C:/msys64/tmp/netcdf-fortran-4.4.4/build

3. Install
cmake --build . --target install

which fails with the folloing output:
--- tail ---
[ 12%] Building Fortran object fortran/CMakeFiles/netcdff.dir/netcdf.f90.obj
cd /C/msys64/tmp/netcdf-fortran-4.4.4/build/fortran && /C/msys64/mingw64/bin/gfortran.exe -DHAVE_TS29113_SUPPORT -Dnetcdff_EXPORTS -I/C/msys64/tmp/netcdf-fortran-4.4.4/build/fortran -I/C/msys64/tmp/netcdf-fortran-4.4.4/fortran -I/C/msys64/mingw64/include -I/C/msys64/tmp/netcdf-fortran-4.4.4/build -I/C/msys64/tmp/netcdf-fortran-4.4.4/fortran/. -I/C/msys64/tmp/netcdf-fortran-4.4.4/build/libsrc -I/C/msys64/tmp/netcdf-fortran-4.4.4 -I/C/msys64/tmp/netcdf-fortran-4.4.4/libsrc  -O2 -g -DNDEBUG   -c /C/msys64/tmp/netcdf-fortran-4.4.4/fortran/netcdf.f90 -o CMakeFiles/netcdff.dir/netcdf.f90.obj
/C/msys64/mingw64/bin/cmake.exe -E cmake_copy_f90_mod fortran/netcdf fortran/CMakeFiles/netcdff.dir/netcdf.mod.stamp GNU
/C/msys64/mingw64/bin/cmake.exe -E touch fortran/CMakeFiles/netcdff.dir/netcdf.f90.obj.provides.build
make[2]: *** No rule to make target 'C:/building/msys64/mingw64/lib/libz.dll.a', needed by 'fortran/libnetcdff.dll'.  Stop.
make[2]: Leaving directory '/tmp/netcdf-fortran-4.4.4/build'
make[1]: *** [CMakeFiles/Makefile2:983: fortran/CMakeFiles/netcdff.dir/all] Error 2
make[1]: Leaving directory '/tmp/netcdf-fortran-4.4.4/build'
make: *** [Makefile:141: all] Error 2

Here are my steps:

Download/Install 64bit MSYS2 from http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20161025.exe
Inside the MSYS shell:

pacman -Syu (system upgrade)
Forcefully close and reopen MSYS shell
pacman -Syu (again, to update packages)
pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-libtool make tar mingw-w64-x86_64-hdf5

Inside the MinGW 64-bit shell (since we want to build fully native Windows libraries):

wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.5.0.tar.gz
tar xvzf netcdf-4.5.0.tar.gz
cd netcdf-4.5.0
./configure --enable-dll --disable-dynamic-loading --disable-examples --disable-utilities
make && make install
cd ..
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.4.tar.gz
tar xvzf netcdf-fortran-4.4.4.tar.gz
cd netcdf-fortran-4.4.4
Using configure I couldn't get it to generate a shared library, so I used CMake:
mkdir build && cd build
cmake -G "MSYS Makefiles" ..
make

Output of cmake -G "MSYS Makefiles" ..:
-- The Fortran compiler identification is GNU 7.2.0
-- The C compiler identification is GNU 7.2.0
-- Check for working Fortran compiler: C:/msys64/mingw64/bin/gfortran.exe
-- Check for working Fortran compiler: C:/msys64/mingw64/bin/gfortran.exe  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether C:/msys64/mingw64/bin/gfortran.exe supports Fortran 90
-- Checking whether C:/msys64/mingw64/bin/gfortran.exe supports Fortran 90 -- yes
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Doxygen: C:/Program Files/doxygen/bin/doxygen.exe (found version "1.8.12") found components:  doxygen missing components:  dot
-- Found netcdf: C:/msys64/mingw64/lib/libnetcdf.dll.a
-- Looking for nc_def_opaque in C:/msys64/mingw64/lib/libnetcdf.dll.a
-- Looking for nc_def_opaque in C:/msys64/mingw64/lib/libnetcdf.dll.a - found
-- Looking for nccreate in C:/msys64/mingw64/lib/libnetcdf.dll.a
-- Looking for nccreate in C:/msys64/mingw64/lib/libnetcdf.dll.a - found
-- Looking for nc_set_log_level in C:/msys64/mingw64/lib/libnetcdf.dll.a
-- Looking for nc_set_log_level in C:/msys64/mingw64/lib/libnetcdf.dll.a - not found
-- Looking for oc_open in C:/msys64/mingw64/lib/libnetcdf.dll.a
-- Looking for oc_open in C:/msys64/mingw64/lib/libnetcdf.dll.a - not found
-- Looking for nc_use_parallel_enabled in C:/msys64/mingw64/lib/libnetcdf.dll.a
-- Looking for nc_use_parallel_enabled in C:/msys64/mingw64/lib/libnetcdf.dll.a - not found

-- CMake Summary:

--      Build Type:                     DEBUG
--      Building Shared Libraries:      ON
--      Building netCDF-4:              ON
--      Building DAP Support:
--      Logging Support:                OFF
--      Using Parallel IO:              OFF
--      Linking against:                C:/msys64/mingw64/lib/libnetcdf.dll.a;

Error running make:
[ 12%] Linking Fortran shared library libnetcdff.dll
CMakeFiles/netcdff.dir/objects.a(nf_nc4.f90.obj): In function `nf_create_par_':
C:/msys64/home/marieche/netcdf-fortran-4.4.4/fortran/nf_nc4.f90:61: undefined reference to `nc_create_par_fortran'
CMakeFiles/netcdff.dir/objects.a(nf_nc4.f90.obj): In function `nf_open_par_':
C:/msys64/home/marieche/netcdf-fortran-4.4.4/fortran/nf_nc4.f90:94: undefined reference to `nc_open_par_fortran'
CMakeFiles/netcdff.dir/objects.a(nf_nc4.f90.obj): In function `nf_var_par_access_':
C:/msys64/home/marieche/netcdf-fortran-4.4.4/fortran/nf_nc4.f90:121: undefined reference to `nc_var_par_access'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [fortran/CMakeFiles/netcdff.dir/build.make:776: fortran/libnetcdff.dll] Error 1
make[1]: *** [CMakeFiles/Makefile2:983: fortran/CMakeFiles/netcdff.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

Some more details on why this happens on Windows and not on Linux:

Windows only exports functions in a shared library if they have the correct export markers defined in some header file while compiling code. On Linux, all symbols are always exported.
The concrete problem here is that functions in https://github.com/Unidata/netcdf-c/blob/master/libdispatch/dparallel.c#L88 are included within the build, but the corresponding header file which would define the necessary export declarations is NOT included from this file.
Given that each function dparallel.c has a conditional empty implementation:

#ifndef USE_PARALLEL
   return NC_ENOPAR;
#else

... I assume that those functions are supposed to be available at link-time for external libraries at all times. And hence it is clearly a bug in netcdf-c and not netcdf-fortran, but do correct me if I'm wrong.

I believe you are correct. I will try to have this fixed shortly it should be pretty easy :)

I was not aware that anyone was using the enable-dll configure option, or that it worked at all!
So that is a pleasant surprise. I will add mingw to my CI system and restore the DLL stuff I removed from the automake files.

OK, I have restored the DLL sections to configure.ac and to the relevant Makefile.am files.
I have also change netcdf_par.h so that, like netcdf.h, the extra microsoft external declarations are present for every function. Can you check to see if this solves your problems building fortran on windows? (You must build my branch from source to check, I can't build DLLs at the moment.)
Clone: git@github.com:NetCDF-World-Domination-Council/netcdf-c.git
Switch to branch  ejh_fill_values and try it.

Hi, thanks for bumping this; let me go take a quick look and follow up :)

I've pushed a branch, gh554.wif, can you try that branch and see if the issue persists?

Please see my earlier comment https://github.com/Unidata/netcdf-c/issues/554#issuecomment-354823851. You essentially tried the same here.
It would be good if you get a local setup to test it yourself, otherwise it takes too long to iterate on it I think.

Hi @letmaik, thanks for pointing out that a different contributor already tried that fix.    I'm refreshing my memory of this issue, let me see if I can duplicate it on my side now.

Thinking out loud:
Ok, so it looks like some parallel functions are being defined compiled in (dparallel.c) regardless of whether USE_PARALLEL4 is defined.  This seems to make sense, as there are no downstream checks in netcdf-fortran, it is just assumed that these functions are present.  HOWEVER the functions aren't being exported unless USE_PARALLEL4 (or some such) is defined, hence the issue we are seeing reported here.
Fenceposting the functions behind USE_PARALLEL4 will require some downstream changes as well; for now a fix should incorporate the existing logic, these functions will be available and exposed whether parallel I/O is actually there or not.  Therefor, we just need to make sure that when netcdf_par.h isn't being included in ncdispatch.h, we include netcdf_f.h instead.
Pursuing this line of reasoning, twe make it further but we now get a whole lot of other undefined references.
Also, it appears that current netcdf-c master won't build in this environment, so that needs untangled as well; I've been working with 4.6.1.
So, we have a fix for the immediate issue reported; the rest will have to be sorted out before we can offer official Windows support for netCDF-Fortran.

Would it be simpler to always export those functions but gut them when
parallel is disabled?

Always exporting is the decision that was made previously, although I don't have any information regarding this decision.  But we're past that issue and now seeing a new one that I'll document here.  In current master, dap2/ does not build using the steps outlined above.  I'll document the compiler errors here in a bit, at a glance I don't think it will be a difficult issue to solve.  It is a curious state of affairs, however, as these are not issues we see on other platforms.

This is still an issue with MSYS2, same symptoms.


If bump_event_types is set, read receipts can still bump rooms to the top of the list

A bug in #34.
As reported by @stefanceriu, it seems that changing your own nickname or reacting in a room will bump that room to the top of its list, even if memberships and reactions are excluded by bump_event_types. Other users' memberships and reactions seem to be excluded correctly.

Request was:
{
  "txn_id": "07683a7c-d72a-4d65-9b82-5db8978e3673",
  "lists": {
    "CurrentlyVisibleRooms": {
      "ranges": [
        [
          0,
          20
        ]
      ],
      "sort": [
        "by_recency",
        "by_name"
      ],
      "required_state": [
        [
          "m.room.avatar",
          ""
        ],
        [
          "m.room.encryption",
          ""
        ]
      ],
      "timeline_limit": 0,
      "filters": {
        "is_invite": false,
        "is_tombstoned": false,
        "not_room_types": [
          "m.space"
        ]
      }
    }
  },
  "bump_event_types": [
    "m.room.message",
    "m.room.encrypted"
  ],
  "extensions": {
    "to_device": {
      "enabled": true,
      "since": "2696560"
    },
    "e2ee": {
      "enabled": true
    },
    "account_data": {
      "enabled": true
    }
  }
}

On further investigation, the trigger was the read receipts sent by the client after taking actions of your own.


Project lookup directories

List of directories where to look for projects

Added in https://github.com/AchetaGames/Epic-Asset-Manager/releases/tag/v2.3.0


--fix option can break interface which have exported with export default interface ~~~

Bug Report

TSLint version: 5.7.0
TypeScript version: 2.5.2
Running TSLint via: (pick one) CLI

TypeScript code being linted
export default interface IRenderingTarget {
    bind() : void;
    clear(flag: number, color: number[] | null, depth: number | null) : void;
}

with tslint.json configuration:
{
  "rulesDirectory":[],
  "rules": {
    "class-name": true,
    "comment-format": [true, "check-space"],
    "curly": true,
    "eofline": true,
    "indent": [true, "spaces"],
    "label-position": true,
    "member-access": true,
    "member-ordering": [true,
      "public-before-private",
      "static-before-instance",
      "variables-before-functions"
    ],
    "no-arg": true,
    "no-console": [true,
      "debug",
      "time",
      "timeEnd",
      "trace"
    ],
    "no-construct": true,
    "no-debugger": true,
    "no-duplicate-variable": true,
    "no-empty": true,
    "no-eval": true,
    "no-inferrable-types": true,
    "no-shadowed-variable": true,
    "no-switch-case-fall-through": true,
    "no-trailing-whitespace": true,
    "no-unused-expression": true,
    "no-use-before-declare": true,
    "no-var-keyword": true,
    "one-line": [true,
      "check-open-brace",
      "check-catch",
      "check-else",
      "check-whitespace"
    ],
    "quotemark": [true, "double", "avoid-escape"],
    "radix": true,
    "semicolon": true,
    "triple-equals": [true, "allow-null-check"],
    "typedef-whitespace": [true, {
      "call-signature": "nospace",
      "index-signature": "nospace",
      "parameter": "nospace",
      "property-declaration": "nospace",
      "variable-declaration": "nospace"
    }],
    "variable-name": false,
    "whitespace": [true,
      "check-branch",
      "check-decl",
      "check-operator",
      "check-separator",
      "check-type"
    ]
  }
}

Actual behavior
The interface file was fixed with the code below.
export default interface; IRenderingTarget; {
    bind(); : void;
    clear(flag: number, color: number[] | null, depth: number | null); : void;
}

It seems there are some invalid : inserting. Several files of interfaces that is not exported as export default interface INTERFACE_NAME was not fixed wrongly. So I guess this can only happen to an interface that is exported as export default interface INTERFACE_NAME.
Expected behavior
Fixed file can be compiled if the input is compilable.  This must be fatal problem. I couldn't find which fixer cause this problem.

I cannot reproduce this. I guess you are using yarn to install tslint? Then that's probably the same issue as #3251

@ajafff You are correct. I used that. And this problem haven't happened with npm.


Setting up project

Hello Microverse, In this branch, the following is done:

Creating React App
Setting up Linters

STATUS: INVALID CODE REVIEW REQUEST 🛑 🛑
Hi @ReemMohamedAbdelfatah,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
Kindly remove the Microverse logo from your README and fix your linter errors
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. And please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


unit test can't compile less file correctly

Version
1.0.28
Reproduction link
https://codepen.io/maple-leaf/pen/NjvKQK
Steps to reproduce
steps

vue init webpack my-project
cd my-project
cnpm i and npm run test, everything works fine
cnpm i less less-loader --save-dev
edit src/App.vue, please check the code detail below steps (by the way, capitalize the first letter A is not a good way, because some env may ignore case on file name)
mkdir src/less
create new file src/less/app.less, check content below
create new file src/less/variable.less, check content below
create new file src/less/base.less, check content below
npm run dev (everything works fine here)
<Ctrl>   c terminate the dev server
npm run test, an Error raised about unable to resolve variable defined on variable.less. please check message below.

content of src/App.vue of step 5
<template>

    <router-view></router-view>

</template>

content of `src/less/app.less of step 7
@import './variable.less';
@import './base.less';

content of src/less/variable.less of step 8
@font-size: 16px;

content of src/less/base.less of step 9
#app {
  font-size: @font-size;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}

Error message of step 12
03 05 2017 17:38:15.492:WARN [reporter]: SourceMap position not found for trace: undefined
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  Error: Module build failed:

  #app {
    font-size: @font-size;
             ^
  Variable @font-size is undefined
        in /Users/tangjinfeng/tmp/my-project/src/less/base.less (line 2, column 13)
  at index.js:10485

PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 0 of 0 ERROR (0.199 secs / 0 secs)

What is expected?
base.less should not being complied or should resolve variables correctly.
What is actually happening?
An Error about variable undefined raised

Please, make sure to read our Contributing Guide. Issues are for bug reports and feature requests only.
We encourage you to ask questions on the forum , Stack Overflow or on gitter and are happy to help you out there.


Add option to watch all files in a directory.

Hey!
This pull request adds an option to watch for all file changes in the specified or default directory.
-w, --watch
Watches all files in the specified or default directory and triggers a reload if files change.
To work with the current working directory we have to ignores some common paths that may exist there (node_modules, .git, ...). Let's discuss what paths we should ignore by default or if we should only allow watching subdirectories.

Adresses https://github.com/wking-io/elm-live/issues/196

Are there still plans to merge this PR?

Are there still plans to merge this PR?

There was no consensus on how to implement this feature. Either we allow watching the root directory and add an option to ignore certain folders (e.g. --watchIgnore, or we disallow watching the root folder and force --dir). Maybe @wking-io has a preference? :)


outlines are not extruded with their lines

TANGRAM VERSION:
0.20.1
ENVIRONMENT:
Chrome / Safari
TO REPRODUCE THE ISSUE, FOLLOW THESE STEPS:
extrude lines that have an outline
  _xyz_lines:
    draw:
      xyz_text:
        visible: true
      xyz_lines:
        extrude: |
            function(){return feature.last_edited_date.slice(-4)*10}
        offset: |
            function(){if (feature.dir == 'E'){return -5}; if (feature.dir == 'N'){return -5}}
        width: 4px
        outline:
          width: 1px
          color:
            - 0.5
            - 0.5
            - 0.5
            - 0.5

https://burritojustice.github.io/xyz-maps/bike_lanes/
RESULT:
lines are extruded, outlines are not
EXPECTED RESULT:
outlines should be extruded with their lines

released in v0.21.0


Fixed Latent Error for render() method

Fix the following type of error
To reproduce the error:
    // ** deltaSigma = -0.25
    // ** angle[0] = [82.6, 88.8, 85.94, 105.72]
    // ** angle[1] = 71
   var surface = PolyhedronMesh([[-2.5,2.5,-0.5],[2.5,2.5,-0.5],[-2.5,-2.5,-0.5],[2.5,-2.5,-0.5],
                    [-2.5,2.5,-1],[2.5,2.5,-1],[-2.5,-2.5,-1],[2.5,-2.5,-1]],
                    [[0,1,3,2], [0,1,5,4], [0,2,6,4], [7,3,2,6],
                    [1,3,7,5], [4,6,7,5]])
    var graphic2 = plotmesh(surface, grade=[0,1,2])
    var pov = POVRaytracer(graphic2)
    pov.viewpoint=Matrix([0, -4, -5])
    pov.viewangle=0
    pov.light=[Matrix([10,10,10]), Matrix([-10,-10,10])]

    pov.render("${deltaSigma}_${angle[1]}.pov", display=true, quiet=false)

    /*  1.throwing error in the render() method in the POVRaytracer class at morpho/morpho5/modules/povray.morpho
            line 164 executed command in shell "povray -0.25_90.pov +A +W2048 +H1536"
            Error message: Failed to parse command-line option
            Error reason: "-0.25_90.pov" is not a valid command-line option, it should be a filename
            Fix Applied: add the prefix "./" to before the filename parameter

        2. throwing error in the render() method in the POVRaytracer class at morpho/morpho5/modules/povray.morpho
            line 166 executed command in shell "open ${out}.png"
            Error message: xdg-open: file '-0.png' does not exist
            Error reason: Latent error - line 165
            Fix Applied: use loop to generate the filename
    */
    var csv = File("data.csv", "append")
    csv.write("${deltaSigma},${angle[1]},\"${angle[0]}\"")

@joshichaitanya3  Since you've been working with the povray module can you check this?

Approve this PR


Don't log secrets

The verbose logs generated today probably contain the PAT's in some cases. We should deliberately mask out any secret values before writing logs to disk/console.

👍


chore: remove dist before build

Coverage remained the same at 100.0% when pulling 1e1b7fed56dc619d119c144b7589e821de25c574 on remove-dist-before-build into ce97cfa2cddcf5fae0eeacdc7e4ce6c470d1298d on main.

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Any plans to support viewing dependents?

Do you have any plans to have this extension support viewing dependents instead of dependencies, i.e. all files that depend upon the entry file, instead of the other way around?

for example:
a1 -> b
a2 -> b
a3 -> b

b -> c
b -> c1
b -> c2

now we can see b -> c, b -> c1 ,b -> c2  easily in this extension.
you mean we need a way to visualize the relationship a1 -> b, a2 -> b, a3 -> b  ?

有做的计划吗


Filemanager Problem

Hello,
when i click on "Filemanager" i come on my Site on Login Page. I install all correct.
Have you any Idea?
Thanks

Check config/lfm.php for middlewares setting?


Write TDD exercise week 5

Some small tdd functions linked to #10

Starting this here https://github.com/arm61/ch40208/tree/tdd

done in #110


[BUG] merge conflict didn't perfectly resolved

someone has resolved the conflict in a bad way by keeping both code.
code link : https://github.com/Luson045/medi-connect/blob/8057cbc1bc427b19facda7f60cd85b1f18f5242e/client/src/components/Layout.jsx#L97-L107
bug: (two chat bot)

got it


Guide for Self-Hosting SyncLounge without Docker

I created a guide for Self-Hosting SyncLounge without Docker, just using nodejs and pm2
https://gist.github.com/joecot/2b6fb52f72ca8022cacc4543fe1bed1b
If that seems sufficient as a guide, please consider linking it from the readme

You're an absolute legend, I'll 100% add it to the readme. Thanks!

@joecot Thank you for this, it's so much better than the current one!
One question, I'm wondering if it's possible to disable Plex auth. I tried setting "mechanism":"none", but still asking for auth

@Cookie-Monster-Coder I've updated the guide to describe that, but the gist is that while you could leave authentication as none, the user will still need to sign in with their plex account, because all SyncLounge is doing is streaming the video them them via their plex login, and syncing up the times. The reason for defaulting to authorizing by machine is that in 95% of cases, you're going to be streaming the video to them from your plex server, so authenticating at the beginning that you've shared the plex server with them is easier than waiting for them to join a room and it not working.

Thanks again mate. @MagicalCodeMonkey what do you think of pulling this in to its own section under self-hosted in docs?

Done! 😄 http://docs.synclounge.tv/self-hosted/linux/

@MagicalCodeMonkey  I've updated the server url in the settings.json in the gist, please update on the site when you have a chance

I'll take a look when I can! You can also make edits yourself at any point if you pull up the page and click the Pencil icon to edit it. It should automatically create a branch and PR for your edits when you commit the changes.

Updates incoming!


The straight= parameter in get_bundle is not active

The straight parameter in get_bundle is not active. It seems not to get passed to the function calls inside get_bundle. It's working in get_route.

Hi Jin,
Why don't you use the cross_section argument for get_bundle?
How can we reproduce your issue?
This works well
    c = gf.Component("demo")
    c1 = c << gf.components.mmi2x2()
    c2 = c << gf.components.mmi2x2()
    c2.move((100, 40))
    routes = get_bundle(
        [c1.ports["o2"], c1.ports["o1"]],
        [c2.ports["o1"], c2.ports["o2"]],
        radius=5,
        layer=(2, 0),
    )
    for route in routes:
        c.add(route.references)
    c.show(show_ports=True)

Now we also allow to use custom straight functions in get_bundle
    c = gf.Component("demo")
    c1 = c << gf.components.mmi2x2()
    c2 = c << gf.components.mmi2x2()
    c2.move((100, 40))
    routes = get_bundle(
        [c1.ports["o2"], c1.ports["o1"]],
        [c2.ports["o1"], c2.ports["o2"]],
        radius=5,
        # layer=(2, 0),
        straight=gf.partial(gf.components.straight, layer=(1, 0), width=1),
    )
    for route in routes:
        c.add(route.references)
    c.show(show_ports=True)

Hi Joaquin,
I was trying to print INTERCONNECT model information in the routing
components so I can use the Lumerical-Klayout package to extract the
INTERCONNECT netlist from the GDS. I modified your example with added
straight and bend components. From the output gds, you can see that the
bend has the model information, but the straight doesn't have it.
Thanks,
Jin
import gdsfactory as gf
from gdsfactory.add_labels import add_siepic_labels
strip_wg_simulation_info = dict(
model="wg",
layout_model_property_pairs=(
("length","wg_length"),
("width","wg_width")
),
layout_model_port_pairs=(("o1","port 1"), ("o2","port 2")),
properties=dict(annotate=False),
)
my_add_label = gf.partial(add_siepic_labels,model="o_strip",library="abc",
spice_params="auto", label_spacing=0.1)
mystraight = gf.partial(gf.components.straight, cross_section="strip",info=
strip_wg_simulation_info, decorator=my_add_label)
mybend = gf.partial(gf.components.bend_euler, cross_section="strip",angle=90
,p=0.26,info=strip_wg_simulation_info, decorator=my_add_label)
c = gf.Component("Test")
c1 = c << gf.components.mmi2x2()
c2 = c << gf.components.mmi2x2()
c2.move((100, 40))
routes = gf.routing.get_bundle(
[c1.ports["o2"], c1.ports["o1"]],
[c2.ports["o1"], c2.ports["o2"]],
radius=5,
cross_section='strip',
bend=mybend,
straight=mystraight
)
for route in routes:
c.add(route.references)
c.show(show_ports=True)
On Tue, Nov 22, 2022 at 11:19 PM Joaquin Matres @.***>
wrote:

Hi Jin,
Why don't you use the cross_section argument for get_bundle?
How can we reproduce your issue?
This works well
c = gf.Component("demo")
c1 = c << gf.components.mmi2x2()
c2 = c << gf.components.mmi2x2()
c2.move((100, 40))
routes = get_bundle(
    [c1.ports["o2"], c1.ports["o1"]],
    [c2.ports["o1"], c2.ports["o2"]],
    radius=5,
    layer=(2, 0),
)
for route in routes:
    c.add(route.references)
c.show(show_ports=True)

—
Reply to this email directly, view it on GitHub
https://github.com/gdsfactory/gdsfactory/issues/910#issuecomment-1324531108,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOCAQLTTGZWV3S5UKQQCATTWJWLN3ANCNFSM6AAAAAASIKCTIY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi Jin,
layout properties are now propagating to the route references

so if you update to 6.2.4 it should work for you
@thomasdorch  wrote the interconnect plugin

It's working well now. Thank you. -Jin
On Wed, Nov 23, 2022 at 9:37 AM Joaquin Matres @.***>
wrote:

Hi Jin,
layout properties are now propagating to the route references
[image: image]
https://user-images.githubusercontent.com/4514346/203573237-fe49c503-a8f7-4350-acb4-165395e022eb.png
so if you update to 6.2.4 it should work for you
@thomasdorch https://github.com/thomasdorch wrote the interconnect
plugin
—
Reply to this email directly, view it on GitHub
https://github.com/gdsfactory/gdsfactory/issues/910#issuecomment-1325170072,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOCAQLXGATFTHPGNPEL5CFLWJYT3BANCNFSM6AAAAAASIKCTIY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Markdown links don't pass HTTP query strings

This markdown link:
[Test](https://bugs.chromium.org/p/chromium/issues/detail?id=573565)
Results in linking to https://bugs.chromium.org/p/chromium/issues/detail rather than https://bugs.chromium.org/p/chromium/issues/detail?id=57356
This should pass the query string, correct?
Thanks,
Dustin

Reminds me on:
https://github.com/getgrav/grav/issues/1399

Yeah, html links like this:
Test
In the same markdown file works correctly.

See this Docs-page: Essentially, you want to include &noprocess in the parameters to make sure they are not processed by Grav.

Ah, got it. Thanks!


After closing scrcpy, adb.exe still runs

Need to manually close adb. exe, failure to close will result in the inability to remove USB devices

#205


Project Air-doodle : A Whiteboard Application with Text to Image doodle feature for better engagement

Project name
Air-doodle Teams Tab App
Description
Air-Doodle Teams Tab App
Our project is an innovative addition to the Microsoft Teams ecosystem, specifically focused on enhancing online meetings through the integration of the Microsoft Teams Whiteboard App. Traditional online meetings often face challenges in effectively conveying complex ideas or concepts due to the absence of dynamic visual elements. Verbal descriptions and static visuals can fall short of capturing the intricacies of the subject matter, leading to misunderstandings and reduced engagement.
To address this limitation, our app leverages the power of the Microsoft Teams Whiteboard App, offering a dynamic and interactive canvas for users to draw, annotate, and create visual representations in real time. By providing a platform for users to express their ideas visually, we enable clearer communication and foster better understanding among meeting participants. Presenters can illustrate their points, outline processes, or sketch diagrams, bringing complex concepts to life in an engaging and accessible manner.
For example, imagine a marketing team presenting a new advertising campaign during a virtual meeting. Using our app and the integrated Microsoft Teams Whiteboard App, the team can collaboratively sketch out storyboards, visualize target audience segments, and annotate key messaging points directly on the whiteboard. This interactive approach allows everyone to see the campaign come to life, provide instant feedback, and ensure a shared understanding of the strategy.
Our app solves the problem of limited visual communication in online meetings, enabling presenters to convey complex ideas with greater clarity and impact. By incorporating the Microsoft Teams Whiteboard App, we empower users to leverage the expressive capabilities of a digital canvas, fostering more engaging and productive discussions. With the seamless integration into the Teams platform, our app provides a comprehensive solution that enhances the overall meeting experience, facilitating effective communication and collaboration among participants.
Project Repository URL
https://github.com/Atharva-Malode/Air-Doodle-Microsoft-Teams-Tab-App
Project video
https://youtu.be/xcuhI_43bg0
Team members
Babban33

Thanks for your project submission @Atharva-Malode, we are excited to check out your project 🙂 Meanwhile, would you and your teammate be willing to fill out the feedback survey? That'd help us learn from your hackathon experience and make it better next time: https://aka.ms/hack-together-teams/survey

Hi @Atharva-Malode, thanks for your project submission. We cannot find your teammate Babban33's information in the registration list, can you please make sure that your teammate registers to the hackathon, otherwise they won't be eligible for the digital badge. Registration can be completed from there: https://aka.ms/hack-together-teams/register

Hello @aycabas, we thought only one member has to register for the hack from the team so he haven't registered, what are the possible steps we could do now?

Hi @Atharva-Malode, everyone in the team has to register individually, otherwise they cannot receive their badges and other prizes. If anyone in your team hasn't register yet, please make sure that they register as soon as possible from https://aka.ms/hack-together-teams/register


Fixed multilevel menu issue on opening/closing

On multilevel menu I noticed an issue that I tried to fix.
The problem:

on the left sidebar menu, click on "Multilevel", then on "Level One" submenu, then on "Level Two" submenu to open all them.
now close "Multilevel" and re-open it: submenus are open but the arrow on the right is wrong (it should be down instead of left pointing). More, when first clicking on "Level One" or "Level Two" links, the right arrow turns down, but nothing more happens: you have to click a second time to "re-align" all the correct behaviors.

The pull request fixes these strange behaviors

It is usually good practice to just remove unnecessary lines of code instead of commenting them. History exists just for that :-) #my2cents

Thanks!

I did this instead
    tree.find(Selector.open).removeClass(ClassName.open)     parentLi.removeClass(ClassName.open)     tree.slideUp(this.options.animationSpeed, function () {       **tree.find(Selector.treeviewMenu).slideUp()**       $(this.element).trigger(collapsedEvent)     }.bind(this))   }
This way, when you close the parent, all children are also closed.

@oyeaussie please use 3 backticks for improved readability.


BUG: Not NumPy 2.0 compatible

Modules need to be rebuilt and released now that NumPy 2.0 EDIT: RC1 is out. Importing current cftime from PyPI I get on Linux:
>>> import cftime

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.1.0.dev0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "<stdin>", line 1, in <module>
  File "/home/larsoner/python/virtualenvs/base/lib/python3.11/site-packages/cftime/__init__.py", line 1, in <module>
    from ._cftime import (datetime, real_datetime,
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/larsoner/python/virtualenvs/base/lib/python3.11/site-packages/cftime/__init__.py", line 1, in <module>
    from ._cftime import (datetime, real_datetime,
  File "src/cftime/_cftime.pyx", line 1, in init cftime._cftime
ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).

See also https://github.com/numpy/numpy/issues/24300#issuecomment-2030603395

Numpy 2.0 is not out! There is a release candidate version for testing but the stable one isn't published yet. See https://pypi.org/project/numpy/#history.

Correct it's not out but the most recent advice from the linked thread is:

With numpy 2.0.0rc1 available, everyone can start doing their 2.0-compatible releases!

Sure. Do you want to send a PR to add that to our testing?

Sure. Do you want to send a PR to add that to our testing?

Looks like you do already test against 2.0:
https://github.com/Unidata/cftime/blob/d549c09638c627f6fcec3d34b0ae38c92056667c/.github/workflows/tests_latest.yml#L27-L30
And your pyproject.toml is nearly set up to build against NumPy 2.0:
https://github.com/Unidata/cftime/blob/d549c09638c627f6fcec3d34b0ae38c92056667c/pyproject.toml#L7
More than testing, then, what's really needed I think are wheels on PyPI that are 2.0-compatible. So I'll open a PR to make the relevant change to your cibuildwheel run and maybe a release after that would make things future compatible?

I'm from a time when building stable releases with unstable Software was unwise. However, nowadays all major libraries only releases unstable RCs and requests others to ignore that fact and work with it.

Yeah not sure about other packages, but at least in the case of NumPy they have said more or less that the purpose of the RC1 is to allow people time to build and release their packages before 2.0 lands (in a couple/few weeks?) and breaks packages that didn't have an existing numpy<2 pin in their requirements. So it's a bit odd perhaps but the guidance in this case seems clear enough and hopefully not too hard to follow!

It was not my PR that added it. I would not publish it until a stable version is out though.

I would not publish it until a stable version is out though.

Okay. This goes against the advice of the NumPy devs, though. And what you have on PyPI currently will lead to import failures once NumPy 2.0 stable does land, as there is no version protection on that release like numpy < 2.0.

I think this is solved by #319 folks - any idea when will a cftime=1.6.4 be out that'll include that fix, please? :beer:

NumPy 2.0.0 has officially landed so should be safe to publish a new version that's 2.0 compatible
https://pypi.org/project/numpy/2.0.0/

Hi all, I've been updating cftime in pyodide/pyodide#4925 – since I notice that #319 has been merged and included in the 1.6.4.post1 release via #352, could this issue and #327 be closed?

Hi all, I've been updating cftime in pyodide/pyodide#4925 – since I notice that #319 has been merged and included in the 1.6.4.post1 release via #352, could this issue and #327 be closed? Thank you!


iOS GPUImage and Multithreading

I've been using just AVFoundation all this time.
I have been following Apple's sample code projects and they always do multithreading on their 'camera app sample code' projects.
In AVFoundation, they have a new thread ('sessionQueue') processing all the AvFoundation session tasks. They note that this is to keep the camera feed clean and to avoid interruptions from the main UI tasks.
dispatch_queue_t sessionQueue = dispatch_queue_create("session queue", DISPATCH_QUEUE_SERIAL);
This has been working great for me all this time and I do understand why they did this approach.
However, I recently adopted Brad Larson's GPUImage Api, and he does not specify any multithreading in his documentation.
Should I just not worry about and dispatching?

If you look at how things are architected internally, I use a serial dispatch queue to handle the video upload and processing functions and then a separate dispatch queue for the AV-Foundation-based movie writer output. This should handle threading for you, and you won't need to manage manual dispatches yourself.


[5.2] Move implements QueueContract in correct place

Because the abstract Queue class relies on methods from the QueueContract that abstract class should implement the contract, rather than it's children.
This will make the Queue class more extendable, if user-land wants to add and use more Queue drivers.

Thanks, but please send to 5.3. :heart:


"npm install baucis baucis-swagger" fails in a clean empty folder

$ npm install baucis baucis-swagger
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm WARN package.json<EMAIL_ADDRESS>No README data
npm ERR! Darwin 13.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "baucis" "baucis-swagger"
npm ERR! node v0.10.33
npm ERR! npm  v2.1.6
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package baucis does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>
I guess because the version of baucis installed by default is<EMAIL_ADDRESS>and npm can't see this is > 0.20.0, so this bug could be bounced around I guess. Opening here because this is the most impacted project.

So what's the solution, if any, to this? Having the same issue

The solution is to pull from master for both repos.  The fix is merged but not yet deployed to npm.
William Riley-Land
Principal & Open Source Consultant
Kun.io App Studio LLC
http://kun.io/wprl

On Feb 10, 2015, at 10:58 AM, astanciu<EMAIL_ADDRESS>wrote:
So what's the solution, if any, to this? Having the same issue
—
Reply to this email directly or view it on GitHub https://github.com/wprl/baucis-swagger/issues/18#issuecomment-73737333.


Fix source map paths

This sets the gulp-sourcemaps sourceRoot option, now pointing to the right locations of the source maps. Since it was not set, it was pointing to the default /source/ folder, which is not the right folder.

I have some users on the forums testing this out. I'll test it out personally here in a second.
In the mean time: @swalkinshaw is probably going to make you squash your two commits into one. :cop:

Thanks for your reply :+1: Sorry that I didn't do an interactive rebase btw!

I just squashed the two commits into one.

@retlehs good to go

@martinvd What do you think about this? https://discourse.roots.io/t/error-loading-source-scss-files/4060/5?u=austin

That's interesting. I'll have a look into this asap and will try to reproduce it as well and then respond in the Roots Discourse issue.

@austinpray That's interesting. I'll have a look into this asap and will try to reproduce it as well and then respond in the Roots Discourse issue.

Thanks bud!

np :+1:


Cafes don't show when creating a Textile wallet

Using Textile_v0.1.12-rc1_windows-amd64

A vanilla Textile peer doesn’t have any connected cafes by default. Cafes need to be registered, either manually by the user (ok), or from code via the app (better). We could consider adding an option to add default cafes... or have a list of default cafes to select from...
Alternatively/additionally, any textile-based app could register their own cafe(s) on behalf of the user. This requires an access token to be created on the target cafe.


Adding NUT (Network UPS Tools) Monitor Type

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
New Monitor
🔖 Feature description
NUT (Network UPS Tools) is a standard protocol for monitoring uninteruptable power supplies, AKA battery backups.
Common examples are on in datacenters, but home users have Synology NAS devices with most UPS with USB ports.
✔ Solution
I add a monitor type for NUT and ask others in the community to test it.
❓ Alternatives
Current work-around without this feature: A user runs an additional docker container, a side-car like nut-exporter and makes an HTTP keyword monitor.
📝 Additional Context
There was already a similar APCUPSD issue, and this may address that use case too since NUT supports APC devices.

New monitor types are always appreciated.
See https://github.com/louislam/uptime-kuma/blob/master/server/monitor-types/dns.js for a reference on how to implement a monitor-type using the newer syntax and https://github.com/louislam/uptime-kuma/pull/3178/files for the other files that need editing

For anyone else looking for NUT monitoring it can be pretty easily done without new code:

Spin up a docker compose stack for Nut Web GUI and connect it to your existing nut server
Use the json api to get the endpoint for your ups EX http://<IP_ADDRESS>:1234/api/ups/apc1500

You can view this URL in any web browser to see the data it returns
Likely you'll want to use the value of var.ups.status

Set up a new uptime kuma monitor:

Monitor Type -- HTTP(s) - Keyword
URL -- the ups endpoint from above
Keyword -- Think this will be dependent on the UPS used but for APC brand as an example:

OL CHRG => online charging
OL => charged and online
OB DISCHRG => on battery and discharging

So I use Keyword: OB DISCHRG with Invert Keyword so the monitor is DOWN when the keyword is found

Once uptime kuma 2.0 is released we could use json query with regex or comparison operators on vars.ups.status to achieve the same thing wit more flexibility


Vhost column missing while creating AM_GW_API_DEPLOYMENTS table in APIM 3.1.0 to 4.0.0 Migration docs.

The vhost column is missing in the APIM DB scripts other than for MYSQL.

Fixed in oracle script with https://github.com/wso2/docs-apim/pull/6137/files


JUP-setup jupiter program to swap solana tokens and added functionali…

…ty to deserialize transactions

Could someone to fix thesse conflicts, a lot of ppl are waiting for this feature.

Could someone to fix thesse conflicts, a lot of ppl are waiting for this feature.

I will take a look today and fix this.

Ok. I have fixed the merge conflict. Please let me know if this looks good. For now, I have not added tests but will add them in coming days.

Waiting for the feedback or approval. Thanks!

Could someone to fix thesse conflicts, a lot of ppl are waiting for this feature.

Done.

Hey guys, any movement here?

@slaverda waiting for the approval so can be merged

@slaverda conflict has been resolved and you can start using it, but you will have to pull the changes from my branch and build it yourself.


Reading files from S3 fails with compressed folder of files

Describe the bug
I want to do wr.s3.read_csv('s3://mybucket/prefix/') to read in a bunch of files from S3, where some are .csv and some are .csv.gz.
#175 resolved an issue for this when the argument to read_csv is a single file, or a folder where all files have the same compression. It seems to not be working for a folder of files with some .csv and some .gz.
@igorborgest  @jar-no1
Note that AWS Glue can handle this fine. My use case is that I want to compress most of my files. But some are tiny so it's not worth the overhead of compressing those.
Environment
$ pip3 list
Package               Version
--------------------- ---------
arrow                 1.1.0
asn1crypto            1.4.0
attrs                 20.3.0
aws-lambda-builders   1.3.0
aws-sam-cli           1.23.0
aws-sam-translator    1.35.0
awsebcli              3.19.4
awswrangler           2.12.1
bcrypt                3.2.0
beautifulsoup4        4.10.0
binaryornot           0.4.4
blessed               1.18.0
boto3                 1.17.66
botocore              1.20.66
cached-property       1.5.2
cement                2.8.2
certifi               2020.12.5
cffi                  1.14.5
chardet               3.0.4
chevron               0.14.0
click                 7.1.2
colorama              0.4.3
cookiecutter          1.7.2
cryptography          3.3.1
dateparser            0.7.6
decorator             5.1.0
docker                4.2.2
docker-compose        1.25.5
dockerpty             0.4.1
docopt                0.6.2
et-xmlfile            1.1.0
Flask                 1.1.2
future                0.16.0
git-remote-codecommit 1.15.1
idna                  2.10
importlib-metadata    4.0.1
itsdangerous          1.1.0
Jinja2                2.11.3
jinja2-time           0.2.0
jmespath              0.10.0
jsonpath-ng           1.5.3
jsonschema            3.2.0
lxml                  4.6.4
MarkupSafe            1.1.1
numpy                 1.21.4
openpyxl              3.0.9
opensearch-py         1.0.0
packaging             21.3
pandas                1.3.4
paramiko              2.7.2
pathspec              0.5.9
pathtools             0.1.2
pg8000                1.21.3
pip                   20.2.2
ply                   3.11
poyo                  0.5.0
progressbar2          3.55.0
pyarrow               5.0.0
pycparser             2.20
PyMySQL               1.0.2
PyNaCl                1.4.0
pyparsing             3.0.6
pyrsistent            0.17.3
python-dateutil       2.8.1
python-slugify        5.0.0
python-utils          2.5.6
pytz                  2021.1
PyYAML                5.3.1
redshift-connector    2.0.900
regex                 2021.4.4
requests              2.23.0
requests-aws4auth     1.1.1
s3transfer            0.4.2
scramp                1.4.1
semantic-version      2.8.5
serverlessrepo        0.1.10
setuptools            49.1.3
six                   1.14.0
soupsieve             2.3.1
termcolor             1.1.0
text-unidecode        1.3
texttable             1.6.3
tomlkit               0.7.0
typing-extensions     <IP_ADDRESS>
tzlocal               2.1
urllib3               1.25.11
watchdog              0.10.3
wcwidth               0.1.9
websocket-client      0.59.0
Werkzeug              1.0.1
wheel                 0.36.2
zipp                  3.4.1

To Reproduce
import awswrangler as wr
import boto3
import pandas as pd
from io import BytesIO, StringIO

bucket = 'mybucket'
prefix = 'awswrangler-csv-test/'

df = pd.DataFrame([{'a': 1, 'b': 2}, {'a': 3, 'b': 4}])

# save as CSV
client = boto3.client('s3')
client.put_object(
        Body=df.to_csv(index=False).encode(),
        Bucket=bucket,
        Key=prefix + f'data1.csv',
)
with BytesIO() as b:
    df.to_csv(b, compression='gzip', index=False)
    client.put_object(
        Body=b.getvalue(),
        Bucket=bucket,
        Key=prefix + f'data2.csv.gz',
    )

# read just the uncompressed file, filename exactly
df2 = wr.s3.read_csv(f"s3://{bucket}/{prefix}data1.csv")
assert (df2 == df).all().all()

# read just the uncompressed file, prefix not exact filename
df2 = wr.s3.read_csv(f"s3://{bucket}/{prefix}data1")
assert (df2 == df).all().all()

# read just the compressed file, filename exactly
df2 = wr.s3.read_csv(f"s3://{bucket}/{prefix}data2.csv.gz")
assert (df2 == df).all().all()

# read just the compressed file, prefix not exact filename
df2 = wr.s3.read_csv(f"s3://{bucket}/{prefix}data2")
assert (df2 == df).all().all()

# read both files in one go
df2 = wr.s3.read_csv(f"s3://{bucket}/{prefix}")
assert (df2 == df).all().all()

Expected behavior:
Script runs without throwing exceptions.
awswrangler is smart enought to know that it should decompress data2.csv.gz and not decompress data1.csv.
Actual behavior:
Second-last line fails with:
Traceback (most recent call last):
  File "mwe.py", line 44, in <module>
    df2 = wr.s3.read_csv(f"s3://{bucket}/{prefix}")
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/awswrangler/s3/_read_text.py", line 310, in read_csv
    **pandas_kwargs,
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/awswrangler/s3/_read_text.py", line 159, in _read_text
    kwargs=args,
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/awswrangler/s3/_read.py", line 145, in _read_dfs_from_multiple_paths
    return list(df for df in executor.map(partial_read_func, paths, versions))
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/awswrangler/s3/_read.py", line 145, in <genexpr>
    return list(df for df in executor.map(partial_read_func, paths, versions))
  File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 598, in result_iterator
    yield fs.pop().result()
  File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 435, in result
    return self.__get_result()
  File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/usr/lib64/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/awswrangler/s3/_read_text.py", line 91, in _read_text_file
    df: pd.DataFrame = parser_func(f, **pandas_kwargs)
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/pandas/util/_decorators.py", line 311, in wrapper
    return func(*args, **kwargs)
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 586, in read_csv
    return _read(filepath_or_buffer, kwds)
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 482, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 811, in __init__
    self._engine = self._make_engine(self.engine)
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/pandas/io/parsers/readers.py", line 1040, in _make_engine
    return mapping[engine](self.f, **self.options)  # type: ignore[call-arg]
  File "/home/cloudshell-user/.local/lib/python3.7/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 69, in __init__
    self._reader = parsers.TextReader(self.handles.handle, **kwds)
  File "pandas/_libs/parsers.pyx", line 542, in pandas._libs.parsers.TextReader.__cinit__
  File "pandas/_libs/parsers.pyx", line 642, in pandas._libs.parsers.TextReader._get_header
  File "pandas/_libs/parsers.pyx", line 843, in pandas._libs.parsers.TextReader._tokenize_rows
  File "pandas/_libs/parsers.pyx", line 1917, in pandas._libs.parsers.raise_parser_error
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

This is too specific of a use case IMO as in most cases the underlying prefix will have either .csv or .csv.gz files but not both. Feel free to contribute with a PR


fix(HorizontalRule): change style prop name to type

Related Ticket(s)
{{Provide url(s) to the related ticket(s) that this pull request addresses}}
Description
Changing the style prop name to type to align with the web components' horizontal-rule component.
When using style in the horizontal-rule web component, an error was thrown as style is a reserved attribute name.
Changelog
Changed

Change the style prop name to type instead
Adjust the grid in the horizontal rule react storybook

Nice change! BTW this change requires exiting applications <HorizontalRule> change the props. Would it be OK for us? I'm not fully sure what our rule of breaking API change policy is for minor release, so just wanted to double-check. Thanks @annawen1!

Yeah I thought about that, I'm not sure how many folks are using the <HorizontalRule />. @jeffchew would it be enough to announce it in the release notes or should we keep it as is for now and add a deprecate note?

We should add in a note in our release notes.


:ant: No need to ignore submodules now it has gone

Coverage remained the same at 93.117% when pulling 136f7d757c0aa514b320f861c6a7bd0291819803 on feature/tidy-submodule into 7f2fc296a5c92bdd151b8b6014d384d27e49029d on master.

Coverage remained the same at 93.117% when pulling de5a06d8d47067c40003d02c522a244b375555c2 on feature/tidy-submodule into 4f052412e82b6571ffbd86ce04d1b679395e995f on master.


Feat: nested spaces

Forgive me if this has already been mentioned but I did a quick look through your issue board and didn't see it.
Element supports spaces within spaces - which comes in handy especially if you're bridging discords to matrix.
It would be nice if these nested spaces could be viewed with proper hierarchy.
Allow me to illustrate:

Nested spaces can be navigated with hjkl + enter, but there's no easy way to go back up a level, which would be handy.
Alternatively I guess a tree view would be nicer (though more complicated to implement).


Error: write after end when installing packages with npm 5.8.0 or higher

Hi, I've been working with @zkat on an npm issue which appears to have a root cause in node-tar. The stack trace I am seeing is the following. We have been able to reproduce this with any version of npm > 5.8.0. (we have not tested with npm 5.7.x)
❯ rm -rf /tmp/empty-cache && rm -rf node_modules && npx npmc install --cache /tmp/empty-cache
npx: installed 763 in 28.723s
npm notice CANARY npmc is experimental software. If you find an issue, please file it in the main npm repository, and call out that you were using npmc.
/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/minipass/index.js:81
      throw new Error('write after end')
      ^

Error: write after end
    at MiniPass.write (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/minipass/index.js:81:13)
    at ReadEntry.entry.on (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/pacote/lib/extract-stream.js:30:21)
    at ReadEntry.emit (events.js:185:15)
    at ReadEntry.emit (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/node_modules/minipass/index.js:296:25)
    at ReadEntry.[maybeEmitEnd] (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/node_modules/minipass/index.js:249:12)
    at ReadEntry.end (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/node_modules/minipass/index.js:162:27)
    at Unpack.[consumeBody] (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/lib/parse.js:210:13)
    at Unpack.[consumeChunkSub] (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/lib/parse.js:391:40)
    at Unpack.[consumeChunk] (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/lib/parse.js:360:30)
    at Unzip.(anonymous function).on.chunk (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/lib/parse.js:291:59)
    at Unzip.emit (events.js:180:13)
    at Unzip.emit (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/node_modules/minipass/index.js:296:25)
    at Unzip.write (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/node_modules/minipass/index.js:99:17)
    at Unzip.write (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/node_modules/minizlib/index.js:284:29)
    at Unpack.write (/Users/jpollak/.npm/_npx/99478/lib/node_modules/npmc/node_modules/tar/lib/parse.js:307:19)
    at PassThrough.ondata (_stream_readable.js:651:20)
<EMAIL_ADDRESS>      throw new Error('write after end')
      ^

@isaacs for context, this started happening for some people, sometimes, when working off network-sourced tarballs (rather than cached ones), and it's happening in the transform callback for pacote's extract-stream. The error was first reported when it was using PassThrough, but I changed it to use Minipass and stopped using the .end(....data...) format for last writes just in case, and shipped a canary for @jbcpollak to try, and it still reproed.

One small clarification - for us this happens every time we do fresh install of our projects. We have a bootstrap script for new developers that checks out all our repos and runs npm i for them - it fails every time, for every developer with this error. I'm not sure if its always the same package - so I suppose it could be random, but we must have enough dependencies in our projects that it always fails.

Fixed on latest pacote, in npm 6.1.

This issue is reproduced on macos

no such file or directory, open '/home/g3006761319ishan/vvork-website/node_modules/.staging/core-js-aaa88aee/client/library.min.js.map'
i'm face the same issue


HUD not showing when called from within UITabBarController

Hi,
I am using a UITabBar and call
[SVProgressHUD<EMAIL_ADDRESS>from within one of the Tabbar's Viewcontrollers.
The Activityindicator shows, but the HUD is not showing at all.
This issue might also be related to Issue 20.

Where are you calling the showWithStatus: from? If you're doing so from viewDidLoad, try moving it to viewDidAppear...

Hey, thanks that worked fine.
Just to understand this: Why does it work in viewDidAppear and not in viewDidLoad.
Shouldn't that technically be the same (with the difference of viewDidAppear to fire each time the view becomes visible)?

You're right, it should work even in viewDidLoad. Not really sure why it doesn't, I'll try to look into it.

I have the same problem. I can't show the hud on viewDidLoad, viewWillAppear or LoadView. Just on viewDidAppear. How can i fix this?

Call this in didFinishLaunchingWithOptions:
SVProgressHUD.setContainerView(UIApplication.shared.keyWindow)


Cancel the group by processing tasks if the merging runner gets scheduled post the query timeout

Description
If the GroupByMergingQueryRunner gets scheduled after the query timeout, it fails to clean up the processing tasks that have been scheduled. This can lead to unnecessary processing being done for the tasks whos results won't get consumed.

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

The failures are the unrelated OOMs which are being investigated upon.


Plugin modernization

Trying to follow https://docs.google.com/document/d/1PKYIpPlRVGsBqrz0Ob1Cv3cefOZ5j2xtGZdWs27kLuw/edit#heading=h.wt403zf3y33l to modernize the plugin. Unfortunately, some changes were more linked than desired so this is all in one pull request.
It all started because the SCM link is incorrect, which means the link from plugins.jenkins.io/memegen to the repository was incorrect.

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[ ] Link to relevant issues in GitHub or Jira
[ ] Link to relevant pull requests, esp. upstream and downstream changes
[ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue

@joonty would you have some time to review this? Thanks


请问怎么知道自己的路由器是否支持csi

请问怎么知道自己的路由器是否支持csi，试了三个路由器都不可以。

All routers currently on the market should support it. As long as the packet sent by the router is 802.11 g/n ESP32, the CSI information can be obtained.
It is recommended to use two ESP32s for testing


docs: add some important shield features to README.md

This is a great overview, but it feels too long for the top of the docs "landing page". I would recommend trying to cut it in half and make it bullet points instead of numbers; we can still find a place for the full list on another page.

I did it, but I think it's still not good! What do you think?


op cat added nov 1st

Added another topic for OP_CAT I'm no expert on it but I figured it would be a good topic to discuss

@kevkevinpal could you rebase this on #79 and move the topics to the december md file?

I'm not going to be around for this one so I can close this PR for now but let me know if you want me to add the topic anyway if others would like it!


Impression_id not used in DeepRec

https://github.com/Microsoft/Recommenders/blob/395ef543433ddbcc68a3ff554af25bf0e38a5f89/reco_utils/recommender/deeprec/IO/iterator.py#L76
I don't see the impression ids being passed when loading from file. Are they obsolete and should they be removed?

We use impression id to compute group metrics like: NDCG, group-auc in DKN.


fix label

B-18110
Summary
Apparently one more label remained.
Screenshots

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

  Generated by :no_entry_sign: dangerJS against cfd125d3716c9b4b74d667041ede4dfbecc62c8d

Happo checks approved


Release/2022 11 08/new main release

security audit fixes
support case insensitive booleans

:tada: This PR is included in version 2.11.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove old <7.4 php versions

Closes #175

BTW, if we drop support for php < 7.4 and we've already dropped support for NC < 24 maybe it's worth removing molecule test for Debian 10 with NC23, WDYT?


Set message as of type String or BTreeMap

Sets the value of Message.message as either a String or a BTreeMap<String, serde_json::Value>
The message value can contain a map structure which is not a String and this was not previously supported

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.008%) to 31.751%

Totals

Change from base Build<PHONE_NUMBER>:
-0.008%

Covered Lines:
13005

Relevant Lines:
14735

💛  - Coveralls


Support resource end with .PNG

System Info
rspack: 0.4.0
npm: 10.1.0
node: 20.9.0
os: windows 11 23e2
Details
When trying to use resources ending in .PNG, the system reports an error.
code:

config:

error:

Reproduce link
https://github.com/hanhan9449/rspack-040-demo
Reproduce Steps

npm i
npm run build

ref: web-infra-dev/rspress#395

It seems it's caused by no copying regex flags from JS side to RS side.

Hi, I want to have a try to fix this, would you like to assign it to me? @hardfist


Example conversion of Shipwright docs to Asciidoc

Changes

Submitter Checklist

[x] Includes tests if functionality changed/was added
[x] Includes docs if changes are user-facing
[x] Set a kind label on this PR
[x] Release notes block has been filled in, or marked NONE

See the contributor guide
for details on coding conventions, github and prow interactions, and the code review process.
Release Notes

NONE

/release-note-none

/kind docs

/release-note-none

/docs
/documentation

/kind docs
/kind documentation


[GITHUB-5] Adds no lint tags

Adds tags to skip linting on configure tasks that intentionally
violate Ansible0016, this stops a lint on a repo that includes
this role from failing.

Borked branch


UpOperation and tearDownOperation should support multiple values

DataSet should allow a way to use composite DBOperation(s) for setup and teardown by allowing multiple values in the coresponding attributes.
Like this :
@DataSet(locations={ "...data.xml" }, format=DataSetFormat.FLAT,
    dataSourceSpringName="dataSource", setUpOperation={DBOperation.DELETE,DBOperation.INSERT})

Nice,
I planed to do it this sunday but I'm glad to see you've done it
... so quickly!


[BAEL-7632] Convert a phone number in words to number with Java

<EMAIL_ADDRESS>

@ashleyfrieze - I've made modifications based on the provided feedback.


Various fixes

Codecov Report

Merging #366 (aabc655) into main (9a67d13) will decrease coverage by 0.23%.
The diff coverage is 15.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #366      +/-   ##
==========================================
- Coverage   56.78%   56.56%   -0.23%
==========================================
  Files          16       16
  Lines        2541     2537       -4
==========================================
- Hits         1443     1435       -8
- Misses       1098     1102       +4

Impacted Files
Coverage Δ

staslib/service.py
18.43% <0.00%> (ø)

staslib/udev.py
45.53% <6.25%> (-0.99%)
:arrow_down:

staslib/trid.py
98.18% <100.00%> (+1.30%)
:arrow_up:


mozillavpn: 2.16.1 → 2.19.0

Description of changes
Upgrade the Mozilla VPN client from 2.16.1 to 2.19.0.
https://github.com/mozilla-mobile/mozilla-vpn-client/releases/tag/v2.17.0
https://github.com/mozilla-mobile/mozilla-vpn-client/releases/tag/v2.17.1
https://github.com/mozilla-mobile/mozilla-vpn-client/releases/tag/v2.18.0
https://github.com/mozilla-mobile/mozilla-vpn-client/releases/tag/v2.18.1
https://github.com/mozilla-mobile/mozilla-vpn-client/releases/tag/v2.19.0
https://github.com/mozilla-mobile/mozilla-vpn-client/compare/v2.16.1...v2.19.0
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2744

I can see only a blank screen :disappointed:
I can only see a blank screen, whether with version 2.16.1 or 2.17.1.
Also using a known workaround described by an Arch Linux user does not work.
What can I do?

@flosse Maybe try deleting ~/.cache/Mozilla VPN?

@flosse Maybe try deleting ~/.cache/Mozilla VPN?

no, unfortunately that changes nothing :disappointed:

Hmm. You completely restarted the GUI process right? (The × button doesn’t stop it, it sticks around in the system tray.)

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3041

Is the version bump required for the package to work with the upstream service?

@pbsds I haven’t checked that but probably not. Why? Bug fixes and performance improvements are a good enough reason to upgrade.

Yes, but i don't think i warrants a backport to 23.05

Yes, but i don't think it warrants a backport to 23.05

Oh sure (I first opened this before the 23.11 release).