Minified React error #185 in Grafana when clicking on dropdown input fields

OS/Platform
Debian, Ubuntu, and derivatives
Installed
Flatpak
Version
Version 114.0.5735.106 (Official Build, ungoogled-chromium) (64-Bit)
Have you tested that this is not an upstream issue or an issue with your configuration?

[X] I have tried reproducing this issue in Chrome and it could not be reproduced there
[X] I have tried reproducing this issue in vanilla Chromium and it could not be reproduced there
[X] I have tried reproducing this issue in ungoogled-chromium with a new and empty profile and it could not be reproduced there

Description
When clicking on a dropdown in grafana, react crashes
How to Reproduce?
See https://github.com/grafana/grafana/issues/69324, https://github.com/grafana/grafana/issues/69068 and https://github.com/Checkmk/grafana-checkmk-datasource/issues/194 for more details and screenshots.
Importantly, this only happens on ungoogled chromium. It might also be a react issue.
Actual behaviour
An unexpected error happened
Details
Error: Minified React error #185; visit https://reactjs.org/docs/error-decoder.html?invariant=185 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

    at div
    at https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:1:710
    at Ri (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:206:98760)
    at div
    at https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:1:710
    at Ra (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:206:100103)
    at S (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:2539:670)
    at oe (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:206:48329)
    at https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:209:17191
    at G (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:2557:1698)
    at V
    at div
    at a (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:5:34463)
    at div
    at div
    at nav
    at div
    at nav
    at https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:2402:1055
    at div
    at Wa (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/7658.937005d2cd066a1708ff.js:563:742)
    at div
    at div
    at V (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:140:13278)
    at a (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:518:3183)
    at Ch (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/7658.937005d2cd066a1708ff.js:1241:153)
    at tn (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:175:120702)
    at WithTheme(Connect(Ch))
    at div
    at Is (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/7658.937005d2cd066a1708ff.js:1250:57)
    at tn (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:175:120702)
    at WithTheme(Connect(Is))
    at f (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:1320:180)
    at d (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:1320:754)
    at div
    at r (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/2060.bc8dca0113c3ef0872b8.js:1:2292)
    at div
    at r (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/2060.bc8dca0113c3ef0872b8.js:1:4276)
    at C (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/2060.bc8dca0113c3ef0872b8.js:1:9630)
    at div
    at cs (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/7658.937005d2cd066a1708ff.js:1256:21)
    at Suspense
    at f (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:1320:180)
    at Qs (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:4463:333)
    at Ke (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:206:23585)
    at Ci (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:197:4727)
    at An (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:197:10217)
    at Do (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:206:11746)
    at Ke (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:206:25781)
    at div
    at div
    at div
    at main
    at nt (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:4460:2460)
    at Ci (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:197:4727)
    at An (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:197:10217)
    at Tn (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:197:9607)
    at es (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:206:12045)
    at Ke (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:206:19753)
    at div
    at o (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:2337:3973)
    at g (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:46:13846)
    at l (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:5156:18867)
    at f (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:1320:180)
    at d (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:1320:754)
    at E (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/5226.8f8087951654808d35d8.js:175:118397)
    at yr (https://grafana-assets.grafana.net/grafana/10.0.1-cloud.2.a7a20fbf/public/build/3175.d5d8c8ebc23682a510be.js:4474:127)

Expected behaviour
Not crashing
Relevant log output
No response
Additional context
You can go here https://play.grafana.org/explore?orgId=1&left={"datasource":"000000001","queries":[{"refId":"A","datasource":{"type":"graphite","uid":"000000001"}}],"range":{"from":"now-1h","to":"now"}} and then click on the "Graphite" dropdown in the upper left corner to reproduce it.

The only way forward is to try reproducing this issue on a non-minified development version. Please do so.

Error: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.

    at div
    at http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:76:23
    at MenuPortal (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:303066:24)
    at div
    at http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:76:23
    at SelectContainer (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:303155:24)
    at SelectContainer (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:69910:5)
    at Select (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:300908:90)
    at http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:303854:92
    at SelectBase (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:69626:3)
    at Select
    at div
    at div
    at div
    at ConfigEditor (http://<IP_ADDRESS>:3000/public/build/influxdbPlugin.e57760bef06f6327388e.js:125:5)
    at div
    at DataSourcePluginSettings (http://<IP_ADDRESS>:3000/public/build/Connections.bc92a475741f9561fc8f.js:1456:5)
    at DataSourcePluginContextProvider (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:28092:11)
    at form
    at EditDataSourceView (http://<IP_ADDRESS>:3000/public/build/Connections.bc92a475741f9561fc8f.js:2069:3)
    at EditDataSource (http://<IP_ADDRESS>:3000/public/build/Connections.bc92a475741f9561fc8f.js:2036:27)
    at PageContents (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:93924:25)
    at div
    at div
    at div
    at div
    at Scrollbars (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:246823:9)
    at CustomScrollbar (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:52667:3)
    at div
    at Page (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:93825:3)
    at EditDataSourcePage (http://<IP_ADDRESS>:3000/public/build/Connections.bc92a475741f9561fc8f.js:400:78)
    at Route (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:299225:29)
    at Switch (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:299427:29)
    at Connections (http://<IP_ADDRESS>:3000/public/build/Connections.bc92a475741f9561fc8f.js:189:74)
    at Suspense
    at ErrorBoundary (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:58294:5)
    at GrafanaRoute (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:100538:102)
    at Route (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:299225:29)
    at RenderedRoute (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:297987:5)
    at Routes (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:298510:5)
    at CompatRoute (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:296797:5)
    at Switch (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:299427:29)
    at div
    at div
    at div
    at main
    at AppChrome (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:88263:22)
    at RenderedRoute (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:297987:5)
    at Routes (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:298510:5)
    at Router (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:298442:15)
    at CompatRouter (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:296813:5)
    at Router (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:298844:30)
    at div
    at ModalsProvider (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:66566:5)
    at KBarProvider (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:210526:48)
    at ThemeProvider (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:103900:26)
    at ErrorBoundary (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:58294:5)
    at ErrorBoundaryAlert (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:58333:1)
    at Provider (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:293435:20)
    at AppWrapper (http://<IP_ADDRESS>:3000/public/build/app.70478c149d082bbd8cde.js:87036:5)

Tja, ich verstehe nur Bahnhof! :(
Well, it didn't get any better. We need someone who better understands train station Grafana and React. 🤷

Ich auch :)
Maybe ungoogled chromium limits the stack size more or so?

Can't reproduce on arch, maybe the issue is related to the compiler flags/libraries used on the flatpak version.

I know that I've had this issue on Arch before

Its important to note that it only happens in most cases, not in all.

Its not only grafana specific, this is also happening on github.com (in the new code browser) after a while:
Error: Minified React error #185; visit https://reactjs.org/docs/error-decoder.html?invariant=185 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at uJ (react-dom.production.min.js:266:249)
    at l1 (react-dom.production.min.js:174:247)
    at lZ (react-dom.production.min.js:174:55)
    at ut (react-dom.production.min.js:244:332)
    at ip (react-dom.production.min.js:286:111)
    at id (react-dom.production.min.js:283:409)
    at ic (react-dom.production.min.js:281:398)
    at u8 (react-dom.production.min.js:273:439)
    at av (react-dom.production.min.js:127:105)
    at ip (react-dom.production.min.js:286:247)

(just visit e.g. https://github.com/Bixilon/Minosoft/blob/work/pre-flattening/src/main/java/de/bixilon/minosoft/gui/rendering/font/provider/BitmapFontProvider.kt for a while)

I can't actually reproduce this with UGC

@Bixilon Have you tried to actually reproduce this issue in an empty profile? (It would have been dishonest to just tick the checkbox in issue template!)
It looks like it has something to do with your (and mine) profile as I couldn't reproduce this issue in an empty profile, while on my normal profile it has a 100% reproducibility:

I tried it on the guest profile. The screenshot shows an completely empty/new profile created one minute ago.
I am honest.

@rany2 Does --user-data-dir work in Flatpak? How one could run ungoogled-chromium with empty profile?

@PF4Public Yes it does, but you'll need to create the temporary folder inside the Flatpak's sandbox.
So something like flatpak run --command=bash com.github.Eloston.UngoogledChromium and then setting it up from within would work.

I tried it on the guest profile. The screenshot shows an completely empty/new profile created one minute ago.

I clicked on the icon in the top right corner and created a new profile

@rany2 Does --user-data-dir work in Flatpak? How one could run ungoogled-chromium with empty profile?

Is that different? Should I try it?

Oh, right, that must be a semantics problem and misunderstanding.
The profile in Chromium interface is a more high-level thing. What we usually understand under "profile" is the profile directory on your drive itself. Changing high-level profile does not change this low-level profile directory. Therefore in order to triage issues it is most useful to start Chromium with empty profile, which has no history, no bookmarks, no extensions and all flags are set by default. So, yeah, it is different.
You could try running ungoogled-chromium with empty folder as profile as rany2 suggested to confirm that the issue exists solely in profile.

Ah, sorry. Did not know that. Maybe we can change the issue template to link to some wiki page that explains that.
I tried (basically wiped ~/.var/app/com.github.Eloston.UngoogledChromium) and it worked.
The profile was originally taken from chromium on a different device, then copied to my current laptop (all cookies were cleared). Maybe it is a migration issue?

Maybe we can change the issue template to link to some wiki page that explains that.

I think mentioning --user-data-dir should suffice.

Maybe it is a migration issue?

It can be anything. My desktop profile was taken from laptop, but both are bugged.

I hope your question(-s) has(-ve) been answered, otherwise please let us know.

I don't really see how it was answered. I mean creating a blank profile can not be the execuse/workaround for everything. I don't want to resetup, relogin, ... everywhere.
Shouldn't that be tackled down and fixed? I mean the exact same profile used to work (it is copied from there and still 100% in tact) in stock chromium.

Is there any differences in the flags you activated when comparing profiles (check in chrome://flags or chrome://version perhaps)

Indeed. Looks like #fingerprinting-client-rects-noise is causing this crash.

@Bixilon This is exactly the reason why I've written earlier: "I don't know if it would be easy to identify the actual reason for this failure in profile, especially more so if it is not a fault of ungoogled-chromium".

especially more so if it is not a fault of ungoogled-chromium".

Isn't that flag ungoogled chromium specific? Maybe something else breaks with that flag.

On the other hand it looks suspicious why would react need to measure rects…

Sure, that is. Not going to blame them still,  it normall is a legit operation.

I'm not a frontend dev but I assume this code is causing the issues here.
It seems like Grafana is relying on the react-select package for some of their components. Some of those library components assume Element#getBoundingClientRect to behave in a predictable way (probably at least for very fast subsequent calls in which no user interaction could change the results). If this assumption is not met too often the maximum recursion depth is reached.
https://github.com/JedWatson/react-select/blob/a465818786afd4857c9155bef1e9aa2fe3356097/packages/react-select/src/components/Menu.tsx#L613-L640

Sounds resonable.
I think the option should just "randomize" it when the tab loads/reloads and not on every call (as described).
I tested it and that seems to work (go to pretty much any site, e.g. https://bixilon.de) and enter  document.getElementsByTagName("img")[0].getBoundingClientRect(). It returns the same value and it only changes when pressing F5.
How can this be broken? Is react somehow instantiating multiple document classes? Is that even possible?

FWIW I've replaced fingerprinting patches with uazo's ones and can no longer reproduce this issue. At the same time fingerprinting protection is verified to be functioning.

Having the same issue with GitHub online editor
https://github.com/ungoogled-software/ungoogled-chromium/assets/41706133/78f51ea9-fe60-454b-b4af-4629db56de60

@anyone00 try disabling fingerprinting-client-rects-noise as mentioned above.

Indeed that fixes the issue 👍

FWIW I've replaced fingerprinting patches with uazo's ones and can no longer reproduce this issue. At the same time fingerprinting protection is verified to be functioning.

Do you plan to integrate that and replace the current one?

Do you plan to integrate that and replace the current one?

No

@Bixilon @anyone00 This issue might be fixed in https://github.com/ungoogled-software/ungoogled-chromium/pull/2790#issuecomment-2041211484

@PF4Public Whoo! Can't update atm, something is really broken with ungoogled chromium 123+ (can not see any content rendered). No time to investigate it yet (not sure if it is flatpak, chromium or ungoogled chromium). Might file a but in some days...

@Bixilon Please note that that PR was just merged and will be available with the next version bump.


PETSc segfault when loading facet meshtags

I've created a simple exodus tetrahedral mesh of the domain (-1, +1)^3 with cell blocks and facet blocks. I'm able to successfully convert the mesh to .xdmf format using mesh_converter. However, when I try and read the facet meshtags into dolfinx I get a PETSc seg fault error. The following lines of code reproduce the error:
from dolfinx import io
from mpi4py import MPI
xfile = io.XDMFFile(MPI.COMM_WORLD, 'unit_cube_tet.xdmf', 'r')
mesh = xfile.read_mesh(name='Mesh')
block_data = xfile.read_meshtags(mesh, name='Mesh')
fmesh = xfile.read_mesh(name='Facet_Mesh')
bdry_data = xfile.read_meshtags(fmesh, name='Facet_Mesh') #Problem

The above runs fine with the last line commented. The error message is:
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range
[0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
[0]PETSC ERROR: or see https://petsc.org/release/faq/#valgrind
[0]PETSC ERROR: or try http://valgrind.org on GNU/linux and Apple Mac OS X to find memory corruption errors
[0]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run
[0]PETSC ERROR: to get more information on the crash.
[0]PETSC ERROR: Run with -malloc_debug to check if memory corruption is causing the crash.
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 59.

You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------

The .xdmf file looks perfect in Paraview and correctly shows the cell blocks and facet blocks. Any help is appreciated. My goal is to use the bdry_data meshtags to apply boundary conditions in dolfinx.

I would need the xdmf and h5 file to diagnose the issue.

I'm able to recreate the error with the mesh I emailed you yesterday, but I'll also send you this particular file. Thanks.

You are reading the the facet tags in the wrong way.
Here is an MWE:
from dolfinx import io
import dolfinx
from mpi4py import MPI
xfile = io.XDMFFile(MPI.COMM_WORLD, 'quarter_shell_tet.xdmf', 'r')
mesh = xfile.read_mesh(name='Mesh')

block_data = xfile.read_meshtags(mesh, name='Mesh')
mesh.topology.create_connectivity(mesh.topology.dim-1, mesh.topology.dim)
bdry_data = xfile.read_meshtags(mesh, name='Facet_Mesh')  # Problem
xfile.close()


Add the ability to ssh with key

Users are going to want to use their public/private keys to log into their compute nodes (sometimes this is required at facilities, e.g. blues).

done


Horizontal scroll Issue

When there is a horizontal scroll in a component,PDF generated only shows the component which are visible in screen and rest are discarded.

Not sure if that matters now, sorry for that, but please provide a reproducible example (codegen, jsfiddle, etc). V1 has been released too with html2canvas and jspdf upgrades, please check first using the newest versions if that is still a issue.


Remove suse.RancherDesktop 1.2.1 to SUSE.RancherDesktop 1.2.1

Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/rancher-sandbox/rancher-desktop/releases/download/v1.2.1/Rancher.Desktop.Setup.1.2.1.exe
Status Code: 200
(Automated message - build 896)


Service unavailable 503

After the deployment all workloads and pods are succeeded up and running except only one sas-connect-spawner which is in pending state. Also when i try to use the sas portal through the fqdn that i gave, it shows an error of 503 service unavailable, but i think that if i use the SASLogon/login path it takes me to the portal to login... any idea why is this happening? is the service available or not?

You'll need to check the state of the pods in your deployment. If sas-connect-spawner is in pending state you'd need to check the events on that pod as there won't be any logs. Need to see if the pod is being pulled or reason kubernetes is unhappy. Start there.

Marking as stale/inactive. If there are additional questions, please open a new Github issue.


Image GUI: TMS level of detail selector

A simple PDropdownMenu is needed to let users select their TMS image level of detail, in the Image::Appearance tab.

Should be fixed with #2426


Fix broken links and grammer in ricing page

I have fixed some broken links and fixed grammatically mistakes in the post.

Hey I am pretty sure that this pull request broke the deployment, since you can see that the building processes (by github) resulted in an error and https://thatnixguy.github.io/ gives a 404


League Game going to right bottom corner

Hey so whenever im running the bot and it picks champion and it goes into loading screen the game goes to right bottom corner and the error i get is PyAutoGUI fail-safe triggered from mouse moving to a corner and then after some times the game closes and never re opens (im not touching my mouse at all i even have it unplugged and it still does it)

it seems like i found a fix to it i just had my output from pc displayed on my tv and it has lower resolution than 1920x1080 which resulted in that problem but now that i tried different display it works flawlessly  atleast for now

it happens on 1920x1080 aswell so idk

hmm okay, il look into this. Thanks

is this still an issue on the latest version?

is this still an issue on the latest version?

idk i got perma banned and gave up on leveling

Sorry for your loss brother


Unification of coding files

The coding files that define how the Abacus variables are calculated from the ODK Aggregate raw data are currently country-specific. They do not share codes even though in reality the the countries share a large amount of variable codings. Unifying the coding will reduce redundant testing. In addition, breaking down the coding files into modules will reduce merge conflicts when doing parallel development.

Things to do:

[ ] Edit import function to handle a list of coding files as a parameter
[ ] Break down coding files for Demo
[ ] Break down coding files for Jordan
[ ] Break down coding files for Madagascar
[ ] Break down coding files for RMS

I suggest to break down coding files for Test as well (unless we will make test_codes the same as demo_codes)

All priority issues have been moved to the private meerkat_issues repo.


Chainable try steps from different services

I'm not sure how to handle chainable try steps failures. Here is an example to illustrate:
require 'dry/transaction'

SomeError = Class.new(StandardError)

Container = Dry::Container.new.tap do |c|
  c.register :service_a do
    ServiceA.new
  end
  c.register :service_b do
    ServiceB.new
  end
end

class ServiceA
  include Dry::Transaction(container: Container)

  try :persist_a, catch: SomeError

  def persist_a(msg)
    if rand(2) == 0
      fail SomeError
    else
      msg
    end
  end
end

class ServiceB
  include Dry::Transaction(container: Container)

  try :persist_a, with: :service_a, catch: SomeError
  try :persist_b, catch: SomeError

  def persist_b(msg)
    msg
  end
end

Then on console:
> Container.resolve(:service_b).call("foo")
=> Right(Left(#<SomeError: SomeError>))
> Container.resolve(:service_b).call("foo")
=> Right(Right("foo"))

In the first case, when the exception is triggered by ServiceA, we end-up with nested either value objects. What's the best way to handle such workflow where we want to chain multiple try steps?

@gottfrois
require 'dry/transaction'

SomeError = Class.new(StandardError)

Container = Dry::Container.new.tap do |c|
  c.register :service_a do
    ServiceA.new
  end
  c.register :service_b do
    ServiceB.new
  end
end

class ServiceA
  include Dry::Transaction(container: Container)

  try :persist_a, catch: SomeError

  def persist_a(msg)
    if rand(2) == 0
      fail SomeError
    else
      msg
    end
  end
end

class ServiceB
  include Dry::Transaction(container: Container)

  try :persist_a, with: :service_a, catch: SomeError
  try :persist_b, catch: SomeError

  def persist_b(msg)
    if msg.left?
      raise msg.value
    else
      msg.value
    end
  end
end

Hope this help

Thanks for the tip here. After thinking this a bit more through i've realised it would be even better using operations and have one class play the role as the orchestrer using transaction and steps


Fix example code in Explore plugin README

Hey, I just made a Pull Request!

I was setting up the Explore plugin and realized that the example code in the customization section was not valid. Updated to fix the errors.
:heavy_check_mark: Checklist

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

Thanks for your review @freben. Since I made the PR straight from the GitHub web UI, I am having an issue generating the changeset. Hopefully I will get that added shortly


should return if CONNEXTDDS_ARCH is not set after guessing

https://github.com/ros2/rmw_connextdds/blob/46b23ca3ca718ab4c624898b1e543b0b3e57000d/rti_connext_dds_cmake_module/cmake/rti_build_helper.cmake#L562
should be:
        if(NOT CONNEXTDDS_ARCH)
          rti_guess_connextdds_arch()
          if(NOT CONNEXTDDS_ARCH)
            return()
          endif()
        endif()

Hi @asobhy-qnx,
Thank you for your suggestion! The change makes sense to me, since at the moment the build will "fall through" without a CONNEXTDDS_ARCH value, and fail more subtly at a later point.
I'll try to update the build files soon, but feel free to open a PR on the repository if you want/have the bandwidth. Community contributions are always welcome 😄


New frontends for JupyterCad

For now, JupyterCad can only be opened from the main interface of JupyterLab, I think it's possible to extend the scope of JupyterCad to make it become:

[ ] A notebook widget where users can visualize and interact with jcad or FCStd files using python APIs.
[ ] A lab-based app, which can be opened independently of JupyterLab by calling jupyter cad

@hbcarlos @martinRenou FWI I'm working on the first option above.


Removing public form url

When we remove public from url, data does not show in backend or does not register record from frontend.
http://localhost/laravel-adminpanel/public/admin/dashboard - it is working fine
http://localhost/laravel-adminpanel/admin/dashboard - record does not show
Please help

@ashutosh2801 you need to create the virtual host or run

php artisan serve

from your root folder.


import: examples using example-get-started have a problem (chained imports)

Docs Bug Report
UPDATE: see https://github.com/iterative/dvc/issues/5209#issuecomment-755295653
Description
I try to import an existing data file and DVC crashes.
(related to https://github.com/iterative/dvc/issues/2599#issuecomment-566346857)
Reproduce
$ dvc import git@github.com:iterative/example-get-started data/data.xml
Importing 'data/data.xml (git@github.com:iterative/example-get-started)' -> 'data.xml'
ERROR: unexpected error - [Errno 2] No such file or directory: '/myproject/.dvc/cache/a3/04afb96060aad90176268345e10355'

Verbose output
2021-01-03 16:27:29,709 DEBUG: Check for update is enabled.
2021-01-03 16:27:29,710 DEBUG: fetched: [(3,)]
2021-01-03 16:27:29,929 DEBUG: Removing output 'data.xml' of stage: 'data.xml.dvc'.
Importing 'data/data.xml (git@github.com:iterative/example-get-started)' -> 'data.xml'
2021-01-03 16:27:29,932 DEBUG: Computed stage: 'data.xml.dvc' md5: '7168ca3824fbc00724b01499e1d31654'
2021-01-03 16:27:29,933 DEBUG: 'md5' of stage: 'data.xml.dvc' changed.
2021-01-03 16:27:29,933 DEBUG: Creating external repo git@github.com:iterative/example-get-started@None
2021-01-03 16:27:29,934 DEBUG: erepo: git clone 'git@github.com:iterative/example-get-started' to a temporary dir
2021-01-03 16:27:31,714 DEBUG: Saving '../../../../tmp/tmp2liy0m1zdvc-clone/data/data.xml' to '.dvc/cache/a3/04afb96060aad90176268345e10355'.
2021-01-03 16:27:31,715 DEBUG: cache '/myproject/.dvc/cache/a3/04afb96060aad90176268345e10355' expected 'HashInfo(name='md5', value='a304afb96060aad90176268345e10355', dir_info=None, size=37891850, nfiles=None)' actual 'None'
2021-01-03 16:27:31,716 DEBUG: cache '/myproject/.dvc/cache/a3/04afb96060aad90176268345e10355' expected 'HashInfo(name='md5', value='a304afb96060aad90176268345e10355', dir_info=None, size=37891850, nfiles=None)' actual 'None'
2021-01-03 16:27:31,735 DEBUG: Preparing to download data from 'https://remote.dvc.org/get-started'
2021-01-03 16:27:31,735 DEBUG: Preparing to collect status from https://remote.dvc.org/get-started
2021-01-03 16:27:31,735 DEBUG: Collecting information from local cache...
2021-01-03 16:27:31,739 DEBUG: fetched: [(0,)]
2021-01-03 16:27:31,745 ERROR: unexpected error - [Errno 2] No such file or directory: '/myproject/.dvc/cache/a3/04afb96060aad90176268345e10355'
------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/main.py", line 90, in main
    ret = cmd.run()
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/command/imp.py", line 21, in run
    desc=self.args.desc,
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/repo/imp.py", line 7, in imp
    path, out=out, fname=fname, erepo=erepo, frozen=True, **kwargs
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/repo/__init__.py", line 54, in wrapper
    return f(repo, *args, **kwargs)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/repo/scm_context.py", line 4, in run
    result = method(repo, *args, **kw)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/repo/imp_url.py", line 64, in imp_url
    stage.run()
  File "/home/jop/.local/lib/python3.6/site-packages/funcy/decorators.py", line 39, in wrapper
    return deco(call, *dargs, **dkwargs)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/stage/decorators.py", line 36, in rwlocked
    return call()
  File "/home/jop/.local/lib/python3.6/site-packages/funcy/decorators.py", line 60, in __call__
    return self._func(*self._args, **self._kwargs)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/stage/__init__.py", line 500, in run
    sync_import(self, dry, force)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/stage/imports.py", line 30, in sync_import
    stage.deps[0].download(stage.outs[0])
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/dependency/repo.py", line 78, in download
    _, _, cache_infos = repo.fetch_external([self.def_path])
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/external_repo.py", line 176, in fetch_external
    path, repo, download_update, **kwargs
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/external_repo.py", line 147, in _fetch_to_cache
    download_callback=callback,
  File "/home/jop/.local/lib/python3.6/site-packages/funcy/decorators.py", line 39, in wrapper
    return deco(call, *dargs, **dkwargs)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/cache/base.py", line 40, in use_state
    return call()
  File "/home/jop/.local/lib/python3.6/site-packages/funcy/decorators.py", line 60, in __call__
    return self._func(*self._args, **self._kwargs)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/cache/base.py", line 317, in save
    self._save(path_info, tree, hash_info, save_link, **kwargs)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/cache/base.py", line 326, in _save
    self._save_file(path_info, tree, hash_info, save_link, **kwargs)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/cache/base.py", line 213, in _save_file
    with tree.open(path_info, mode="rb") as fobj:
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/tree/repo.py", line 152, in open
    return dvc_tree.open(path_info, mode=mode, encoding=encoding, **kwargs)
  File "/home/jop/.local/lib/python3.6/site-packages/dvc/tree/dvc.py", line 107, in open
    return open(cache_path, mode=mode, encoding=encoding)
FileNotFoundError: [Errno 2] No such file or directory: '/myproject/.dvc/cache/a3/04afb96060aad90176268345e10355'
------------------------------------------------------------
2021-01-03 16:27:32,087 DEBUG: Version info for developers:
DVC version: 1.11.8 (pip)
---------------------------------
Platform: Python 3.6.9 on Linux-4.19.128-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic
Supports: gdrive, gs, hdfs, http, https, s3, ssh, oss
Cache types: <https://error.dvc.org/no-dvc-cache>
Caches: local
Remotes: None
Repo: dvc, git

Having any troubles? Hit us up at https://dvc.org/support, we are always happy to help!
2021-01-03 16:27:32,088 DEBUG: Analytics is disabled.

Expected
data.xml + data.xml.dvc in the cwd.
Environment information

Output of dvc version:
$ dvc version
DVC version: 1.11.8 (pip)
---------------------------------
Platform: Python 3.6.9 on Linux-4.19.128-microsoft-standard-x86_64-with-Ubuntu-18.04-bionic
Supports: gdrive, gs, hdfs, http, https, s3, ssh, oss
Cache types: <https://error.dvc.org/no-dvc-cache>
Caches: local
Remotes: None
Repo: dvc, git

Additional Information (if any):

@jorgeorpinel transferred!

@jorgeorpinel transferred!

Thanks @shcheklein

ERROR: unexpected error - [Errno 2] No such file or directory

p.s. @pared does #3305 cover improving that error message as a first step? There's no hint at all of what might be the problem.

Thanks @shcheklein

ERROR: unexpected error - [Errno 2] No such file or directory

p.s. @pared does #3305 cover improving that error message as a first step? There's no hint at all of what might be the problem.


Create our work part

Create our work part

Could you refactor all your PRs, by using branches in the same repo instead of forking ? Coz' it's easier for me to clone and check locally.
I'm sorry if you don't know it from beginning.


How to avoid the CMD window pop up when running on Windows?

I'm beginner to EGui and I'm trying to build my first application and run it on Windows operating system.
I noticed that it also opens a CMD window.
I'm not sure how to avoid this.
I want my application to run without any side effects.
Also, is there any documentation for EGui other than examples or demos?

Add this line that is in all the examples:
https://github.com/emilk/egui/blob/ded8dbd45bc8616475c364878f6b8e2f7293d12c/examples/hello_world/src/main.rs#L1
All crates have documentation on docs.rs, also linked from the crate page on crates.io. Here is the one for egui:
https://docs.rs/egui/0.27.2/egui/

@YgorSouza
I might not have described my idea clearly.
I need a documentation website similar to https://ng.ant.design/docs/introduce/en, so I can easily find how to get started, locate the components I need, and understand the detailed configurations of each component.
Currently, on docs.rs, I don't even know how to run my first application.


:zap: lua support added

Can we be sure it doesn't break vim compatibility ?
I'm pro-neovim myself but I want to make sure there is feature parity

I guess it fixes #2

Yes, it doesn't break vim compatibility, if instead of merging PR to the main branch, create lua branch from the pull request.


Remove exceptions suppress

Description

Removed exceptions suppressions from code (and null returning when data is invalid)
Fixed tests

Motivation and Context

Fixes nanoFramework/Home#1114

How Has This Been Tested?

Screenshots
Types of changes

[x] Improvement (non-breaking change that improves a feature, code or algorithm)
[ ] Bug fix (non-breaking change which fixes an issue with code or algorithm)
[ ] New feature (non-breaking change which adds functionality to code)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Config and build (change in the configuration and build system, has no impact on code or features)
[ ] Dependencies (update dependencies and changes associated, has no impact on code or features)
[x] Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
[ ] Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

[x] My code follows the code style of this project (only if there are changes in source code).
[ ] My changes require an update to the documentation (there are changes that require the docs website to be updated).
[ ] I have updated the documentation accordingly (the changes require an update on the docs in this repo).
[x] I have read the CONTRIBUTING document.
[x] I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
[x] I have added new tests to cover my changes.

@josesimoes
Not sure what happed there, probable IDE just reformatted whole code in "JsonConverter" class after removing try/catch block. Haven't noticed that. In fact, there are only three changes:

Removing try/catch block from JsonConverter.PopulateObject method
Replaced "return null" in JsonConverter.PopulateObject method with "throw new DeserializeException"
Adjusted TimeSpanExtensions.TryConvertFromString to throw InvalidCastException when wrong data provided (instead of returning false)


[T3A4][T16-A2]ZhaoTianze

handle the situation where the user deletes the storage file while the AddressBook program is running

Try to keep the first line of your commit message brief (within 50 characters). If you wish to add in more details, do so in the next line.
@tankztz Some comments added. Please close the PR after reading comments.


Fix CSP for full refresh

Strict dynamic and a hash ofr the dotnet.js is required.
          builder.AddScriptSrc()
              .WithNonce()
              .UnsafeEval() // due to Blazor WASM
              .StrictDynamic()
              .UnsafeInline(); // only a fallback for older browsers when the nonce is used

fixed


Don't error silently in dev mode for inserting styles

Errors should throw in dev and (sometimes) be silent in prod, never the opposite.

Have a fix in https://github.com/tamagui/tamagui/commit/df14f54db75ca0b204e6a4e8d85e0f35d07c0c6d


Faulty assumption in preload=metadata test

http://areweplayingyet.org/attribute-preload-metadata assumes that preload="metadata" will be reached in 1 second, which the spec says nothing about. We try to buffer 30 seconds of data, regardless of how long that takes.

Actually that is not what the code does. The code waits for the loadedmetadata event to be triggered and after that checks if there is still data being loaded, which is not supposed to happen.

http://www.w3.org/TR/html5/video.html#attr-media-preload-metadata
It's not reasonable to load 30 seconds of that with preload="metadata".

The spec says "The preload attribute is intended to provide a hint to the user agent about what the author thinks will lead to the best user experience. The attribute may be ignored altogether, for example based on explicit user preferences or based on the available connectivity." I have personally objected to the "hintiness" of preload, but it does mean that the spec quite definitely allows the behavior that we have chosen. Since metadata is the default preload state, our assessment was that loading 30 s is better than getting only the duration and dimensions. Otherwise, any time that a user starts playing a video it will immediately stall for buffering.
Also note that the loadedmetadata event is related to readyState and the progress events are related to networkState. These two states aren't tightly coupled (at least not in the spec) in a way that one could ever guarantee that the network stops loading immediately when the decoding pipeline reaches a certain state. (One could spec that we should lie about it of course, if scripts came to assume such things.)

This issue should be reopened. As foolip said, the spec certainly allows the UA to wait for 30s to be loaded for preload=metadata. A testsuite like this should test for things the spec requires, not things the test author thinks is "reasonable".

As it creates unexpected behavior this should get specified, in the meantime we want to test for "reasonable" real-world applications.
The goal of this project is to point out exactly these kind of issues that we can have in practice.

If you want it to be specified in some particular way, e.g. forbidding any progress events after the loadedmetadata event, please send an email to the WHATWG, HTML WG or use the bug submission form at the bottom of http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-media-preload
Please do not mix tests for specified behavior with tests for deliberately unspecified behavior. It is not an Opera bug that we treat preload=metadata the way we do.

@foolip We're trying to bring harmony to the HTML5 implementations. That's the purpose of this project. Your implementation of the preload="metadata" breaks expectations even if it is compliant. So we're asking you to please consider the broader scope of the problem and be open to discussion. I am going to loop in other browser vendors on this issue for gathering more opinions.

If you think the spec is unreasonable in allowing implementations to treat preload=metadata as a hint it would be good if you could provide this feedback to the WHATWG or HTML WG. Feedback from web developers as well as user agent implementers is important and with a spec change it's much more likely that implementations will conform.

What @doublec said. I'm quite willing to reconsider what we've implemented, but lacking a state between metadata and auto I think what we've done leads to a better experience, since you can start playing a video without immediately pausing for buffering. We could perhaps decrease it from 30 or 15 seconds (or whatever), but I don't think that stopping immediately when reaching HAVE_CURRENT_DATA (not HAVE_METADATA, because the first frame is not available then) is really that useful -- if bandwidth is super-precious you should be using preload=none.

@foolip isn't that missing state the auto value?

No, people use preload=auto expecting that as much as possible of the resource will load, not just x seconds.

Since preload is specified as a hint only (and may be ignored by the UA), it's not possible to test the behaviour without encoding implementation-specific assumptions in the test, which is not an approach I recommend.  Firefox already treats preload differently on mobile vs desktop (by treating preload="auto" as preload="metadata" on mobile).

I understand that @kinetiknz. How do you think we can bring harmony to this attribute among implementations?


Prefer setuptools with Python 3

This is a follow up to https://github.com/ros/genmsg/pull/90#issuecomment-575702761
Currently catkin requires distutils and optionally supports setuptools; however, distutils for Python 3 requires a dependency on python3-distutils in Ubuntu Focal and Debian Buster. This PR makes catkin prefer setuptools and optionally support distutils when using Python 3.

catkin itself uses setuptools in its own setup.py
When interrogating another package's setup.py, don't fail if distutils.core can't be imported
When using Python 3, add a buildtool_export_depend on setuptools since something like it must be available downstream
Update documentation to use setuptools instead of distutils.core.

With this PR I think the effect on Python 2 ROS distros is python-setuptools would be installed where it wasn't before, but no downstream changes are required. The effect on Noetic is downstream packages depending on catkin either need to depend on python3-distutils or use setuptools instead.

This change is causing a bit of chaos for us as the install directory has changed from lib/python3/dist-packages/catkin to lib/python3/dist-packages/catkin-0.8.0-py3.5.egg, with an lib/python3/dist-packages/easy-install.pth file generated that adds the egg path to sys.path on interpreter startup.
Part of the reason this is problematic is because we build in isolation with custom post-build merging, but even in a more conventional build scenario, there's a conflict over this file as it could be provided by multiple packages with varying contents.
Switching to setuptools makes sense, but I think we should be passing it the --single-version-externally-managed flag.
FYI @tspicer01

This pull request has been mentioned on ROS Discourse. There might be relevant details there:
https://discourse.ros.org/t/ros-1-and-python-3-10s-deprecation-of-distutils-core/29834/15


passed run_tests script

Verified that run_tests script exits successfully for configurator module, firewall agent, generic_config agent and vyos_fw_driver.
@mageshgv-oc

Changes look fine. @dpaks can we make these changes on nfp-integration and configurator branches also?


Revert "BUG 2225436: rbd: do not execute rbd sparsify when volume is in use"

Reverts red-hat-storage/ceph-csi#173
The pr had a invalid-bug label and  should not have merged.
/hold

/lgtm


Removed KB Checks

No longer including KB checks, as they are really old and we aren't really using it currently.

#167 can be closed as the code is now removed.

#274  can be closed as the code is now removed.


caps-lock

Description of the new feature / enhancement
i REALLY WANT TO turn off THE caps-lock key as it fucks up my daily typing 90% of the time.
Why doesn't the function "CAPS-LOCK" and "NONE" work for me?
Scenario when this would be used?

You should be able to remap caps lock to Disable

/helped


Write up How To... documents

Technical requirements: Github account, gcloud tool, editor
Adding/updating provider data
Deploying to Google Cloud Platform
(Optional?) Selenium
Put them here: https://drive.google.com/drive/u/0/folders/1CTML_seSxTZap4ZGo3_Fw-RiZOs-9Lue

Need to add github login, but that should be it.

Any more edits will be dependent on the walk-throughs with Andre and Kevin.


Add tests for incompatible units and quantities

Add some more tests. Make coverage great again!  Before this gets merged, I want to exclude setup.py from the coverage.

Current coverage is 77.48% (diff: 100%)

Merging #13 into master will increase coverage by 2.09%

@@             master        #13   diff @@
==========================================
  Files             6          6
  Lines           191        191
  Methods           0          0
  Messages          0          0
  Branches         42         42
==========================================
+ Hits            144        148     +4
+ Misses           36         33     -3
+ Partials         11         10     -1

Powered by Codecov. Last update 2396b2c...3da2f05

I'm somewhat disappointed that the commit message isn't making coverage great again.

Looks like we can use codecov.yml to exclude paths or files. Let me give that a shot

Only commits that get us to 100% coverage should be called making coverage great again 😛


added sieve of eratosthenes in cpp

Looks Good :+1:
Add yourself to our contributors list as well if u haven't already...


1.6 updates?

I think this is out of date with the staging area of the main kubernetes repo. I updated it in https://github.com/kubernetes/kubernetes/pull/41931 and those changes don't seem to be reflected here.

https://github.com/kubernetes/client-go/pull/140 is updating the master branch.
It has to be merged at the same time as other PRs to other repos that client-go depends on or is depended by.

gotcha thanks!

Looks like the changes are populated to the master branch. Closing.


Input style resets when browsing through Android

Input style resets when browsing through Android.
Your Environment

Version used: 2.3.7
Browser Name and version: Chrome 55.0.2883.91 and default Android browser.
Operating System and version (desktop or mobile): Android 6.0
Link to your project: https://skytickets.ga

Hello,
That's because the input type is changed to datetime-local, which looks like is unstyled.
You simply need to extend your input styles to the [type='datetime-local']


No error in analyzer for invalid constant value

The following code produces expected errors in VM but no errors in analyzer

dynamic nonConst;
const int i = 5;
bool bb = true;

main() {
  const bool a1 = (i < 0) && nonConst;
//                           ^^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

  const bool a2 = false && bb;
//                         ^^
// [analyzer] unspecified
// [cfe] unspecified

  const bool a3 = false && i < nonConst;
//                             ^^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

Dart SDK version: 2.10.0-59.0.dev (dev) (Tue Aug 25 18:05:44 2020 -0700) on "windows_x64"

This depends on the word 'further' in the language specification.
I think it's reasonable to interpret that word as implying that e1 && e2 is a constant expression if it is a potentially constant expression and also $e_1$ evaluates to \FALSE (the other branch becomes: if it is a potentially constant expression and also $e_1$ evaluates to \TRUE{} and $e_2$ is a constant expression that evaluates to an instance of type \code{bool}).
So e1 && e2 is not a constant expression unless e2 is a potentially constant expression. So we should have the error.

https://dart-review.googlesource.com/c/sdk/+/205662


Missing swagger documentation

Describe the bug
It looks like the documentation for the /api/users is missing from swagger, ran a little script to check. Created a list with checkboxes, can be fixed with many small PRs.
#!/bin/bash

grep '^ */' public/swagger.yml | sed 's#^ */\(.*\): *$#/api/\1#' | sed 's/{\([^}]*\)}/:\1/g' | sort > swagger.api
grep '^[A-Z]* */api/' conf/routes | sed 's#[A-Z]* *\([^ ]*\).*#\1#' | sort > routes.api

diff swagger.api routes.api > docs.diff

echo "MISSING IN SWAGGER"
awk '/^> / { print "- [ ]",$2 }' docs.diff

echo ""
echo "EXTRA IN SWAGGER"
awk '/^< / { print "- [ ]",$2 }' docs.diff

Resulting in the following errors:
MISSING IN SWAGGER

[ ] /api/3dTextures
[ ] /api/collections
[ ] /api/collections/:coll_id
[ ] /api/collections/:coll_id/datasets/:ds_id
[ ] /api/collections/datasetPossibleParents/:ds_id
[ ] /api/collections/restore/:collectionId
[ ] /api/comment/:id
[ ] /api/comment/:id/editComment
[ ] /api/comment/:id/removeComment
[ ] /api/comment/mention
[ ] /api/contexts
[ ] /api/contexts/:id
[ ] /api/contexts/:name/context.json
[ ] /api/datasets
[ ] /api/datasets/:datasetId/copyDatasetToSpace/:spaceId
[ ] /api/datasets/:datasetId/folders
[ ] /api/datasets/:datasetId/moveFile/:toFolder/:fileId
[ ] /api/datasets/:datasetId/moveToDataset/:fromFolder/:fileId
[ ] /api/datasets/:ds_id/extractions/:msg_id
[ ] /api/datasets/:id
[ ] /api/datasets/:id/creator
[ ] /api/datasets/:id/downloadFolder
[ ] /api/datasets/:id/downloadPartial
[ ] /api/datasets/:id/files
[ ] /api/datasets/:id/filesetUploadEvent
[ ] /api/datasets/:id/listAllFiles
[ ] /api/datasets/:id/metadata
[ ] /api/datasets/:id/metadata.jsonld
[ ] /api/datasets/:id/tags
[ ] /api/datasets/:id/users
[ ] /api/dumpDatasetGroupings
[ ] /api/dumpDatasetsMd
[ ] /api/dumpFilesMd
[ ] /api/editVocabulary/:vocab_id
[ ] /api/extractions/:extractorName/delete
[ ] /api/extractors
[ ] /api/extractors/labels/:id
[ ] /api/fileThumbnail
[ ] /api/files
[ ] /api/files/:file_id/extractions
[ ] /api/files/:file_id/extractions/:msg_id
[ ] /api/files/:file_id/thumbnails/:thumbnail_id
[ ] /api/files/:id
[ ] /api/files/:id/archive
[ ] /api/files/:id/metadata
[ ] /api/files/:id/metadata.jsonld
[ ] /api/files/:id/paths
[ ] /api/files/:id/sendArchiveRequest
[ ] /api/files/:id/sendUnarchiveRequest
[ ] /api/files/:id/tags
[ ] /api/files/:id/tags/remove
[ ] /api/files/:id/unarchive
[ ] /api/files/:id/users
[ ] /api/files/:id/versus_metadata
[ ] /api/files/:three_d_file_id/3dTextures/:texture_id
[ ] /api/files/:three_d_file_id/:filename
[ ] /api/files/:three_d_file_id/geometries/:geometry_id
[ ] /api/files/metadata.jsonld
[ ] /api/files/searchmetadata
[ ] /api/files/searchusermetadata
[ ] /api/files/uploadIntermediate/:idAndFlags
[ ] /api/geometries
[ ] /api/indexes
[ ] /api/indexes/features
[ ] /api/institutions/addinstitution
[ ] /api/logos
[ ] /api/logos/:id
[ ] /api/logos/:path/:name
[ ] /api/me
[ ] /api/metadata.jsonld
[ ] /api/metadata/definition/:id
[ ] /api/metadata/definitions
[ ] /api/metadata/definitions/:id
[ ] /api/metadata/people
[ ] /api/metadata/people/:pid
[ ] /api/metadata/repository/:id
[ ] /api/metadata/url/*in_url
[ ] /api/previews
[ ] /api/previews/:dzi_id/tiles/:tile_id/:level
[ ] /api/previews/:dzi_id_dir/:level/:filename
[ ] /api/previews/:id
[ ] /api/previews/:id/annotationAdd
[ ] /api/previews/:id/annotationEdit
[ ] /api/previews/:id/annotationsList
[ ] /api/previews/:id/metadata
[ ] /api/previews/:id/title
[ ] /api/previews/:preview_id/textures/dataset/:dataset_id//:filename
[ ] /api/previews/:preview_id/textures/dataset/:datasetid/json
[ ] /api/projects/addproject
[ ] /api/proxy/:endpoint_key
[ ] /api/proxy/:endpoint_key/
[ ] /api/proxy/:endpoint_key/*pathSuffix
[ ] /api/queries/:id
[ ] /api/reindex
[ ] /api/relations
[ ] /api/relations/:id
[ ] /api/relations/search
[ ] /api/reports/metrics/spaces
[ ] /api/reports/metrics/users
[ ] /api/search/json
[ ] /api/search/multimediasearch
[ ] /api/sections/:id
[ ] /api/sections/:id/tags
[ ] /api/selected
[ ] /api/selected/clear
[ ] /api/selected/files
[ ] /api/selected/remove
[ ] /api/selected/tag
[ ] /api/sensors
[ ] /api/sensors/:id
[ ] /api/sensors/config
[ ] /api/sensors/search
[ ] /api/spaces
[ ] /api/spaces/:id
[ ] /api/spaces/:id/metadata
[ ] /api/sparqlquery
[ ] /api/standardvocab
[ ] /api/standardvocab/:id
[ ] /api/status
[ ] /api/tiles
[ ] /api/tree/getChildrenOfNode
[ ] /api/uploadToDataset/withFlags/:id/:flags
[ ] /api/users
[ ] /api/users/:id
[ ] /api/users/:id/updateName
[ ] /api/users/addUserDatasetView
[ ] /api/users/createNewListInUser
[ ] /api/users/email/:email
[ ] /api/users/follow
[ ] /api/users/keys
[ ] /api/users/keys/:key
[ ] /api/users/keys/:name
[ ] /api/users/unfollow
[ ] /api/version
[ ] /api/vocabterms/:id
[ ] /api/vocabterms/list
[ ] /api/vocabularies/:name
[ ] /api/vocabularies/:name/getByNameAuthor
[ ] /api/vocabularies/:vocab_id
[ ] /api/vocabularies/:vocab_id/addToSpace/:space_id
[ ] /api/vocabularies/createVocabulary
[ ] /api/vocabularies/createVocabularyFromJson
[ ] /api/vocabularies/getByAuthor
[ ] /api/vocabularies/getPublic
[ ] /api/vocabularies/list
[ ] /api/vocabuliaries/:vocab_id/removeFromSpace/:space_id

GEOSTREAMS

[ ] /api/geostreams/cache
[ ] /api/geostreams/cache/:id
[ ] /api/geostreams/cache/invalidate
[ ] /api/geostreams/config
[ ] /api/geostreams/counts
[ ] /api/geostreams/datapoints
[ ] /api/geostreams/datapoints/:id
[ ] /api/geostreams/datapoints/averages
[ ] /api/geostreams/datapoints/bin/:time/:depth
[ ] /api/geostreams/datapoints/bulk
[ ] /api/geostreams/datapoints/trends
[ ] /api/geostreams/dropall
[ ] /api/geostreams/sensors
[ ] /api/geostreams/sensors/:id
[ ] /api/geostreams/sensors/:id/stats
[ ] /api/geostreams/sensors/:id/streams
[ ] /api/geostreams/sensors/:id/update
[ ] /api/geostreams/sensors/update
[ ] /api/geostreams/streams
[ ] /api/geostreams/streams/:id
[ ] /api/geostreams/streams/:id/update
[ ] /api/geostreams/streams/update

EXTRA IN SWAGGER (might be just wrong parameter)

[ ] /api/clowder/spaces/curations/:id/curationFile
[ ] /api/clowder/spaces/curations/:id/files/:curationFileId
[ ] /api/clowder/spaces/curations/:id/folders/:curationFolderId
[ ] /api/clowder/spaces/curations/:id/matchmaker
[ ] /api/clowder/spaces/curations/retract/:id
[ ] /api/collections/:coll_id/datasetPossibleParents/:ds_id
[ ] /api/collections/:coll_id/getDatasets
[ ] /api/collections/restore/:coll_id
[ ] /api/datasets/:ds_id/copyDatasetToSpace/:space_id
[ ] /api/datasets/:ds_id/folders
[ ] /api/datasets/:ds_id/listAllFiles
[ ] /api/datasets/:ds_id/moveFile/:folder_id/:file_id
[ ] /api/datasets/:ds_id/moveToDataset/:folder_id/:file_id
[ ] /api/datasets/:id/creator
[ ] /api/datasets/:id/creator/remove
[ ] /api/datasets/:id/creator/reorder
[ ] /api/datasets/:id/user
[ ] /api/files/:id/extractions
[ ] /api/files/:id/thumbnails/:thumbnail_id
[ ] /api/proxy/:endpoint
[ ] /api/proxy/:endpoint/:pathSuffix
[ ] /api/spaces/:spaceId/metadata

I may be confused, but I see a lot of these entries already listed under swagger, such as the /collections endpoints and the ones under /logos. There are indeed a few missing endpoints (e.g. /previews and friends), but is it possible that your script isn't matching anything starting with /api?
The Swagger spec doesn't include that base path.. does that prefix maybe need to be stripped off when checking the diff?
I am checking off things under "missing" that are already present in the Swagger spec. If there are specific bits missing from the items I'm checking off, let me know. This should at least significantly whittle downthe list of endpoints that are "missing".


Add a longer retry wait to Vault client

The Vault API does not allow overriding the default max retry wait value via Environment variable. The default of 1500 milliseconds is sufficient if rate-limiting on 1 second buckets.
If using minute-length rate limiting buckets, we could need a longer value. This allows the Vault client to wait for a bit longer than a minute if the server instructs it to do so via the Retry-After header. It allows for overriding our new default via an environment variable if so desired.

Ok, further testing and tweaks to our middleware and I don't think this will be necessary for Daytona to work correctly in the presence of rate limiting. Going to close this out and can reopen if necessary later.


Direction based on flags instead of relation between src_port and dst_port

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report
Attention: Patch coverage is 0% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 35.94%. Comparing base (81f5453) to head (cda7bdc).

Files
Patch %
Lines

pkg/internal/netolly/ebpf/record.go
0.00%
1 Missing :warning:

pkg/internal/netolly/ebpf/record_getters.go
0.00%
1 Missing :warning:

pkg/internal/netolly/export/printer.go
0.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #883       +/-   ##
===========================================
- Coverage   79.78%   35.94%   -43.85%
===========================================
  Files         117      114        -3
  Lines        8060     8031       -29
===========================================
- Hits         6431     2887     -3544
- Misses       1225     4781     +3556
+ Partials      404      363       -41

Flag
Coverage Δ

integration-test
?

k8s-integration-test
?

oats-test
35.94% <0.00%> (+<0.01%)
:arrow_up:

unittests
?

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Hi @grcevski
When I see, how it works in the eviction model, my answer is no. If I understand you well, you want to add somewhere information about the initiator (who started), but in the eviction model, you need to store this value to use for future flows (the same connection but after eviction, long-lived connections case). Additionally how you will know when the connection is finished? You have to add a similar parameter for FIN, RST flag to know when the initiator can be released (or cache with a probe on lastSeen, but a persistent connection can be alive and not used for a long time).
Maybe you have something else in your mind.
I wonder, why you didn't use tracepoint sock/inet_sock_set_state. It seems to have all the information you need to prepare network metrics, not need to parse packets and it is independent of used CNI. I do similar things and use this option here: https://github.com/k8spacket/k8spacket/blob/master/ebpf/inet/bpf/inet.bpf.c
Sample log:
2024/05/29 14:24:42 [nodegraph plugin] Connection: src=<IP_ADDRESS> srcName=pod.backend-app-6cf5c6f79-k8gsq srcPort=44024 srcNS=example dst=<IP_ADDRESS> dstName=svc.db-app dstPort=8443 dstNS=example persistent=false bytesSent=829 bytesReceived=3244 duration=15
2024/05/29 14:24:42 [nodegraph plugin] Connection: src=<IP_ADDRESS> srcName=pod.backend-app-6cf5c6f79-k8gsq srcPort=44024 srcNS=example dst=<IP_ADDRESS> dstName=pod.db-app-7c6495d658-rhzwq dstPort=8443 dstNS=example persistent=false bytesSent=828 bytesReceived=3244 duration=15
2024/05/29 14:24:42 [nodegraph plugin] Connection: src=<IP_ADDRESS> srcName=pod.frontend-app-76dd64cd9c-9qkzd srcPort=56918 srcNS=example dst=<IP_ADDRESS> dstName=svc.backend-app dstPort=8443 dstNS=example persistent=false bytesSent=834 bytesReceived=3247 duration=115

As you can see, the initiator of the connection is calculated there based on a delivered TCP flag: https://github.com/k8spacket/k8spacket/blob/master/ebpf/inet/bpf/inet.bpf.c#L86

I wonder, why you didn't use tracepoint sock/inet_sock_set_state. It seems to have all the information you need to prepare network metrics, not need to parse packets and it is independent of used CNI. I do similar things and use this option here: https://github.com/k8spacket/k8spacket/blob/master/ebpf/inet/bpf/inet.bpf.c

Heh, I didn't think of it :). We'll take a look, this might be how it needs to be done!

Hi @grcevski
I can try to analyze it one more time and prepare a new PR, based on this tracepoint event, if you don’t mind, but probably not earlier than next week.

Hi @grcevski , @mariomac
I prepared another PR (https://github.com/grafana/beyla/pull/914) to collect network metrics by inet_sock_set_state tracepoint, but I will explain it here, to save the thread flow. It can be tested by using the new value of env BEYLA_NETWORK_SOURCE=inet_tracepoint
It is only the POC version, so please be understanding 😄
Pros:

Don't need to parse packets
Independent of used CNI (TC direct-action mode problem)
Direction calculated on TCP flag instead of ports relation

Cons:

It doesn’t work for UDP, because it is based on the TCP state. UDP is a silly protocol without a handshake, without state flow
For long-running connections (persistent connections) will wait till TCP_CLOSE before sending it to the bpf output map, so aggregated_flows could be the perf map in that solution.

Differences:

When calling an external endpoint from beyla-enabled host, currently there are two rows in network metrics: request local -> external and separately response external -> local. In the POC PR, with inet_sock_set_state, there is one row, local -> external, but it could be extended to two rows to cover the current implementation by sending two flows to the bpf map for one connection.

I believe losing UDP metrics and potential changes around the aggregated_flows map type would be hard to jump over, so take a look and decide if it makes sense at this moment 😄

I prepared another PR (#914) to collect network metrics by inet_sock_set_state tracepoint, but I will explain it here, to save the thread flow. It can be tested by using the new value of env BEYLA_NETWORK_SOURCE=inet_tracepoint

Very cool Darek!

For long-running connections (persistent connections) will wait till TCP_CLOSE before sending it to the bpf output map, so aggregated_flows could be the perf map in that solution.

I'm a bit concerned about this (without actual testing), do you think it will affect protocols like websockets where they almost never drop the connection, just keep exchanging bytes? It's one of the things we were concerned about with the network observability, being able to identify all network communication between services.

I believe losing UDP metrics and potential changes around the aggregated_flows map type would be hard to jump over, so take a look and decide if it makes sense at this moment 😄

If it wasn't for DNS I wouldn't be as concerned about not having UDP support, but there are many folks that use the network observability solution to track DNS problems.
I think we need to weigh in the wrong detected direction vs losing ability to track something like websockets or UDP.
Honestly, I still like this PR better. I'm going to spend a bit more time today thinking about this to see if we can make it work 100% with the tests and all.

Hi Nikola

I'm a bit concerned about this (without actual testing), do you think it will affect protocols like websockets where they almost never drop the connection, just keep exchanging bytes? It's one of the things we were concerned about with the network observability, being able to identify all network communication between services.

From a TCP perspective, websocket is almost the same as a persistent connection. The flow has to wait for FIN flag and yes,  Beyla gets info about metrics at the end of that connection, so, as you mentioned, it probably never.

Honestly, I still like this PR better.

To sum up, I feel the same. The inet_sock_set_state tracepoint is not fit for collecting metrics in Beyla 👍
In another thread, you asked me about combining two PRs. In my opinion, it's not worth maintaining a bpf tracepoint for calculating direction only. Additionally, we can achieve this with a socket filter.
Back to this PR.
To make it work for every exchange, I have two ideas:

kernel side

add kernel bpf map key:flow_id, value:u8
if there is no entry for flow_id, then store direction calculated on TCP flags as I propose in this PR and use it for fill new_flow.direction (https://github.com/bareckidarek/beyla/blob/direction_based_on_flags/bpf/flows_sock.c#L207)
if there is entry, then get it and use it as new_flow.direction
delete entry from that map, when receiving TCP FIN or TCP RST flag for flow_id

user-space side

do almost the same but in golang (but it will be hard to guess when a connection is finished)

What do you think?

Hi @bareckidarek, that kernel approach sounds very good to me. It will do exactly what we need for TCP, and UDP we can just do what we do currently.

I made changes in that PR:

direction is calculated based on TCP flags from the first packets
it is stored in a new bpf map for further usage
when a process gets RST or FIN flag, then an entry is deleted from the map
I made needed changes in integration tests (I think, because I had a problem with running all of them)
I've added two new integration tests to network tests

test established two "testserver"s
the test method calls the first one, which calls the second one with a set low source port (7000)
there are 3 calls and waitings to check if getting directions from the new map works correctly
Finally, the test expects only 2 metrics with the correct direction label

I made these changes in TC as well regarding the comment here: https://github.com/grafana/beyla/pull/883#discussion_r1616805981 about non-application perspective of the direction field

Amazing @bareckidarek, I'm going to review this today in detail.

I was thinking yesterday a little about it and proposed two changes:

changed from BPF_MAP_TYPE_HASH to BPF_MAP_TYPE_LRU_HASH for better maintaining of that map
removed fallback calculation of direction from saving to flow_directions map (f.e. UDP case) because in most cases, we will not be able to clean entries.

That's all, I promise 🤞 😉

Thanks so much for this contribution @bareckidarek !


CI may be broken by illegal instruction

The start_with_multi_nodes test sometimes failed with the Illegal instruction error
$ fetch http://<IP_ADDRESS>:8004/ {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: '{"jsonrpc":"2.0", "method":"eth_blockNumber", "params": [], "id":42}'
}
FetchError: request to http://<IP_ADDRESS>:8001/ failed, reason: connect ECONNREFUSED <IP_ADDRESS>:8001
    at ClientRequest.<anonymous> (file:///home/runner/.npm/_npx/721a1717bb84573e/node_modules/node-fetch/src/index.js:108:11)
    at ClientRequest.emit (node:events:[52](https://github.com/axonweb3/axon/actions/runs/6021605629/job/16334858946?pr=1382#step:4:53)6:35)
    at ClientRequest.emit (node:domain:489:12)
    at Socket.socketErrorListener (node:_http_client:501:9)
    at Socket.emit (node:events:514:28)
    at Socket.emit (node:domain:489:12)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  type: 'system',
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  erroredSysCall: 'connect'
}
/home/runner/work/_temp/003aec82-f[57](https://github.com/axonweb3/axon/actions/runs/6021605629/job/16334858946?pr=1382#step:4:58)4-4384-b2c1-fd29b13a094c.sh: line 29:  1741 Illegal instruction     (core dumped) target/debug/axon run --config devtools/chain/nodes/node_1.toml --chain-spec devtools/chain/specs/multi_nodes_short_epoch_len/chain-spec.toml > /home/runner/work/_temp/ubuntu-22.04/multi-axon-nodes/node_1.log

Ckb-rocksdb uses PORTABLE=1, USE_SSE=1 by default so https://github.com/axonweb3/axon/pull/1504 might NOT the right solution.
If there are runners that don't support avx2, we should use the portable feature of ckb-rocksdb to disable avx2.
Originally posted by @blckngm in https://github.com/axonweb3/axon/issues/1504#issuecomment-1782313309

Maybe a feature switch is required.


Feature/ratio

This adds support of a ratio parameter to calculate width/height based.
There are certain assumptions / requirements:

if width, height and ratio is given, width and ratio take precedence and a new height is calculated based on this
the user/developer has to specify an imgix fit mode that doesn't override the size based on the input image. The imgix default fit mode of clip would not work with ratio, but crop, scale etc. works as intended.

Code is more or less a duplicate of https://github.com/aelvan/Imager-Craft/blob/d21f64044b6be1a27929338584c407645fbd18dc/imager/models/Imager_ImgixModel.php#L114

Thanks @terbolous, this is a sweet addition!


Failed to fetch due to CORS

Describe the bug
When trying to use the plugin, you get an error that says
"TypeError: Failed to fetch."

When checking console, the error in there says
Access to fetch at 'https://api.todoist.com/rest/v1/tasks?filter=(today%20%7C%20overdue)' from origin 'app://obsidian.md' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

I believe this is due to this plugin using fetch instead of request or requestUrl from the Obsidian public api, which allows making requests without having to worry about CORS.
I recommend all (or most) instances of fetch should be replaced with request or requestUrl in order to resolve this issue.
Additional context
I'm creating this bug on behalf of someone else who is experiencing this who doesn't have a GitHub account and I don't use this plugin, so I cannot provide all of the information, but the bug should be pretty straightforward.

Hi,
I'm also experiencing this behavior.

Some people have managed to resolve this with the following:

Install the latest update. Todoist changed their security protocols. All Todoist connections stopped working and need to be updated.
... log out of and into Todoist again. You might need to do a web login before it will recognize it.

@moose-x86 May be worth trying the above.

I am also experiencing this

But clicking Edit this block and re-rendering fixes the issue!

Hey all, I've changed the plugin to use requestUrl (released in v1.10.1), so hopefully that should resolve this issue.


Recording general output/Creating Visualizer

I'm trying to make a simple DAW. I need to be able to export all output, or record it to an MP3. I also want to set up a visualizer to all output.
How would I do this? Is there a call to get all output and convert it into an MP3? Or to see all audio output's volume and frequencies?

There is no built-in method for recording the output, but you could bind a recording node to the master output and that would record everything in your application using a library like recorder.js.
As far as metering volume, you could connect the Tone.Master to an instance of Tone.Meter. For frequency/amplitude data, i would recommend the native web audio AnalyserNode. It's quite simple to use. You could hook it up in the same way.


jemalloc450: drop package

Motivation for this change
The package was introduced in https://github.com/NixOS/nixpkgs/pull/38995 by @yorickvP
to fix rocksdb, but rocksdb is not using jemalloc450 anymore.
Things done

Built on platform(s)

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

You can now merge common.nix and default.nix

You can now merge common.nix and default.nix

Done in abc618a

@GrahamcOfBorg build jemalloc

0 rebuilds. Merging.


tests/e2e: downgrade requests package if needed

I ran into that issue while trying to build an environment within CentOS Stream 8, there the requests package is at 2.27.1 version.

The distro might have requests < 2.29.0 already so that the package doesn't need to be downgraded. Actually an attempt to downgrade it fail the playbook.
Fixes #206
Signed-off-by: Wainer dos Santos Moschetta<EMAIL_ADDRESS>

LGTM. We hit a similar issue in tDX land but Arron updated the version of python on that box to resolve it, but this is a nicer solution. Thanks!

Ah, I was wondering how he hadn't gotten this issue. I thought that maybe CentOS stream downgraded the package itself.

@arronwy the failured on TDX jobs are related with this change? Or can I go ahead and merge it?

Yes, this PR LGTM and TDX CI failure is not related to this PR:
14:33:08 1..16
14:33:10 [bats-exec-test:28] ERROR: original_kernel_params=tdx_disable_filter agent.enable_signature_verification=false cc_rootfs_verity.scheme=dm-verity cc_rootfs_verity.hash=2c898b5ebef8de9d5999eb4d90b12c10d09dc0bfbbf0ad578d4f68e3e9e0c67a
14:33:12 [bats-exec-test:28] ERROR: original_kernel_params=tdx_disable_filter agent.enable_signature_verification=false cc_rootfs_verity.scheme=dm-verity cc_rootfs_verity.hash=2c898b5ebef8de9d5999eb4d90b12c10d09dc0bfbbf0ad578d4f68e3e9e0c67a

/test

All tests passing :) so I think this can be merged


kythe tool: merge --serving_table flag into --api flag [phab:D357]

Created by schroederc at 2015-06-23 20:28:27:

fromberger accepted this revision at 2015-06-23 20:34:34

schroederc closed via commit 7d070c6680f5a351e3a1deb692da7ac5afac3a11 at 2015-06-23 20:35:17


Speedup mask filter.

PR checklist
This PR replaces the mask filtering code by more efficient code that speeds up the function, particularly for larger datasets.

[X] This comment contains a description of changes (with reason).
[ ] Make sure your code lints (nf-core lint).
[x] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[x] CHANGELOG.md is updated.

This PR will resolve #38 !


Queue Storage GetMessages hides message_id and pop_receipt values

It appears that the SDK parses the message_id and pop_receipt IDs from the Queue Storage GetMessages response but then hides them behind a single PopReceipt Rust type with no way of getting the underlying values. While they are opaque values, it's still nice to be able to use them separately as the message ID uniquely identifies a message while the pop receipt identifies a specific dequeue. For example, logging/storing the message ID can track repeated deliveries and service latencies, while pop receipt identifies a specific job attempt and associated logs/metrics. Also, some APIs require/provide the message ID e.g. PeekMessages. The official Azure JS SDK appears to offer both as separate values, and require both when calling any API instead of a single opaque object.

This is a duplicate of the issue being solved in #1114. I'll close this one, but you can follow along there.


Client editing

Click manage, go to a new page, more info will be displayed there and you can edit


Enhancement of Contact Us Page

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the code change
Hi @PriyaGhosal ,
The Contact Us Page UI Seems not good , The text are not properly visible. In both Light and Dark Mode.
I want to upgrade the UI and also want to work on this issue .
please assign this task to me. and please add gssoc-ext , level1,level2 etc labels.
Thank You

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

I want to work on this issue please assign me .

Please assign me this task under gssoc24 extd


Lift 1:1 "Nullable on Without-Relation-Scalar Side" limitation

Perceived Problem

https://www.prisma.io/docs/concepts/components/prisma-schema/relations#the-side-without-a-relation-scalar-must-be-optional

Ideas / Proposed Solution(s)

Configuration option to generate a guaranteed relation, essentially cheating what the resolver can actually using Prisma Client? Is this a problem in theory but never practice or a real risk of runtime bugs?

Workarounds
objectType({
  name: Profile.$name,
  definition(t) {
    t.field(Profile.id.name, Profile.id)
    t.field(User.profile.name, {
      ...User.profile,
      type: nonNull(User.profile.type),
    })
  },
})

with the Prisma 1:1 limitation here it means that it is unsafe for Nexus Prisma to assume that both sides of the 1:1 relation will always be non-null, right?

Yes, Prisma can never guarantee that both sides of a 1-1 relation are required. So, enabling this constraint via nexus-prisma could lead to runtime issues where Nexus thinks the second side of a relation is non-null but then gets null returned from Prisma Client and hence can't fulfill its GraphQL "contract".

@nikolasburk Thanks that's clear! While it might not be guarantee-able at the database level the user's application logic might guarantee it and thus at the API level at least they might want the non-nullable to hold.
This leads me to think allowing nexus-prisma users to OPT-IN into the generated output being non-null for the projection is OK as long as it is clearly documented that by doing this they are going against what Prisma Client can guarantee and therefore must in their business logic ensure it.
I am not 100% sure what "ensure it" would mean/look like, if you have any further insight or links I could read that would be great!
I think it means that the user needs to be careful about how they delete records. For example if the backend logic deletes a User from the database then it must make sure to cascade delete the associated Profile or otherwise they would indeed be a in a state with a Profile.user being null.
Likewise if a Profile record is being created directly for some reason it must be connected to or inline-create a new User to ensure that it doesn't end up in a Profile.user null situation.
Does my thinking here make sense or am I way off track?

Dear @jasonkuhrt
Thanks a lot for your work on this project, you're an absolute legend!
I think the issue you've raised here is of huge importance in relation to db/api schemas relation. I think this discussion here will be super active as soon as the plugin reaches its first production-ready states and more people start using it instead of the old plugin.
Of course, a database cannot guarantee both sides of a 1-1 relation exist, you can always create a "null" situation on one of those sides as a result of data manipulations. But my opinion is that there must be an option that would allow a developer to make such relations required in the generated graphql schema instead of being optional just as it is at prisma schema level. I think developer should have an option to take that risk of possible discrepancy and take care of it at other levels. You're completely right that very commonly such discrepancy might happen as a result of not ideally handled delete operations, and the developer should take care of that logic with more attention in that case, so that discrepancy does not happen. I think that in many cases "correctly" (according to the underlying business logic) set required relations at the API level is the right thing to do though it might not be 100% identical to the constraints at the db level.


generic-amd64: disable private

This device type should be public
Change-type: patch
Signed-off-by: Joseph Kogut<EMAIL_ADDRESS>

@balena-ci I self-certify!


Fix BaseVariable using old value when raising event

When changing a variable in code, the raised event still has the old value. Assigning the newValue before raising the event solves the issue.
By the way, thanks a lot for this awesome framework!

Thanks for the fix!


Source file 'prm-datasets/indicators/worldbank/WDI/WDIData.csv' not found.

https://github.com/IBM/mixed-migration-forecasting/blob/5047c748b60b3f7c3621e0174200007865cc2933/server/executor.py#L42
Hello and thanks for sharing this repository first of all :)
This line of code in executor.py throws an error since it tries to read a file that does not exist (prm-datasets/indicators/worldbank/WDI/WDIData.csv').
This is set as the source file, is it correct? The folder prm-datasets/indicators does not exist in the project when you download it, whereas prm-datasets/processed folder does. Maybe it should be the other way round (just a guess)?

Thanks for your feedback @rahulnair23
My aim was to update the datasets. Let me please try to see if I understood correctly.
This project does not allow me to download new data, but to standardise new raw data, is it correct?
If this is the case, is there a document with the various links to download the source (raw) files somewhere (those that are in the processed folder that I would need to update)?
Also, I guess I am supposed to create a folder prm-datasets/indicators and place there the various raw data with the exact names I see in configuration.json, is that correct?
Thanks in advance for clarifying.

(with apologies for the late response).

This project does not allow me to download new data, but to standardise new raw data, is it correct?

The reason is that we can't redistribute the source data without adequate permissions. While most datasets are openly available (e.g. UNHCR, WHO, Worldbank), some others are not (e.g. EMDAT).

If this is the case, is there a document with the various links to download the source (raw) files somewhere (those that were used to generated the ones in the processed folder that I would need to update)?

Have a look at configuration.json which is probably the most descriptive of the (raw) sources. We do not have direct URL links unfortunately. Data publishing in this sector typically is ad hoc and may not be consistent year on year (with exceptions).

Also, I guess I am supposed to create a folder prm-datasets/indicators and place there the various raw data with the exact names I see in configuration.json, is that correct?

Yes, you can edit the configuration to remove any sources you don't find/want. Or the base path of the source files. You can include additional sources and specify particular any custom transformers as well.


update plugins to care for branch flag in mkdocs.yml

As is clear in the handle_repos_based_import method import_stmt cannot contain the repo branch.
branch is stored in repo

@vbrg, thank you for your contribution. I'm adding some more tests and will review your change either today or tomorrow.
Also, are you suggesting that the repos array in the mkdocs.yml file should contain the branch as another key/value pair?
Currently, when you define an array of repos the branch is contained within the import_url string and parsed by parse_repo_url, similar to the !import statement in a nav section. If this is what you intended, we'll need to change the configuration from this:
- section: 'Techdocs-cli'
  import_url: 'https://github.com/backstage/techdocs-cli?branch=main'
  edit_uri: /blob/main/

To this:
- section: 'Techdocs-cli'
  import_url: 'https://github.com/backstage/techdocs-cli'
  branch: 'main'
  edit_uri: /blob/main/

I'm also planning on adding type hinting for the method you updated, so it's more clear what repos is.
def handle_repos_based_import(self, config: Config, repos: List[Dict[str, str]]) -> Config:
        """Imports documentation in other repos based on repos configuration"""
        docs_repo_objs = []
        # repo is a list of dicts from the yaml configuration
        for repo in repos:
            ...

- section: 'Techdocs-cli'
  import_url: 'https://github.com/backstage/techdocs-cli'
  branch: 'main'
  edit_uri: /blob/main/

^ I chose to do it like this.
I'm building my repos array for a private github-organization dynamically (using pygithub) and so I must use tokens. So my import_url:s look like this<EMAIL_ADDRESS>and that works fine if there is a master branch.
I did not realize that you had (your own in this regard?) rest-like syntax such that '?k=v' after the url because I missed it in your documentation and failed to see that in the code.. So perhaps i jumped the gun a bit with my pull request.
In my case the url would become https://{token}@github.com/{organization}/{repo}.git?branch={branch} which would then be a combination between your solution for this, and the supported git-urls for instance listed here https://git-scm.com/docs/git-clone#_git_urls  There is already a few variants.
I mean.. your initial approach (which I missed) would probably work too in my case, but it seems to me a little surprising that if you do not specify a branch using the '?k=v' syntax, hence altering a supported git-url to a new somewhat special (?) version, that will not work if there isn't any master branch.
Is there a reason that you append a default branch name at all? Now that 'master' is being phased out and replaced, it seems to me that might be a source for confusion. Maybe it's just me 😅


DPL-515 Include labware 'source' on labels

User story
As a user of Traction, I would like to have a second ID (‘sample name’ or ‘source’) on the tube labels, to help identify sample swaps.
For tubes, I think the gold standard of what would be required on a label requires 4 lines and the Traction ID 2D barcode:

Type (e.g. PacBio Library)
ID (Traction)
Secondary ID (Sample/Source)
Date

Looking at the label now it looks like there is definitely room for 4 lines and a 2D barcode.
Who are the primary contacts for this story
James W
Who is the nominated tester for UAT
James W
Acceptance criteria
In addition to the existing information (barcode in text and 2D form)...

[ ] Labels printed from anywhere in Traction UI (apart from the standalone Label Printing page) should have a second ID (‘sample name’ or ‘source’) added onto them.
[ ] Labels printed from anywhere in Traction UI (apart from the standalone Label Printing page) should have the type (e.g. PacBio Library) added onto them.
[ ] Labels printed from anywhere in Traction UI should have the date added onto them.

References
See other pending label printing improvements here - https://github.com/sanger/traction-ui/issues/901
Additional context
More info from Steve about the 'source' of a labware:

All labware should have a source e.g. https://uat.traction.psd.sanger.ac.uk/#/pacbio/libraries has a source which is the plate that was originally imported. If you look in https://github.com/sanger/traction-service/blob/develop/app/resources/v1/pacbio/ they all return some kind of source identifier. They are also present in the models e.g. https://github.com/sanger/traction-service/blob/develop/app/models/pacbio/library.rb. I think it is pretty thorough. James did a piece of work to add the source so it uses some shared code. Hopefully that will make this job easier!

In the front end it looks like source is listed in samples, libraries and pools using the same attribute.

More info about the relevant pages, that you can print labels from:

Several of the pages that the buttons on the home page (https://uat.traction.psd.sanger.ac.uk/#/dashboard) lead to, e.g. Saphyr --> Samples, Saphyr --> Libraries, PacBio --> Samples, ... etc.

This is turning out to be quite tricky. All of the printing goes through a single label creation method. I will need to refactor the whole thing. To this end the tasks are:

[ ] new method createPrintJob in print my barcode actions which uses handleResponse correctly

[ ] modify printer modal to accept labels method and move to use new createPrintJob method

[ ] modify pacbio samples index view to use create labels method

[ ] modify pacbio library index view to use create labels method or labels computed property

[ ] modify saphyr sample index view to use create labels method or labels computed property

[ ] modify saphyr library index to use create labels method or labels computed property

[ ] modify label printing page to add a create labels method or labels computed property

[ ] move current date method to library

[ ] move any label printing specific methods back ti the label printing method

[ ] move label printing page to use new createPrintJob method

[ ] tidy up store to remove methods that are not needed

[ ]


Add docsite

[x] Add a docsite with basic content covering functionality, etc.
[x] Link to docsite from Github repo so users may find the content.
[x] Automate deploy of docsite content.

Addressed via #10