[MetaSchedule] Fix AddReadReuse for multiple consumer block case

Currently, trying to tune the following simple mod results in an error:
data = relay.var("data", shape=data_shape, dtype="float32")
weight = relay.var("weight", shape=weight_shape, dtype="float32")
dense = relay.nn.dense(data, weight)
mod = tvm.IRModule.from_expr(dense + data)

...
        for ax0, ax1 in T.grid(128, 128):
            with T.block("p0_shared"):
                v0, v1 = T.axis.remap("SS", [ax0, ax1])
                T.reads(p0[v0, v1])
                T.writes(p0_shared[v0, v1])
                p0_shared[v0, v1] = p0[v0, v1]
        for i0_0_i1_0_fused in T.thread_binding(4, thread="blockIdx.x"):
            for i0_1_i1_1_fused in T.thread_binding(16, thread="vthread.x"):
                for i0_2_i1_2_fused in T.thread_binding(8, thread="threadIdx.x"):
                    for i2_0, i2_1, i0_3, i1_3, i2_2, i0_4, i1_4 in T.grid(1, 32, 1, 32, 4, 1, 1):
                        # tir.Block#0
                        with T.block("T_matmul_NT"):
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                            i = T.axis.spatial(128, i0_1_i1_1_fused * 8 + i0_2_i1_2_fused + i0_3 + i0_4)
                            j = T.axis.spatial(128, i1_4 + i0_0_i1_0_fused * 32 + i1_3)
                            k = T.axis.reduce(128, i2_0 * 128 + i2_1 * 4 + i2_2)
                            T.reads(p0_shared[i, k], p1[j, k])
                            T.writes(T_matmul_NT_local[i, j])
                            T.block_attr({"layout_free_placeholders":[], "meta_schedule.thread_extent_high_inclusive":1024, "meta_schedule.thread_extent_low_inclusive":32, "meta_schedule.tiling_structure":"SSSRRSRS", "workload":["dense_small_batch.gpu", ["TENSOR", [128, 128], "float32"], ["TENSOR", [128, 128], "float32"], None, "float32"]})
                            with T.init():
                                T_matmul_NT_local[i, j] = T.float32(0)
                            T_matmul_NT_local[i, j] = T_matmul_NT_local[i, j] + p0_shared[i, k] * p1[j, k]
                    for ax0, ax1 in T.grid(1, 32):
                        with T.block("T_matmul_NT_local"):
                            v0 = T.axis.spatial(128, i0_1_i1_1_fused * 8 + i0_2_i1_2_fused + ax0)
                            v1 = T.axis.spatial(128, i0_0_i1_0_fused * 32 + ax1)
                            T.reads(T_matmul_NT_local[v0, v1])
                            T.writes(T_matmul_NT[v0, v1])
                            T_matmul_NT[v0, v1] = T_matmul_NT_local[v0, v1]
        for i0, i1 in T.grid(128, 128):
            # tir.Block#1
            with T.block("T_add"):
            ^^^^^^^^^^^^^^^^^^^^^^
                ax0, ax1 = T.axis.remap("SS", [i0, i1])
                T.reads(T_matmul_NT[ax0, ax1], p0_shared[ax0, ax1])
                T.writes(T_add[ax0, ax1])
                T_add[ax0, ax1] = T_matmul_NT[ax0, ax1] + p0_shared[ax0, ax1]

Error message: The primitive requires all the consumer(s) of the given block to be present under the target loop. However, there are 1 consumer(s) not satisfying the constraint. List of the consumer(s):tir.Block#0tir.Block#1

This is fixed by using the cache-read buffer only in the block that AddReadReuse is operating on.
@vinx13

@junrushao @vinx13 It's fixed now. The failed tests were all using Blockize, and consumer_blocks argument had an issue when it is given a nested block like those from Blockize.


[Templating]Api authorization spa integration

Updates the SPA templates to include support for authentication using ApiAuthorization

Updates the react template to include new options for --auth Individual. Default is None
Updates the angular template to include new options for --auth Individual. Default is None
Updates Angular to the latest version as some code changes require features not present in the current version.

For both of the templates the main changes are these (when using individual auth):

Include a controller for sending the configuration of the SPA.
Add [Authorize] on the SampleData controller.
Add all common identity dependencies (ApplicationUser, ApplicationDbContext, etc)
Adds code for handling the auth process under an api-authorization folder
(React) Add code on FetchData to attach the token
(React) Add code on the main app require an authenticated user before visiting the /fetch-data route.
(React) Add a LoginMenu in the NavMenu component
(Angular) Add an ApiAuthorization angular module that handles all the auth and that exposes several components and services to the main app.

LoginMenu component for displaying the currently authenticated user and appropriate options.
Authorize service for handling all authorization needs.
AuthorizeGuard to require authenticated users when visiting a route
AuthorizeInterceptor to attach a token to outgoing httprequests automatically when targetting the same origin as the SPA application.

How does the authentication process work
For both the react and the angular templates there is a Login component that handles all the details about login (performing the login through an alternative channel (silently, popup) or setting up state before redirecting to the IdP)
For simplicity we'll talk about the redirect case, the silent and popup cases are equivalent but are done in a separate browsing context (hidden iframe/popup)

Login starts at /authentication/login on the SPA app.
The Login component sets the appropriate state and redirects to the idp (/connect/authorize)
The IdP makes a decision about the user (whether is authenticated or not for simplicity)
The IdP sends the user to the Identity login endpoint (/Identity/Account/Login)
Upon successful login identity redirects back to the IdP
The IdP then emits the appropriate tokens and redirects the browser back to /authentication/login-callback
The Login component is configured to handle the callback. It processes the response and if there is a returnUrl available (which could have been setup by another component by redirecting to /authentication/login and including a returnUrl on the query parameters) then redirects the authenticated user to that returnUrl.

For react it works the same way.
Addresses #5407

I don't know whether the following has anything to do with your changes or is maybe a Kestrel issue, but I tried running the React template with auth on the 3.0.100-preview4-010380 SDK, and as soon as I made the first request to http://localhost:5000, it logged the following:
dbug: IdentityServer4.Startup[0]
      Login Url: /Identity/Account/Login
dbug: IdentityServer4.Startup[0]
      Login Return Url Parameter: ReturnUrl
dbug: IdentityServer4.Startup[0]
      Logout Url: /Identity/Account/Logout
dbug: IdentityServer4.Startup[0]
      ConsentUrl Url: /consent
dbug: IdentityServer4.Startup[0]
      Consent Return Url Parameter: returnUrl
dbug: IdentityServer4.Startup[0]
      Error Url: /home/error
dbug: IdentityServer4.Startup[0]
      Error Id Parameter: errorId
info: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLKN3KCLBD1L" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception: An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStreamInternal.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal.AdaptedPipeline.ReadInputAsync(Stream stream)
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.ReadAsync(CancellationToken token)
   at System.IO.Pipelines.Pipe.DefaultPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.TryReadPrefaceAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 533.3673ms 0
info: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLKN3KCLBD1M" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception: An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStreamInternal.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal.AdaptedPipeline.ReadInputAsync(Stream stream)
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.ReadAsync(CancellationToken token)
   at System.IO.Pipelines.Pipe.DefaultPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.TryReadPrefaceAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application)

On subsequent requests, there was no exception and the page loaded correctly. It hasn't reproduced since, even after shutting down and restarting the application.

Every time I load the React app in Firefox, it logs the following to the developer console:
Firefox can't establish a connection to the server at wss://localhost:5001/sockjs-node/623/urfn31yy/websocket. websocket.js:6
The connection to wss://localhost:5001/sockjs-node/623/urfn31yy/websocket was interrupted while the page was loading.

There's a similar error in Chrome too. Again, it may not be related to your changes here - maybe it's even a known issue already. Just reporting what I see.

I don't know whether the following has anything to do with your changes or is maybe a Kestrel issue, but I tried running the React template with auth on the 3.0.100-preview4-010380 SDK, and as soon as I made the first request to http://localhost:5000, it logged the following:
dbug: IdentityServer4.Startup[0]
      Login Url: /Identity/Account/Login
dbug: IdentityServer4.Startup[0]
      Login Return Url Parameter: ReturnUrl
dbug: IdentityServer4.Startup[0]
      Logout Url: /Identity/Account/Logout
dbug: IdentityServer4.Startup[0]
      ConsentUrl Url: /consent
dbug: IdentityServer4.Startup[0]
      Consent Return Url Parameter: returnUrl
dbug: IdentityServer4.Startup[0]
      Error Url: /home/error
dbug: IdentityServer4.Startup[0]
      Error Id Parameter: errorId
info: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLKN3KCLBD1L" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception: An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStreamInternal.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal.AdaptedPipeline.ReadInputAsync(Stream stream)
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.ReadAsync(CancellationToken token)
   at System.IO.Pipelines.Pipe.DefaultPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.TryReadPrefaceAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application)
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 533.3673ms 0
info: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "0HLKN3KCLBD1M" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception: An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStreamInternal.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal.AdaptedPipeline.ReadInputAsync(Stream stream)
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.ReadAsync(CancellationToken token)
   at System.IO.Pipelines.Pipe.DefaultPipeReader.ReadAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.TryReadPrefaceAsync()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Connection.ProcessRequestsAsync[TContext](IHttpApplication`1 application)

On subsequent requests, there was no exception and the page loaded correctly. It hasn't reproduced since, even after shutting down and restarting the application.

First time I see this. I suspect it has nothing to do with these changes based on the callstack.
@halter73 Do you have any idea?

Bug: in the React app, if you click on "Fetch data" in the nav menu while logged out, it goes to a blank screen with a corrupted URL:

I think the following are bugs. They are strange at least.

Start logged out on the React homepage
Click on "Register", and get redirected to https://localhost:5001/Identity/Account/Register?returnUrl=/authentication/login (OK, so first it's weird that you'd be redirected to the login screen after registration)
Enter<EMAIL_ADDRESS>password=111111, confirm=111111, click Register. You get redirected to https://localhost:5001/Identity/Account/Register?returnUrl=%2Fauthentication%2Flogin. I don't know why the URL has changed format like that. The new screen is like the old one, but with validation errors.
Once again, enter<EMAIL_ADDRESS>password=111111, confirm=111111, click Register. This time you get redirected to https://localhost:5001/Identity/Account/Register. Again I don't know why the URL has changed format. Bug 1: the returnUrl information has been lost
This time, enter<EMAIL_ADDRESS>password=qqqQQQ111!, confirm=qqqQQQ111!, click Register. You get redirected to https://localhost:5001/, but it doesn't show you as logged in. Bug 2: The nav menu still has links to "Register" and "Log in".
Click on "Register". It shows you are actually logged in (in the title, it says Hello a@b.com), but bug 3: it still lets you register an account while you are already logged in.

Styling issue: on the pages rendered by identity, the footer has weird extra horizontal and vertical scrollbars. These two extra scrollbars don't appear on the React-rendered pages.

I think many of the bugs above come down to the fact that nothing redirected me to /authentication/login after registration, so my login was in an incomplete state. I don't think we should be relying on a "return URL" querystring value to achieve that, because nothing stops people from linking directly to https://localhost:5001/Identity/Account/Register, and this also results in getting into the corrupted login state after registration.

There might be a bug there. Long story short this is how it's supposed to work. There is no standard way in oAuth/OIDC to control from the client what UI journey you want to take.
For our case, where the IdP lives in the same domain as the app, we can take a shortcut (which is the one above). We send the the user to the register endpoint directly and tell it to come back to /authentication/login.
That way after the user registers (which implicitly logs him in on Identity) we do a silent sign in (open a hidden iframe and perform an oauth flow) which automatically authenticates the users and get both things in sync.
Regarding the fetch-data case I'll have to investigate a bit. Even in that case, I would have expected /fetch-data to redirect to /authentication/login -> for authentication login to get the token silently and to redirect back to /fetch-data for you to get the results. That's how it's supposed to work.
If you can take snapshots of your local storage, cookies and network traffic that would greatly help me in understanding what went wrong.
The other things you mention are Identity UI issues. I've filed separate bugs for those.
https://github.com/aspnet/AspNetCore/issues/7738

In Firefox, the Angular template keeps logging these errors to the console every couple of seconds:

In Chrome it also logs, but it comes up as a warning and only happens once (still an issue, but less severe).

A similar registration flow problem in the Angular app:

Be logged out on the home page. Click "Fetch data". You get a blank screen for a couple of seconds, then it redirects to https://localhost:5001/Identity/Account/Login?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3DMyAngul...etc
On this screen, click "Register", which is the only thing a user can do if they don't have an account yet. It takes you to https://localhost:5001/Identity/Account/Register (note: no return URL there)
Enter valid details for a new user and click Register. It takes you back to the home page (not to the Fetch Data page, which it should), and continues to show "Register" and "Login" in the nav bar.

Styling issue: on the pages rendered by identity, the footer has weird extra horizontal and vertical scrollbars. These two extra scrollbars don't appear on the React-rendered pages.

This is probably UI differences between the SPA template and the Identity UI template. We probably haven't noticed them as they don't live on the same app up until now.

Every time I load the React app in Firefox, it logs the following to the developer console:
Firefox can't establish a connection to the server at wss://localhost:5001/sockjs-node/623/urfn31yy/websocket. websocket.js:6
The connection to wss://localhost:5001/sockjs-node/623/urfn31yy/websocket was interrupted while the page was loading.

There's a similar error in Chrome too. Again, it may not be related to your changes here - maybe it's even a known issue already. Just reporting what I see.

I see the same thing in a plain react app, so this must be something else.

System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception: An unknown error occurred while processing the certificate.
--- End of inner exception stack trace ---

I haven't seen this particular "unknown error" before exactly, but it does seem similar to https://github.com/dotnet/corefx/issues/31928 which I filed a few months back. @davidsh's comment on that issue was:

System.ComponentModel.Win32Exception (0x80004005): The credentials supplied to the package were not recognized

Typically this error occurs on Windows when PFX files are used. In particular, importing the same PFX files in parallel will lead to these kind of errors due to bugs in Windows OS components. The workaround is to reduce parallelism in running tests (such as XUnit) which import PFX files. There is no known fix for this Windows bug/limitation.

It could be a different issue of course. "An unknown error" doesn't give us much to go on.

Thanks @javiercn, @SteveSandersonMS. Let's take this for preview3 and work on ironing out the remaining issues during preview4.

One of the test configurations seems busted

The windows server build seems to be stuck in here:

@javiercn you underestimate how slow music store tests are.

This one only fails because Azure pipelines lost connection to the agent.

@mkArtakMSFT Please override and squash and merge with the following message.
[Templating] Adds authentication support for the SPA templates
* Adds a new -auth option to the Angular and React templates with None and Individual values.
* When using authentication it configures the server to use the ApiAuthorization support built for 3.0
* For angular it adds an ApiAuthorization Angular module that handles the authentication flows through
   a Login and a Logout components and exposes an Http client interceptor, a routing guard and a Login
   menu component for the main Angular application to integrate authentication into the app.
* For react it adds a Login and Logout components to handle the authentication flows, an
  AuthorizeRoute component to protect access to other routes and a Login menu component to
  integrate authentication into the application.


Add a test suite for List

This just adds test cases for List::swap(), which currently fail, I may add other methods if I find any bugs or unexpected results.
Blocked by #41981.

Superseded by #42013.


html video element missing shadow DOM component

Hi Alex,
I have embedded my camera streams into my webapp (following stream.html example) inside a scrollable div, with the following structure:
<div class="scrollable" style="overflow: auto">
  <video-stream>
    <video></video> // stream 1
  </video-stream>

  <video-stream>
    <video></video> // stream 2
  </video-stream>
  ... // so on
</div>

I noticed that while viewing it on iOS using both Safari and Chrome apps, scrolling the parent div is prevented while sliding over some of the video elements - as of touches are not being registered.
After inspecting the page using Safari Developer tool, it seems that the video elements that prevent scrolling are missing the Shadow Content element for some reason:

This happens to random elements on each refresh, any idea on why this is occuring?

I'm not frontend specialist. Can't fix it in near future


[FEATURE] GM Nat1 and Nat20 combat track

Should be optional to not give away fudged rolls

Not needed in combat


AudioCaps test set size

Hello. Could you please specify the size of AudioCaps test set which you used in your evaluation? test.csv file in audiocaps repo  contains 4876 rows, but there is also the table with splits' sizes and according to it test set contains 975 samples.

Hi, in audiocaps, there are 5 captions for each audio. So 975*5=4875.

Thank you


Profiler doesn't work when MaxJavaStackTraceDepth set to -1

When I run my application with -XX:MaxJavaStackTraceDepth=-1 the profiler doesn't print any stack trace. The output consists of the following.
--- Execution profile ---
>Total samples:         38441
>Non-Java:              3681 (9.58%)
>GC active:             490 (1.27%)
>Unknown (native):      21475 (55.86%)
>Not walkable (native): 9409 (24.48%)
>Unknown (Java):        838 (2.18%)
>Not walkable (Java):   2533 (6.59%)
>Deopt:                 15 (0.04%)
>
>Frame buffer usage:    0%

Removing the option solves the problem. If it's expected behavior, it'd be great to document it in README.

Thank you for an interesting bug report! This is not an expected behavior, even for me :)
It turns out that AsyncGetCallTrace API for stack walking indeed depends on MaxJavaStackTraceDepth.
Since this is hard-coded in JVM, I can hardly do anything about it right now. So I'll just document the issue as you've suggested. The future plan is to get rid of AsyncGetCallTrace dependency at all (#66) - there are already too many problems with this API.

Thank you for addressing it so fast. And thank you for an amazing tool!


Excluding venvs

coverage: 98.012% (-0.003%) from 98.015%
when pulling a7d43288c9e0419f0a2eb50aec500de41367966d on fix/deployment-conf
into 309e0ec3a19d33c1c98ab1aa069946e611eefe46 on main.


Directory.make_dir_recursive does not work in user://

Operating system or device - Godot version:
Mageia 6 x64, git master HEAD
Issue description (what happened, and what was expected):
Directory.make_dir_recursive("user://test") does not work, while Directory.make_dir("user://test") does.
By does not work, I mean that it does not create the directory, and errors out with ERR_CANT_CREATE.
I started debugging this in DirAccessUnix: https://github.com/godotengine/godot/blob/f9bd038/drivers/unix/dir_access_unix.cpp#L202-L206
DirAccessUnix::make_dir(String p_dir) {
...
	print_line(p_dir);
	print_line(get_current_dir());
	print_line(get_current_dir().plus_file(p_dir));

	if (p_dir.is_rel_path())
		p_dir=get_current_dir().plus_file(p_dir);
	print_line(p_dir);

	p_dir=fix_path(p_dir);
	print_line(p_dir);
...

The above debug prints that I added myself give the following results:

for make_dir("user://test"):

  user://test                                  // p_dir
  user://home/akien/godot-logger               // get_current_dir() (the "user://" part is actually wrong, it should be "/"
  user://home/akien/godot-logger/user://test   // get_current_dir().plus_file(p_dir)
  user://test                                  // p_dir, after the previous result is assigned...
  /home/akien/.godot/app_userdata/Logger/test  // previous one after "fix_path"

--> Folder properly created in /home/akien/.godot/app_userdata/Logger/test

for make_dir_recursive("user://test"):

  user://test              // p_dir
  res://                   // get_current_dir()
  res://user://test        // get_current_dir().plus_file(p_dir)
  user://test              // p_dir, after the previous result is assigned...
  user://test              // previous one after "fix_path"

--> Nothing created, ERR_CANT_CREATE

Fix confirmed and cherry-picked for 2.1 :)


[fast-double-parser] update to 0.8.0

[X] Changes comply with the maintainer guide
[X] SHA512s are updated for each updated download
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version~
[ ] ~Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

The library now installs cmake config, so the port should use vcpkg_cmake_* functions  instead of just copying header file.

IMO this should be handled with vcpkg_cmake_config_fixup(PACKAGE_NAME fast_double_parser):
fast-double-parser:x64-linux:/share/fast_double_parser/fast_double_parser-config.cmake
fast-double-parser:x64-linux:/share/fast_double_parser/fast_double_parser-targets.cmake

@jiayuehua
Could you please follow dg0yt's suggestion to add a call to the vcpkg_cmake_config_fixup function in the portfile.cmake file? At the same time, you need to add the vcpkg-cmake-config dependency in the vcpkg.json file.
Although calling this function will not change the current output files or layout of this port, doing so can help prevent potential issues in the future if the upstream modifies the exported contents.

Although calling this function will not change the current output files or layout of this port

This is because of the spurious set(VCPKG_BUILD_TYPE release) in the portfile.

@jiayuehua
Could you please follow dg0yt's suggestion to add a call to the vcpkg_cmake_config_fixup function in the portfile.cmake file? At the same time, you need to add the vcpkg-cmake-config dependency in the vcpkg.json file.
Although calling this function will not change the current output files or layout of this port, doing so can help prevent potential issues in the future if the upstream modifies the exported contents.

ok I will follow dg0yt's advice summit the change later.

Although calling this function will not change the current output files or layout of this port

This is because of the spurious set(VCPKG_BUILD_TYPE release) in the portfile.

How is it "spurious"? Is the library not header only any longer?

How is it "spurious"? Is the library not header only any longer?

I was thinking about interface properties in debug config, but now I see that set(VCPKG_BUILD_TYPE release) + vcpkg_cmake_config_fixup  is widely used in vcpkg.
https://github.com/search?q=repo%3Amicrosoft%2Fvcpkg+set(VCPKG_BUILD_TYPE+vcpkg_cmake_config_fixup&type=code

Thanks for the update!


Debug lmfit in lightcurve_fitting

lmfit returns starting parameters. Why?

Or perhaps drop lmfit for starry (https://github.com/rodluger/starry)

Just to check that we are storing the output of res = lmfit.fit(...) and not calling lmfit.params as our output.  I believe that the former (res.params)  is the correct format.
Moreover, are you using lmfit.Minimizer or lmfit.Model to instantiate the fitting?


WIP: [ci] [R-package] speed up valgrind job

The valgrind CI job takes 3-4 hours to run (example build).
This proposes some changes to hopefully speed it up.
Change 1: stop building vignettes
This job just installs the package and runs the unit tests:
https://github.com/microsoft/LightGBM/blob/2dfb9a40478b965db8325baa21a63d9281f96b7c/.ci/test_r_package_valgrind.sh#L14-L19
So the vignettes are totally unnecessary. Removing them removes the following sources of unnecessary work and therefore build time:

the need to install {knitr} and its many recursive dependencies
the extra compilation of lib_lightgbm done for vignette-building

Change 2: parallelizing over build targets instead of libraries
This approach

/gha run r-valgrind

/gha run r-valgrind

/gha run r-valgrind

/gha run r-valgrind


Travis build requires migration from .org to .com

It looks like the travis build is no longer working an the current project is "read-only" on travis-ci.org. There's a migration page but it looks like it requires the repo's owner to migrate. @thangngoc89, is this something you can do? The demo page is no longer updating because the travis build is offline. Thanks!
https://docs.travis-ci.com/user/migrate/open-source-repository-migration

Hey. I’ve heard bad words about travis lately. Let’s me migrate to Github Actions instead. As long as you have merge permissions, you can update GHA yourself


Add PR auto labeling

Uses the action here in order to label PRs. This should update as the PRs update.
Related to #1087

📚 Documentation preview 📚: https://pymc-marketing--1111.org.readthedocs.build/en/1111/

Amazing!

Any other labels you have in mind?

I think these look like a great start. We can iterate (is the pre-commit one included?)

Great. I merged in. I've created #1112 in order to continue the discussion


Failed to execute "detect" as item.item[Item's name]

I made a world and, when i join it, a message appears without an end, it says
MrFireChicken: Failed to execute "detect" as item.item[ramdom item's names].

Hi, can you provide more information on this? Plugins list? Multiverse version & configuration?


Release Version to allow addition to Homebrew

This is a fantastic repo, and I'd love to add it to homebrew, but it needs a version to be added. If you could tag and release a version, that would be fantastic.

Hey @snood1205! I'd love to get this up on Homebrew. I'm planning to release a version as soon as #10 is complete, should be a day or two now.
In the meantime, do you think you could provide me a little more info about releasing on Homebrew? More specifically the process of updating, would you be responsible for doing that or does it happen automatically based on tags/releases?

@snood1205 Released v0.1.0, should be good to go!

An update on this:
I've got the formula ready (https://github.com/kshvmdn/homebrew-core/commit/c75775b53c7986547fef9349e33d0adbc1749d73). I wasn't aware that a repository needed to be at least 30 days old to be added to Homebrew, so it looks like I'll have to wait until then before making the PR.

v0.1.1 is now available on Homebrew!


[WiP] Enhancements/schu/backup diffs

WIP

Coverage decreased (-8.8%) to 62.421% when pulling 7784f798e8a8fec3ac6dab29ba110bbbb3e71197 on enhancements/schu/backup_diffs into 7e997b8b54ca52af3fd875c7d3749e604d47538c on master.

Coverage decreased (-8.9%) to 62.318% when pulling 003d4bc3645f272d7f6c59ada6b66abed1e64e4d on enhancements/schu/backup_diffs into 7e997b8b54ca52af3fd875c7d3749e604d47538c on master.

Coverage decreased (-9.07%) to 62.175% when pulling cb06acc0343ed95f9abca9b024cebce96176c279 on enhancements/schu/backup_diffs into 7e997b8b54ca52af3fd875c7d3749e604d47538c on master.

Coverage decreased (-9.07%) to 62.175% when pulling 0e968dca142262548b475ead7b501704eec1d0c6 on enhancements/schu/backup_diffs into 7e997b8b54ca52af3fd875c7d3749e604d47538c on master.

Coverage decreased (-9.3%) to 61.983% when pulling e71f34f868c5efe32780d9b772d27716d6273aae on enhancements/schu/backup_diffs into 7e997b8b54ca52af3fd875c7d3749e604d47538c on master.

Coverage decreased (-9.3%) to 61.963% when pulling 72c69d317140b3c1251b1db56110c9788389cfd4 on enhancements/schu/backup_diffs into 7e997b8b54ca52af3fd875c7d3749e604d47538c on master.

Coverage decreased (-9.1%) to 62.126% when pulling 86a349e9ecc8cc23163178bd745a96ba781364c2 on enhancements/schu/backup_diffs into 7e997b8b54ca52af3fd875c7d3749e604d47538c on master.

Coverage decreased (-9.2%) to 62.024% when pulling d2946a1451f299c28d40cc11297a3f0f87624070 on enhancements/schu/backup_diffs into 7e997b8b54ca52af3fd875c7d3749e604d47538c on master.

Coverage decreased (-9.5%) to 61.72% when pulling 6454efd7429a98999ecdc367fcc71e323731fddd on enhancements/schu/backup_diffs into 7e997b8b54ca52af3fd875c7d3749e604d47538c on master.

When will this be ready for review?

Thanks for the PR! @Sumukh and I took a look and here’s our suggestions:
Everywhere

Rename “commit ID” to “backup ID” everywhere. The names in the source could should be backup_id instead of commit_id too. Ok has no concept of “commits” and it will be confusing to future collaborators.

Diff page

Diff information is a little hard to read. Check out the "submitter information"
box in the grading view. In particular, don't center, and bold the data messages
Link to the backup grading page wherever possible (whenever you print a backup ID)
The breadcrumb (Home > cal/cs61a/fa16 > Assignments > Hog) should link back the the student’s assignment. It should be similar to the breadcrumb for /admin/course/4/<student>/49/
Lots of junk shows while the page is loading and is hidden when the JS loads, which could be several seconds later. Instead hide the junk by default (e.g. with class=”hidden”), then show the relevant data with JS when it loads.
The score box is unnecessary most of the time - we could just get rid of it.
Instead of a “toggle timeline” and rendering the timeline, a link to existing timeline page would be better. That was we can integrate the "view diff" button with the existing timeline as well. To support the “current backup” in that view, we can pass in a URL param (.../timeline?backup=sV3DtG)

Graph page

Make graphs a little smaller/responsive
Nice to have: Make the box that shows up when you hover on a dot clickable?
Remove the “scores” box
Put the current partner’s graph first
If there are say 4 members in the group, we should show 4 graphs. Right now all the other partners will get lumped together in one graph.
The links in the “submitter information” box should link back to the student’s assignment
The breadcrumb (Home > cal/cs61a/fa16 > Assignments > Hog) should link back the the student’s assignment. It should be similar to the breadcrumb for /admin/course/4/<student>/49/

Performance
The pages are pretty slow to load. Here’s some things that may or may not help:

Backup Query: do joined load with messages (and don't join with scores)
Change backup.analytics() to use a list comprehension over backup.messages instead of a new query - when there's a joined load it'll save queries and should make this far more performant.
When doing the split for partners - we should just do one query and then filter it out in Python. Your code should be able to handle 3 person groups.

This might be ready to merge once the conflicts are resolved.

I'm gonna force-push this back and try the merge again locally so I can test it :(

Tests are passing again - is this good to deploy?

I think it's good to merge


Support conceal ANSI escape on Windows

The conceal ANSI escape is used to visually hide the output while it still being there.
This is important for consistency between Unix-based systems and Windows in CLI tools.
Info
https://en.wikipedia.org/wiki/ANSI_escape_code
Unfortunately, this one isn't supported by any Windows API afaik.
I was thinking that it might be possible to emulate it setting the text color to the default background color of the console.
Test case
node -e "console.log('\u001b[8municorn\u001b[28m');"

OS X

Node.js 0.12.5, OS X 10.10, Terminal.app
Windows

Node.js 0.12.5, Windows 8.1, cmd.exe

I was thinking that it might be possible to emulate it setting the text color to the default background color of the console.

Then selecting it with the mouse would reveal it, right?

Yes, but I don't think that matters. On OS X, you can select and copy to get the value anyways, or disable colors in a colorizer like chalk. So it's definitely not intended for sensitive stuff. I would use it to hide noisy info while still being there if you copy/redirect the output.

I see. Then adjusting the color to match the one in the background would indeed work.

Common misconception with conceal is that it has the effect that, say, typing a password into an SSH login prompt does. It doesn't. Terminals that emulate the conceal code this way are doing it incorrectly.
I'm speculating, but since the conceal escape seems to be historical, I would imagine copy/paste wasn't an issue on terminals that didn't have mice. The cursor position still advances, iirc. @sindresorhus is correct in suggesting to set it to [30m.
However, I'd go so far as to also include [40m as well ([30;40m). [30m by itself would cause issues for those that have changed the color palette on CMD to something other than a black background, and would give it a 'redacted' appearance for those users - which is essentially the intention of the escape to begin with.


keep_in_memory=True does not seem to work

UPD: Fixed . But a new issue came up :(

Let me explain why it is a bit of an issue to me.
I use a network disk from Azure which is kinda costy and don't want to increase its capacity above 100G.
Now there is only 8.8G left and if i my dataset's cache_dir increases in size, i get the "no space left on disk" error.
Copying the dataset to my VM's local disk is not the most optimal solution, since copying around 90G from network disk takes a lot of time, so I'm waiting for a proper fix of it.
I understand that otherwise, the dataset would have to fit in RAM, but I'm perfectly fine with it since I have 866G of RAM on my rented machine.

Seems like I just used the old code which did not have keep_in_memory=True argument, sorry.
Although i encountered a different problem – at 97% my python process just hung...

Can you open a new issue and provide a bit more details ? What kind of map operations did you run ?

Hey. I will try to find some free time to describe it.
(can't do it now, cause i need to reproduce it myself to be sure about everything, which requires spinning a new Azuree VM, copying a huge dataset to drive from network disk for a long time etc...)

@lhoestq loading dataset like this does not spawn 50 python processes:
datasets.load_dataset("/preprocessed_2256k/train", num_proc=50)

I have 64 vCPU so i hoped it could speed up the dataset loading...
My dataset onlly has images and metadata.csv with text column alongside image file path column

now noticed
'Setting num_proc from 50 back to 1 for the train split to disable multiprocessing as it only contains one shard

Any way to work around this?

@lhoestq thanks, this helped


Expand Visual Build options for FuncGodotFGDSolidClass to include more options from MeshInstance3D

What I'm suggesting here is to expand the Visual Build options for the FuncGodotFGDSolid class to allow more options that exist for MeshInstance3D. In my own project I have added a couple of extra options for Extra Cull Margin and Ignore Occlusion Culling, which are 2 I think are worthwhile adding(as if you have brushes embedded in occluders they are finicky with getting occluded out inconsistently which isn't desirable). This would fit with the current design approach of offering Occlusion for brushes too.
Some of the other options available seem... interesting, but I'm not sure how practical they are to add. Material Overlay could be useful if you wanted to accomplish Hedges with some dimension to them, but you can already do that with a next pass render material on a material. The GI options may also be worth considering, though I haven't dug into those yet. Interested to hear if there's either been discussion on this before or if they are useful?
The difficulty of adding this is low, as you just add some more export options to the class, and then just put them onto the MeshInstance3D alongside the other Visual Build settings as is the current behavior.
Additionally, is there an argument against adding all of them? Also aware these could be assigned via a script, so these options aren't locked away from the user, just a little less accessible to use.
For reference:
Current available options

Available options under MeshInstance3D

Additionally, is there an argument against adding all of them?
Mostly a noise thing + practical use case likelihood, tbh. Judgment calls on "is this better as a entity class wide setting or is it better off as an entity instance class property?" Am I going to have to make dozens of slight variations on the same class?

Mat overlay could go either way, but I'd lean towards "better off a class property".
I don't remember seeing transparency, that's cool. That would honestly be better off as a class property than a Visual Instance Build option, per entity basis rather than class wide.
Extra cull margin could be useful. I'd say it'd make sense.
Ignore occlusion would be better off a class property as well.
Custom AABB would be problematic though, if you think about it for even a few seconds. Vastly variable brush entity sizes.
I can see GI Mode being worth adding as that has some tremendous use cases. Your func_geo isn't going to move, may as well have them all set to Static. Your func_move is always going to have the option to move, better make it Dynamic or whatever.
Visibility Range runs into the same problems as Custom AABB.
Sorting is also one of those properties that are better off as a per instance class property rather than class wide setting.

Sounds good to me, I'll raise a PR to address this when I get some time this week


Rebasing to version released on Feb 02, 2018 - Attempt 2

Rebasing to version released on Feb 02, 2018 - Attempt 2

Rebasing


F/enhance postfinance moocher

I enhanced the postfinance moocher to be able to accept payment_methods. You can add TWINT or PAYPAL if those methods are activated in the postinance backend.

🎉👍
Looks good! Many merge conflicts though?

I created a new PR https://github.com/matthiask/django-mooch/pull/2 because i didn't pull master before i opened this one :upside_down_face:


labelInterpolationFnc doesn't apply to the last tick.

It seems that when using ticks, the last value in the tick doesn't get intercepted by labelInterpolationFnc
With the options below, all ticks will have "%" after them except 80. Also, I think it was mentioned before, that using high, the high end isn't displayed in the labels. Using below, high : 80 would only show labels up to 70, though they would still get the "%" sign.
var options = {
    reverseData    : true,
    horizontalBars : true,
    axisX          : {
                        type                  : Chartist.FixedScaleAxis,
                        ticks                 : [0,10,20,30,40,50,60,70,80],
                        high                  : 80,
                        onlyInteger           : true,
                        showGrid              : false,
                        labelInterpolationFnc : function(value)
                        {
                            return value+"%";
                        }
                    },
    axisY          : { offset: 200, showGrid: false }
}

Hi there. You're facing this issue because the percentage sign is getting cut off. Chartist does not auto align the chart, this is something you need to manually compensate. Using an appropriate right padding solves your issue:
var options = {
    reverseData    : true,
    horizontalBars : true,
    axisX          : {
                        type                  : Chartist.FixedScaleAxis,
                        ticks                 : [0,10,20,30,40,50,60,70,80],
                        high                  : 80,
                        onlyInteger           : true,
                        showGrid              : false,
                        labelInterpolationFnc : function(value)
                        {
                            return value+"%";
                        }
                    },
    axisY          : { offset: 200, showGrid: false },
    chartPadding: {
       right: 30
    }
};

I've closed this issue. feel free to reopen or ask any other questions

Aha! Thank you!


add axmol_ext.h

THIS PROJECT IS IN DEVELOPMENT MODE. Any pull requests should merge to branch dev, otherwise will be rejected immediately.
Describe your changes
Replace #include "cocos-ext.h" vs #include "axmol-ext.h"
Issue ticket number and link
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] I have checked readme and add important infos to this PR (if it needed).
[x] I have added/adapted some tests too.

@halx99
should "cocos-ext.h" be there for "backwards compatibilty" or should it be removed?

@halx99 should "cocos-ext.h" be there for "backwards compatibilty" or should it be removed?

Just leave it like cocos2d.h

than its ready for merge


Contact branch

Desktop portfolio made following microverse instructions which include:
You need to make sure that your dekstop version looks like the one in the Figma design template that you chose. We include a screenshot of Template 1 below for reference, but you should use the template that you chose.
IMPORTANT NOTE some Figma design templates include two input fields (for first name and last name) in the desktop version and one input field (for full name) in the mobile version (look for those cases in Contact me or Get in touch sections). Please ignore this part of the design template and use only one input for the full name for all versions.
Use media queries in your CSS file to make your desktop version look like the template you selected (Desktop: 768px or wider).
In order to lay out the elements on the page you should use Grid and Flexbox.
You don't need to implement any functionality that requires JavaScript.
You must replicate the design as much as possible (e.g., font, colors, images, text, margins) using the info from the Figma templates.

The form part is animated, 2s transition. It stays in the center of the page at the end of the transition


bugfix: fixed combinatory.Generate func

Tricky one. Here's playground with some prints for debugging: https://go.dev/play/p/JoJL7tXB3xF
The issue is caused by unintentional reusing of slices.

I'm so sorry @josephbuchma . I haven't received the notification for the PR (I think I have some wrong setting or a mail filter, not sure about this). I will review this ASAP. Thank you very much for taking the time to review the library and for submitting the fix.


limit() in relationship load extremely slow in Laravel 11

Laravel Version
11.20.0
PHP Version
8.2.22
Database Driver & Version
MySQL 8.0.33
Description
Loading a relationship with a limit(), results in an extremely slow query.
Laravel 10 query:
select * from `measurements` where `measurements`.`beaconMac` in (?) order by `measurementDate` desc limit 1

Laravel 11 query:
select * from (select *, row_number() over (partition by `measurements`.`beaconMac` order by `measurementDate` desc) as `laravel_row` from `measurements` where `measurements`.`beaconMac` in ('somebinarystring')) as `laravel_table` where `laravel_row` <= 1 order by `laravel_row`

The latter takes several minutes, whereas the first is near instantaneous.
(The goal of loading this relationship is to get the most recent measurement)

For anyone stumbling upon this with the same problem, I worked around the issue by using:
            $measurement = $beacon->measurements()
                ->orderByDesc('measurementDate')
                ->limit(1)
                ->get();
            $beacon->setRelation('measurements', $measurement);

Steps To Reproduce
            $beacon->load([
                'measurements' => function (HasMany $q) {
                    $q->orderByDesc('measurementDate');
                    $q->limit(1);
                }
            ]);

Hey there,
Can you first please try one of the support channels below? If you can actually identify this as a bug, feel free to open up a new issue with a link to the original one and we'll gladly help you out.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord or InertiaJS Discord for Inertia questions
Larachat
IRC

Thanks!

Thank you for the response, it's not worth that much trouble for me. I'm sorry.
I'm 99% sure it's a bug, if it's not, it's not. The workaround works for me.


a reference of type 'myapp/MyModel' could not resolve an object with id

repro here
https://codesandbox.io/s/broken-refs-3undv
add some items with plus button, select an item by clicking it (ref used to determine active selection) and then try removing with the minus button.

The problem occurs in the removal process. When you remove an item, the reference to it still exists and on re-rendering it will look for the selected item which is gone at that moment.
Here would be an "ugly" fix:
https://codesandbox.io/s/broken-refs-f4vp7
It may be better to use "maybeCurrent" for the selectedItem:
https://codesandbox.io/s/broken-refs-b0iz2

Oh I see, it looks like I missed this section in the docs, it looks like maybeCurrent is the correct solution
Reference objects can then be created using myRef(target: T) or myRef(id: string) and offer the following properties:

isValid - If the reference is valid (can be currently resolved).
current - The object this reference points to, or throws if invalid.
maybeCurrent - The object this reference points to, or undefined if invalid.

I read this part in the docs
The good thing is that whenever a todo is removed from the list and it was the selected one, then the selectedTodo property will automatically become undefined.
I assumed this would be handled for me but I just didn't read carefully enough 😅

I opened #134 to make this a bit nicer, but it may be a good idea to improve the documentation to fix this issue. Do you have an idea how the documentation may be better?

I think the documentation is pretty clear, I was just being too hasty.
Might be worth mentioning the usage of .maybeCurrent in a comment in the single selected todo example.
// not strictly needed, but neat
  @computed
  get selectedTodo() {
    // or this.selectedRef.maybeCurrent
    return this.selectedRef ? this.selectedRef.current : undefined
  }

Or perhaps change the example to use .maybeCurrent by default since it doesn't throw, and instead  leave a comment about using .current?
// not strictly needed, but neat
  @computed
  get selectedTodo() {
    // or this.selectedRef.current to handle errors
    return this.selectedRef ? this.selectedRef.maybeCurrent : undefined
  }

But maybe unnecessary. Feel free to close this too.

In the case of the todo example it doesn´t use maybeCurrent since (in theory) this.selectedRef will automatically become undefined if the referenced object dissapears (therefore maybeCurrent will never get to be null)


Improvements to job dashboard list page

update title based on page
job table goes off the bottom of the page
display Inputs in the Job Details

done


feat(calendar): Annual view agenda mode

Hello team,
🎉 This is my first contribution to the project (schedule-x). I’ve opened a PR to introduce a new annual view for the calendar.
This new view provides a comprehensive overview of all planned events throughout the year. By clicking the "see more events" button, the calendar will automatically switch to the monthly view.
Currently, I haven't figured out how to manage recurrence or enable drag-and-drop for events in this mode yet.
I'd love to hear your thoughts on this addition and any suggestions you might have. Do you think this feature could be integrated into the project?
Thank you for your consideration!
Best regards,
Dove

Hey 👋  thanks for opening this. Looks like a bigger one, but I'll try and have a look later this week

Thank you :)  By the way, I didn't notice it earlier, but I fixed a bug regarding the number of visible months.
Here is the correct result:

Now I had a chance to have a little look on this. First of all, great job! I like the idea, especially for use cases where there are not so many events in each month, like maybe for birthday calendars.
However, I still aim to implement a year view for Schedule-X, modeled after the Google-calendar year view. Something like in the following image, but with little colored dots under the dates with events, just like in the month agenda view.

I would be open to PRs for a view like that, but if the view you have built in this PR is something you would like to release, you could also release it via npm from your fork, and then I'd love to add it in a "community" section in the docs.

Thank you! I'm glad you like the idea. Could you please explain how I can publish the view separately on npm?


feature/embedded-io

Adds a blanket fatfs::io::* implementation for anything that implements the embedded-io traits.embedded_io::ErrorKind only has ErrorKind::Other at the moment, but in the future when this populated we can come back and improve this error.
I did contemplate replacing the io module completely with embedded-io, the only part that doesn't slot in perfectly is the error module. Happy to PR those changes instead, if you think that would work. It might also pave the way for some async support in the future.

Actually, on further usage, I think that we should replace the IO module in this crate. embedded-io is a more complete copy of std::io, has write_fmt for example. Whilst we could add this to the current implementation here, what's the point when we can use a common crate?


Add * to cp -R in makefile

Is it relevant?

I don't think it's necessary. First of all if it was the previous build should all have failed (which they didn't). Also, from the manpage of cp:
-R    If source_file designates a directory, cp copies the directory and the entire subtree connected at that point.  If the source_file ends in a /, the contents of the directory are copied rather than the directory itself.  This option
           also causes symbolic links to be copied, rather than indirected through, and for cp to create special files rather than copying them as normal files.  Created directories have the same mode as the corresponding source directory,
           unmodified by the process' umask.

           In -R mode, cp will continue copying even if errors are detected.

           Note that cp copies hard-linked files as separate files.  If you need to preserve hard links, consider using tar(1), cpio(1), or pax(1) instead.

I don't think it's necessary. First of all if it was the previous build should all have failed (which they didn't). Also, from the manpage of cp:
-R    If source_file designates a directory, cp copies the directory and the entire subtree connected at that point.  If the source_file ends in a /, the contents of the directory are copied rather than the directory itself.  This option
           also causes symbolic links to be copied, rather than indirected through, and for cp to create special files rather than copying them as normal files.  Created directories have the same mode as the corresponding source directory,
           unmodified by the process' umask.

           In -R mode, cp will continue copying even if errors are detected.

           Note that cp copies hard-linked files as separate files.  If you need to preserve hard links, consider using tar(1), cpio(1), or pax(1) instead.

You're right, thank you @jmorel


Typo in "About" text

Currently, the "About" text of the project is:
Rust reimplemtation of the procps project

It should be reimplementation instead of reimplemtation.

fixed, thanks


Common components should have optional onClick

Judging from source code it is necessary to specify onClick handler for Saturation component. The same requirement goes to Alpha and Hue.
I think specifying handler should be optional.

This has been completed in<EMAIL_ADDRESS>


Does the dissolution of a group implies the leaving of its members?

In the case of A. J. Casson who joined the Group of Seven in 1923 until the dissolution of the group:

Do we need to create a dissolution event when the group is dissolved?
or
Is this dissolution event automatically implies the leaving of its members?

Is it necessary to have a leaving event?
If we need to create leaving events after a dissolution, that would need implementing some scripts in order to create those triples.

Do we need to create a dissolution event when the group is dissolved?

If you have the knowledge in the data, yes. Otherwise, no.

Is this dissolution event automatically implies the leaving of its members?

It is the logical conclusion that if a group has dissolved then all of its members have left (though in Canada for example there would be the counter example of the Progressive Conservative Party which was disbanded in order to form a new party the Conservative Party and yet some of its members continued to want to be part of the PCs. They lost their case though.
Though this it the logical implication, I am not sure if you would need to go so far as to instantiate it. The property p107 is already future proofed by saying former or current...

Notes on verbal meeting 2020-02-17
Dissolution of a group: use recurrent properties that are well maintained. Would support writing a script would be right 9/10 times. Does bring up the discussion around the Open World and organizing knowledge bases. Models impose quantifiers to the world. But in the knowledge base, different opinions might build up to seemingly non-logical information so it is ok to escape such logic (e.g. Mary and Sally cannot both be the mother of John, but we cannot know which one is the mother).
We would need a script that creates the leaving group event for every member of a group that has a Dissolution Event.

Any such inference is prone to fall victim to non-monotonicity. Consider these cases:

you learn of a new member X and add a Joining event. Do you also add the automatic Leaving event
you have added the automatic Leaving event for member Y. Now you learn that he left earlier.

So you could have such script,  but only under human control of the results.

@VladimirAlexiev Indeed, a script could create more problems than solving some.
Another option, discussed with @illip and @KarineLeonardBrouillet on the 23.03.2020, would be to tackle this problem not by adding some data or modifying the model, but by having a specific query:
When we search for the memberships of an Actor, and there is no end date of that membership, we could retrieve the dissolution date of the group.

The Semantic Committee has decided on 2021-05-06 to test the benefits and the risks of these inferences.
Short term, we will explain in the Target Model that there are no semantic links between the Group Belonging and the Formation/Dissolution of groups patterns. So the users must be careful when it comes to querying the membership time-span as they must check both patterns. For instance, a leaving event might not be recorded but the dissolution event could give some information regarding the membership ending date.
When CHIN will have a sufficient amount of data, we will test if a semi-automated script could be relevant in order to general new knowledge. For instance, we could test how many errors are generated when we create several leaving events when a dissolution event is recorded. It will also be important to evaluate the resources required to maintain these generated data, especially regarding the update process.
As the SPARQL queries to get all the proper data to answer those membership time-span issues might be complex, CHIN will also offer a few of them in order to help end-users to analyze their results.


Various requested fixes

Fixed

Service Transfer Create (POST /account/service-transfers). Included VPC in list of services that a Linode can't use.
VPC-related fixes:

Corrections to nat_1._1 objects for proper support.
Proper IP address formatting for VPC IP addresses.
IP Addresses List (GET /linode/instances/{linodeId}/ips). Corrected response example to show VPC's displayed as objects in an array and added ipv4.vpc attribute to x-linode-cli-subtables.

Domain Clone (POST /domains/{domainId}/clone). Updated regex examples to proper format.
IP Address List (GET /linode/instances/{linodeId}/ips). Replaced requestBody with query string.
Parent/Child Account fixes for pagination and missing warning message.

Since IPAddressesVPCListResponse no longer represents the actual list API response and is now being a VPC IP object, can we consider rename it? How does IPAddressVPC sound?
Otherwise looks good to me. Thank you so much for fixing the issues in the doc!


Fix grammer in definitions of concentration terms

Note about the definitions in the concentration terms, the grammer is a little off it's

The concentration of X when measured in plant structure.
It should be something like a plant structure. or some plant structure. @CropStoreDb and @LilyAndres any preferences? I think some works. I'll add this to the DOSDP file before we run all the new terms.
@LilyAndres what's the plan are you going to run the whole workflow soon? If so I we should quickly address this.

Thanks @kaiiam I think some is ok and yes I'm planning to run the whole workflow soon.


Set lifecycle rules for backblaze bucket (or document it)

Output of restic version
restic 0.8.3
compiled with go1.10 on linux/amd64
How did you run restic exactly?
N/A
What backend/server/service did you use to store the repository?
Backblaze
Expected behavior
When a new bucket is established by restic in Backblaze, the default lifecycle rules for that bucket are in place. These rules keep every version of every uploaded file. This takes up space and costs money as incremental backups are completed. Instead, restic should use Backblazes lifecycle rules to not save old versions of the data.
Actual behavior
The default lifecycle rules are applied, which keeps all versions of all files.
Steps to reproduce the behavior
Init a new backblaze repo.
Do you have an idea how to solve the issue?
You should be able to tweak the code that creates the bucket in backblaze to include different lifecycle rules, as described in their docs: https://www.backblaze.com/b2/docs/lifecycle_rules.html
Did restic help you or made you happy in any way?
I've been loving the restic concept and UX. That it uses backblaze at all is wonderful.
For us, it's going to come down to a matter of performance whether I get to continue using restic. I hope so, but it seems like 4TB may be a bit too much for restic.

Thanks for the report! So, if I understood this correctly, at the moment restic will accumulate data in a B2 bucket? Even if files are deleted (by prune and forget)?
@kurin Is that correct?
If that's the case, I'm all for setting a different lifecycle policy for files created by restic.
Or is this only applied for overwritten files? In this case it's not relevant for restic: Due to the way the repo is designed, no files are overwritten at any point.

If restic is deleting instead of hiding objects, this shouldn't really matter.
https://www.backblaze.com/b2/docs/file_versions.html
But you could always set the lifecycle rules anyway.  I've never been fond of the hiding/deleting mechanic.

restic uses Delete() https://godoc.org/github.com/kurin/blazer/b2#Object.Delete so we should be fine.

Sounds great. Just so long as we never get to a point where we're overwriting files, I think we'll be OK. I'll close unless those with more expertise see a problem here. (There is an argument that doing this is good just in case though, to cover the possibility that we accidentally start overwriting files.)


Update apps to new SCION version

TODO:

[ ] netcat
[ ]  ssh
[ ] test all apps with local / scionlab setup and all flags

This change is

Fixes #99


the code is not running as expected

URL

Operating system
windows 11
More information about your system
No response
Description

am trying to run the code but i keep getting undesired output. have i done anything wrong, if yes what can i change?
dotnet --info
No response

Which tutorial are you currently using? Did you download and install the .NET SDK? Did you install the C# Dev Kit extension into VS Code?


feature: whitelist generic attribute prefix

This is a joint work with @shekyan, intend to solve #126
Background
data- prefix is commonly used (such as google doc, etc.) and html sanitizers sometimes want to keep these attributes to support these interactive web apps. Before this commit, ammonia can only do exact match based attribute whitelist, instead of rule-based or prefix-based filtering.
Proposed solution
Added "prefix" based whitelist for generic attributes.
Introduced three new functions for Builder:
pub fn generic_attribute_prefixes(&mut self, value: HashSet<&'a str>) -> &mut Self;
pub fn add_generic_attribute_prefixes<T: 'a + ?Sized + Borrow<str>, I: IntoIter<Item = &'a T>>(
    &mut self,
    it: I,
) -> &mut Self;
pub fn rm_generic_attribute_prefixes<'b, T: 'b + ?Sized + Borrow<str>, I: IntoIter<Item = &'b T>>(
     &mut self,
     it: I,
) -> &mut Self;
pub fn clone_generic_attribute_prefixes(&self) -> Option<HashSet<&'a str>> {
    self.generic_attribute_prefixes.clone()
}

And put the prefix based whitelist logic along with the previous match:
@@ -1670,6 +1760,12 @@ impl<'a> Builder<'a> {
                 if self.tags.contains(&*name.local) {
                     let attr_filter = |attr: &html5ever::Attribute| {
                         let whitelisted = self.generic_attributes.contains(&*attr.name.local)
+                            || self
+                                .generic_attribute_prefixes
+                                .as_ref()
+                                .map(|prefixes| {
+                                    prefixes.iter().any(|&p| attr.name.local.starts_with(p))
+                                }) == Some(true)
                             || self
                                 .tag_attributes
                                 .get(&*name.local)
@@ -2850,4 +2946,43 @@ mod test {
             "<this> is <a test function"
         );
     }

We added tests and doc-tests as well. Please feel free to comment and edit. Appreciate your help. Thanks!

I guess it's all right. It's pretty specialized (and data- is the only "valid" prefix in HTML). But it might come in handy if you want to validate an Angular template or similar.
On a different note, I wonder if we could move towards a Pattern-style API in the future, but the dynamic dispatch needed might not be worth it.

bors r+


Convert react-intl's plural syntax to PO format plural syntax

React-intl uses the ICU message syntax, which means that if you want to specify different translations for different plural forms, it looks something like this:
You have {itemCount} {itemCount, plural, one {item} other {items}}.

(See https://formatjs.io/guides/message-syntax/#plural-format)
When converted into PO format using react-intl-po, it currently looks like this:
msgid "You have {itemCount} {itemCount, plural, one {item} other {items}}"

However, in PO format, plural forms are supposed to be specified like this:
msgid "You have %1 item"
msgid_plural "You have %1 items"
msgstr[0] ""
msgstr[1] ""

(And you can specify msgstr[2] and so on for languages with more than 2 plural forms. See http://pology.nedohodnik.net/doc/user/en_US/ch-poformat.html)
This issue also applies to translations with ordinal numbers, for which react-intl uses ICU's selectordinal. This could also be converted to PO format. However, I propose we limit the scope of this issue to translating cardinal plurals (i.e., plurals like the example above, where react-intl uses the plural keyword). That being said, any solution we come up with should probably keep in mind that we'll want to translate selectordinal as well. I'm happy to take lead on this and come up with a PR. Let me know your thoughts!

It will be great to handle the plural use case, but I have no time to dive
into it. I am happy to see a PR for this feature. 😍
Sand1929<EMAIL_ADDRESS>2017年11月23日 週四，20:14寫道：

React-intl uses the ICU message syntax, which means that if you want to
specify different translations for different plural forms, it looks
something like this:
You have {itemCount} {itemCount, plural, one {item} other {items}}.
(See https://formatjs.io/guides/message-syntax/#plural-format)
When converted into PO format using react-intl-po, it currently looks like
this:
msgid "You have {itemCount} {itemCount, plural, one {item} other {items}}"
However, in PO format, plural forms are supposed to be specified like this:
msgid "You have %1 item"
msgid_plural "You have %1 items"
msgstr[0] ""
msgstr[1] ""
(And you can specify msgstr[2] and so on for languages with more than 2
plural forms. See
http://pology.nedohodnik.net/doc/user/en_US/ch-poformat.html)
This issue also applies to translations with ordinal numbers, for which
react-intl uses ICU's selectordinal. This could also be converted to PO
format. However, I propose we limit the scope of this issue to translating
cardinal plurals (i.e., plurals like the example above, where react-intl
uses the plural keyword). That being said, any solution we come up with
should probably keep in mind that we'll want to translate selectordinal
as well. I'm happy to take lead on this and come up with a PR. Let me know
your thoughts!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/evenchange4/react-intl-po/issues/98, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABdOS-yAM2I5TlEpIO6hOAsPcuuC5Tjyks5s5VOpgaJpZM4Qol2y
.

--
Best,
徐承志 Cheng-Chih Hsu
==============================
Michael Hsu 徐承志
國立台灣大學資訊管理學系暨研究所
E-mail<EMAIL_ADDRESS>Tel: +886 987-426-660
Website: michaelhsu.tw
Facebook: evenchange4 https://www.facebook.com/evenchange4
Linkedin: www.linkedin.com/in/evenchange4


Fix RGBA mode not compatible with JPEG on PILLOW >=3.7 (#503)

As I commented on Issue #503 using Pillow, RGBA is no longer allowed as a JPEG mode

:+1 :

Before merging this, could someone add a test?

This was already done with #518


Add tests similar to cookiecutter-invenio-module

Ideally what we need is a proper test matrix for all the possible combinations of cookiecutter parameters that actually have a impact on the underlying services, ie. database and elasticsearch.
This involves setting up a bit of duplicate travis.yml configuration in order to satisfy all possible environments, basically a combination of invenio-db and invenio-search.

I have a WIP for E2E tests, I can also add both versions of the DB and ES there:
https://github.com/switowski/cookiecutter-invenio-instance/blob/2018-05-16-e2e-tests/.travis.yml

Actually, that would require changing the run-tests.sh to cookie-cut with different parameters, so maybe it's better to start another PR for that.

Fixed in 1bee0fb02e983f80191d87d8ebde7bf74eae61d6


non trova flle quando si lavora con django

I dati necessari sono stati scritti negli appunti perché erano eccessivi per l'invio. Incollarli.
Issue Type: Bug
from app_conta.views import contatti, homepage
urlpatterns = [
path('admin/', admin.site.urls),
]
the problem is:
{
"resource": "/c:/Users/F/Desktop/Django_Atom/contatto/pro_contatti/pro_contatti/urls.py",
"owner": "generated_diagnostic_collection_name#1",
"code": "unresolved-import",
"severity": 4,
"message": "unresolved import 'app_conta.views'",
"source": "Python",
"startLineNumber": 19,
"startColumn": 6,
"endLineNumber": 19,
"endColumn": 21
}
while I was creating a file urls.py did not find the file views that is inside the app_conta I tried the same passage with Atom and did not give me problems, already used Visual Code to finish other projects but never gave me problems, this problem has now come out with a new project started by Visual Code
VS Code version: Code 1.31.1 (1b8e8302e405050205e69b59abb3559592bb9e60, 2019-02-12T02:20:54.427Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz (8 x 2395)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: unavailable_offsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: unavailable_off

Memory (System)
7.89GB (3.11GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

vscode-language-pack-it
MS-
1.31.4

python
ms-
2019.1.0

vscodeintellicode
Vis
1.1.3

@pipolo23 please file the issue against the Python extension. Thanks!

Thanks very much
Il giorno ven 15 feb 2019 alle ore 20:10 vscodebot[bot] <
<EMAIL_ADDRESS>ha scritto:

Closed #68796 https://github.com/Microsoft/vscode/issues/68796.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/68796#event-2143306613, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Atdymul2MmkWM2U3jGn0C1nFAkNSU0Veks5vNwYJgaJpZM4a-QCq
.


Term depth2

Hi Jan - I guess I should have deleted the previous termDepth branch locally? 'cos GitHub Desktop let me carry on, but wouldn't allow a pull request. I think I've cleared that mess up...
Anyway, here's the newer changes, under a new branch name, committed in better style ;-)
regards - Paul

Thanks.   Merged.   Yes, if you start something new, make sure you are at master and up-to-date.  Then create a new branch.


import cycle not allowed

Hi, I am not a Go person.
Getting the following error while running $ go run mac2mqtt.go
mac2mqtt % go run mac2mqtt.go package command-line-arguments 	imports gopkg.in/yaml.v2 	imports gopkg.in/yaml.v2: import cycle not allowed

Please show your go.mod file.

Check out this PR if you'd like to run/build the source: https://github.com/bessarabov/mac2mqtt/pull/9

I'm pretty sure that you have faced this problem because there was were no go.mod  and no go.sum files in the reposity. Now this is fixed, and the files are present in this repo (done in https://github.com/bessarabov/mac2mqtt/commit/ec0bbea53a63f78133b707036d2a06d1630c5582 )
But besides that now there is also a pre-complived binaries that you can just take and use. There is a GitHub Action that auto builds project and put complied versiosn to the Releases Page. The first release with them is https://github.com/bessarabov/mac2mqtt/releases/tag/1.4.0
I've also added this info to README.md file — (done in commit https://github.com/bessarabov/mac2mqtt/commit/c00296689256e870b18e22ff7dc1a23473f97848 )
I believe there's no point in keeping this issue open right now, so I'm closing it.


NuKeeper detects Gitea when being run against Azure DevOps Server 2019

🐛 Bug Report
Using NuKeeper extension against Azure DevOps Server 2019 (Dev17.M153.5) with NuKeeper version 0.34.0.
The tool seems to detect Gitea and not Azure DevOps as the following error message within the log shows:
No valid Gitea repo during repo check
Is the on-prem "Server" variant not supported?
Expected behavior
Detects Azure DevOps provider.
Reproduction steps
Configuration
NuKeeper Extension
Version: 0.34.0
Platform if applicable:

[ ] :hammer_and_wrench: NuKeeper CLI
[ ] :sparkles: GitHub
[x] :robot: Azure DevOps
[ ] :checkered_flag: Bitbucket
[ ] :earth_americas: Gitlab
[ ] :tv: Gitea
[ ] :whale: Docker

The error message provided when using the repo command is more suitable:
Unable to work out which platform to use {repoUrl} could not be matched
So it seems on-prem Azure DevOps is unsupported...

--platform seems to be an option. Neither the CLI, nor the documentation mentions the valid values which should be provided.
Googling...

Just tried "AzureDevOps" and then #1009 hits hard.

A human response would be great.

?


Remove Link and instead remove index.html when user navigate

Our current Link bring even more stuff, so we might revisit this later.


Optimise histogram kernels

Performed loop unrolling and change compressed iterator to use byte aligned sizes, increasing global memory read throughput.
max_depth=8

dataset
master
hist

airline
89.51209751
83.09268917

bosch
12.62905315
13.52083097

covtype
17.99281998
15.88525812

epsilon
44.71274849
39.46799638

fraud
1.29335506
1.161479132

higgs
17.27792022
15.09929334

year
6.953637654
4.075826511

There was a discussion about the block size/kernel size being too large and many threads are wasted in the histogram kernel on latest architecture. Did you get a chance to look into that?

Thanks for the reminder. Maybe I should test on Ampere to check that I haven't reintroduced that issue. I think the number of blocks launched should be even smaller in this PR, but I should check.

Here is the A100 benchmark. Everything looks good.

dataset
master
hist

airline
65.77564727
60.79124835

bosch
13.05801762
13.36868745

covtype
20.95157623
14.26051986

epsilon
47.79153186
48.37207412

fraud
1.514388888
1.128341728

higgs
14.98636844
10.8116073

year
4.462064292
4.655418076

Please convert it to non-draft so that we can run tests on Jenkins.

Unfortunately using aligned byte sizes in the compressed iterator increased the memory usage of the large sizes test by 1gb and I think it barely no longer fits on the T4 we use in CI.
The memory used by DeviceQuantileDMatrix in the test went from ~12GB to ~13GB which I think is acceptable, its just slightly annoying the test can't run on these machines.

Seems odd though, I think the memory usage bottleneck is on sketching instead of ellpack.

I reverted the changes to compressed iterator. In the test for large sizes the bit packed version to is able to use 10 bits per symbol where the aligned version uses 16. The page size is 2484Mb vs 4294Mb.
Speed seems better actually in some cases with bit packing compression.
Benchmarking results:

dataset
Without compression
With compression

airline
60.79124835
59.46090026

bosch
13.36868745
13.11017834

covtype
14.26051986
14.26651251

epsilon
48.37207412
37.74572848

fraud
1.128341728
1.119378205

higgs
10.8116073
10.70780578

year
4.655418076
4.122201498


opt-in to cell magics

closes #557

@MarcoGorelli : I am will review this PR tomorrow. Could you keep this open till then?

Codecov Report

Merging #559 (b3d6e74) into master (a051cb1) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Current head b3d6e74 differs from pull request most recent head c56fe3d. Consider uploading reports for the commit c56fe3d to get more accurate results

@@            Coverage Diff            @@
##            master      #559   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           14        14
  Lines          733       752   +19
  Branches       106       110    +4
=========================================
+ Hits           733       752   +19

Impacted Files
Coverage Δ

nbqa/__main__.py
100.00% <ø> (ø)

nbqa/cmdline.py
100.00% <100.00%> (ø)

nbqa/config/config.py
100.00% <100.00%> (ø)

nbqa/handle_magics.py
100.00% <100.00%> (ø)

nbqa/save_source.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


[Bootcamp] Update "Retrieve From" (admin side)

Task Brief
Currently, the "Retrieve From" field lists a ton of different locations, but we only want it to show Cohon (because that is our only current pick-up location). If it's too complex to remove the other locations, we should make the default location Cohon so admin don't have to scroll and select it every time.

Expected Deliverables
Change "Retrieve From" to have CUC as the default location, or the only location.
Estimated Completion Time
1 hour
Reviewers
@mich

#77


Rails 7 devise flash messages not being shown

Environment

Ruby 3.0.2p107
Rails 7.0.0
Devise 4.8.1

Current behavior
A new rails 7 app with devise.
Flash messages from Devise are not shown but Flash messages generated from another controller are shown.
The Devise flash messages appear to be being generated in the console rendering messages when a new user is registered with a password that is too short

Started POST "/users" for ::1 at 2021-12-24 08:02:10 +0000
Processing by Devise::RegistrationsController#create as TURBO_STREAM
  Parameters: {"authenticity_token"=>"[FILTERED]"<EMAIL_ADDRESS>"password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}
  TRANSACTION (0.1ms)  begin transaction
  User Exists? (2.7ms)  SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ?  [["email"<EMAIL_ADDRESS>["LIMIT", 1]]
  TRANSACTION (0.2ms)  rollback transaction
  Rendering layout layouts/application.html.erb
  Rendering /home/sroot/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/devise-4.8.1/app/views/devise/registrations/new.html.erb within layouts/application
  Rendered /home/sroot/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/devise-4.8.1/app/views/devise/shared/_error_messages.html.erb (Duration: 0.7ms | Allocations: 582)
  Rendered /home/sroot/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/devise-4.8.1/app/views/devise/shared/_links.html.erb (Duration: 0.2ms | Allocations: 92)
  Rendered /home/sroot/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/devise-4.8.1/app/views/devise/registrations/new.html.erb within layouts/application (Duration: 3.9ms | Allocations: 2199)
  Rendered layout layouts/application.html.erb (Duration: 77.5ms | Allocations: 4429)
Completed 200 OK in 473ms (Views: 78.7ms | ActiveRecord: 3.1ms | Allocations: 15288)

Example minimal app:
https://github.com/steveroot/rails7deviseflash
(Add a 'new club' to see working flash message, Register a new user with a short password to not see flash message yet see render message in console)
Expected behavior
Flash messages shown on screen when generated

Update, I found an error reported in the browser console, i don't know if this is useful
turbo.es2017-esm.js:2115 Error: Form responses must redirect to another location
A failure in the clubs controller generates a flash error message and a different message in the console turbo.es2017-esm.js:430 POST http://localhost:3000/clubs 422 (Unprocessable Entity)

The devise part generates the 'must redirect' message in the console like this screenshot

I am also having this issue.
I thought that this might fix it  but it doesn't...
ref: https://github.com/heartcombo/devise/issues/5439
Ran into this at the same time as you 😆
Quick fix, tl;dr
Add :turbo_stream as a navigational format. This line goes in config/initializers/devise.rb. I haven't tested this extensively, but I think it should be fine.
config.navigational_formats = ['*/*', :html, :turbo_stream]

There's also this open PR that may be of use: https://github.com/heartcombo/devise/pull/5440

I am also having this issue.
I thought that this might fix it but it doesn't...
ref: #5439 Ran into this at the same time as you 😆
Quick fix, tl;dr
Add :turbo_stream as a navigational format. This line goes in config/initializers/devise.rb. I haven't tested this extensively, but I think it should be fine.
config.navigational_formats = ['*/*', :html, :turbo_stream]

There's also this open PR that may be of use: #5440

Thanks, it's nice to know it's not just me having trouble :-)
I just tried it too and you're right that didn't work either, same error messages in the browser console too. Worth a try though, thanks again

I am also having this issue.
I thought that this might fix it but it doesn't...
ref: #5439 Ran into this at the same time as you laughing
Quick fix, tl;dr
Add :turbo_stream as a navigational format. This line goes in config/initializers/devise.rb. I haven't tested this extensively, but I think it should be fine.
config.navigational_formats = ['*/*', :html, :turbo_stream]

There's also this open PR that may be of use: #5440

Thanks, it's nice to know it's not just me having trouble :-) I just tried it too and you're right that didn't work either, same error messages in the browser console too. Worth a try though, thanks again

Did it work for you, I just tried it, it's not working for me.

I am also having this issue.
I thought that this might fix it but it doesn't...
ref: #5439 Ran into this at the same time as you laughing
Quick fix, tl;dr
Add :turbo_stream as a navigational format. This line goes in config/initializers/devise.rb. I haven't tested this extensively, but I think it should be fine.
config.navigational_formats = ['*/*', :html, :turbo_stream]

There's also this open PR that may be of use: #5440

Thanks, it's nice to know it's not just me having trouble :-) I just tried it too and you're right that didn't work either, same error messages in the browser console too. Worth a try though, thanks again

Did it work for you, I just tried it, it's not working for me.

@bouaik Nice one! Thank you for sharing that.
Bit of a fiddly one, but it's mostly working for me. Other than a failed log in attempt (logs below) - this just returns to the log in page without any error message.
Have you got this working too?
logs:
Started POST "/users/sign_in" for ::1 at 2022-01-02 11:57:55 +0000
Processing by Devise::SessionsController#create as TURBO_STREAM
...
Completed 401 Unauthorized in 7ms (ActiveRecord: 0.3ms | Allocations: 2129)

Started GET "/users/sign_in.turbo_stream" for ::1 at 2022-01-02 11:57:55 +0000
Processing by Devise::SessionsController#new as TURBO_STREAM

No flash message being set...

@AlanDonohoe , yes it's working for me, setting :turbo_stream as a navigational format solves the 401, but not the flash messages, you have to add the same code as in the video to make it all working.

And full code here https://github.com/hotwired/turbo/issues/45 from the very clever @excid3 - thank you so much! 👏

I am an absolute beginner, so pardon me for any mistake. But I have been facing a similar issue to this, where I cannot sign up a user. The sqlite3 database remains empty even after pressing sign up.
The browser console shows the following error:
Error: From responses must redirect to another location.
While terminal serves me a rollback transaction:
Started POST "/users" for ::1 at 2022-01-04 16:41:34 +0530
Processing by Devise::RegistrationsController#create as TURBO_STREAM
  Parameters: {"authenticity_token"=>"[FILTERED]"<EMAIL_ADDRESS>"password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}
  TRANSACTION (0.1ms)  begin transaction
  User Exists? (0.2ms)  SELECT 1 AS one FROM "users" WHERE "users"."email" = ? LIMIT ?  [["email"<EMAIL_ADDRESS>["LIMIT", 1]]
  TRANSACTION (0.1ms)  rollback transaction

I tried pasting the following in config/initializers/devise.rb but have had no success. Kindly help me implement user authentication.
config.navigational_formats = ['*/*', :html, :turbo_stream]
Demo Github Repo : https://github.com/jaindivij21/friends-list

maybe it can help you.

Here is what helped me: https://medium.com/@nejdetkadir/how-to-use-devise-gem-with-ruby-on-rails-7-33b89f9a9c13

A temporary solution/hack would be to set: data: { turbo: false }, as in:
<%= form_with url: some_path, data: { turbo: false } do |f| %>
   ...
<% end %>

+1
Surprised Rails 7 isn't working out of the box with Devise yet 🤔

Turns out the issue is this tag in application.html.erb

Remove it and Devise will start showing flash messages.
I am not sure why this happens, but it happens. If someone can understand the reason, do explain it. Thanks

@awais-amjed You are right. I don't know why it works after I removed it. Thanks a lot

@awais-amjed Thanks, that worked for me as well

Can you actually comment that out without breaking all of the hotwire stuff like turbo and stimulus?

No, actually that's not a good way to do this. We should use above solutions data: { turbo: false }
I figured out later when I needed to use hotwire that removing this line breaks all that stuff.

Is this fixed now, I don't really want to be putting in hacks to get things working ?

I think the issue is about setting the right response status when devise renders new.html.erb after login failure.
After adding turbo_stream to devise navigational_formats, sign_in request with turbo_stream format returns an :ok status. However, flash messages will not be shown for login failures unless we explicitly set a failure status (eg :unprocessable_entity)
Will show flash message

def create
user = User.find_by_email(sessions_params[:email])
if user&.authenticate(sessions_params[:password])
# do some stuffs
flash[:notice] = 'Welcome'
redirect_to redirect_location
else
flash.now[:alert] = 'Invalid Email/Password'
render :new, status: :unprocessable_entity
end
end

Will not show message

def create
user = User.find_by_email(sessions_params[:email])
if user&.authenticate(sessions_params[:password])
# do some stuffs
flash[:notice] = 'Welcome'
redirect_to redirect_location
else
flash.now[:alert] = 'Invalid Email/Password'
render :new
end
end

Any suggestions on how we can achieve a similar result with devise?

maybe it can help you.

That also worked for me. And like @DaniG2k I'm also wondering why this is not working out of the box.

I tried both approaches and they worked just fine. Finally decided to  override form_for method with these data: { turbo: false } options.
📎 I created a gist with all the information may come in handy for this issue.

Is this issue still relevant? What is the current status of this problem?

This issue is still unresolved. Use this working hack for now:

A temporary solution/hack would be to set: data: { turbo: false }, as in:
<%= form_with url: some_path, data: { turbo: false } do |f| %>
   ...
<% end %>

A temporary solution/hack would be to set: data: { turbo: false }, as in:
<%= form_with url: some_path, data: { turbo: false } do |f| %>
   ...
<% end %>

This is the correct answer.

data: { turbo: false }

Thank you so much!

<%= bootstrap_form_with model: @company, data: { turbo: false } do |form| %>
it worked

@carlosantoniodasilva :rocket:

The main branch should contain all that's necessary for fully working with Turbo now, which should fix this. A new version will be released soon, but feel free to test it out from the main branch in the meantime, and report back on any issues. Thanks.

Thank you for fixing and sharing, and my apologies to all here that since I discovered this and created the issue a year ago I've had zero time to code and respond (I code for fun alone and this year was too busy for me, that time will come again and I appreciate all of your help).

@awais-amjed thank, I remove <%= javascript_importmap_tags %> and it work for me.

Just as @carlosantoniodasilva mentioned - this is now included in the latest. I used the following gems (although I don't think I needed to)
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'responders', '~> 3.1.0'

Make sure there's a flash message included in your template (application.erb or devise.erb) to display the error messages
        - flash.each do |name, msg|
          .message[class=flash_class(name.to_sym)]
            = content_tag :div, msg, id: "flash_#{name}"

I ended up here from https://www.youtube.com/watch?v=m3uhldUGVes&t
I'm happy this is fixed now :)


Battle.net crashes with DXVK, runs fine without

I have run into a situation where it is not possible to successfully start the Battle.net client with DXVK enabled. Trying to do so, winedbg opens automatically after a couple of seconds.
I'm running Arch Linux with the latest nVidia drivers:
Kernel 6.1.12
nVidia 525.89.02
Wine Staging 8.1
(DXVK 2.1)
After setup_dxvk uninstall, things work fine, but then I don't have acceleration which gives me approx. 60 fps in WoW vs. 180 fps with DXVK active. It's noteworthy that WoW itself runs just fine with DXVK enabled, so this seemingly affects only Battle.net.

Hello.
Please share dxvk logs.

I haven't been able to reproduce so far.
This is with regular wine 8.1 on Arch and a 7900xtx with mesa git

Screenshot

Ooops, sorry for that. Wanted to add this once I get back to my main machine, but You guys are fast ...
Anywhere, here's the log from Battle.net:

info:  Game: Battle.net.exe
info:  DXVK: v2.1
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6fa837c0
info:  Required Vulkan extension VK_KHR_surface not supported
err:   DxvkInstance: Failed to create instance

However, this is the log from Wow.exe:

warn:  DXGIDeclareAdapterRemovalSupport: Stub
warn:  CreateDXGIFactory2: Ignoring flags
info:  Game: Wow.exe
info:  DXVK: v2.1
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x2d4ad3f20
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  NVIDIA GeForce GTX 1080:
info:    Driver: 525.89.2
info:    Vulkan: 1.3.224
info:    Memory Heap[0]:
info:      Size: 8192 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 48164 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[8]: Property Flags = 0x6
info:      Memory Type[9]: Property Flags = 0xe
info:    Memory Heap[2]:
info:      Size: 246 MiB
info:      Flags: 0x1
info:      Memory Type[10]: Property Flags = 0x7
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
info:  Adapter LUID 0: 0:3f6
err:   readMonitorEdidFromKey: Failed to get EDID reg key size
err:   DXGI: Failed to parse display metadata + colorimetry info, using blank.
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
info:  DXGI: NvAPI workaround enabled, reporting AMD GPU
warn:  DXGI: MakeWindowAssociation: Ignoring flags

Looks a bit inconsistent to me. BTW, mesa version is also the latest available (22.3.4) in case that's important.

info: Required Vulkan extension VK_KHR_surface not supported

This indicates a driver issue. Make sure you also have the 32bit Vulkan driver installed lib32-nvidia-utils

Yep, that seems to work now. Thanks! Looks like there's a dependency missing in the dxvk-bin package for Arch, and lib32-nvidia-utils was removed as a consequence.

Np. Have fun :slightly_smiling_face:

info: Required Vulkan extension VK_KHR_surface not supported

This indicates a driver issue.  Thank you so much.


Ibis choose wrong schema

Hi,
I'm running Ibis 0.7.0 with Python 3.5. Below is the code to reproduce the issue,
x = ibis.table(ibis.schema([('a','string'),
                        ('b','string'),
                        ('n_x', 'int64')]))

y = ibis.table(ibis.schema([('a','string'),
                        ('b','string'),
                        ('n_y', 'int64')]))

joined =  x.join(y,[x.a == y.a, x.b == y.b])[x.a,x.b,x.n_x,y.n_y]

joined_avg = (joined
              .mutate(ratio = joined.n_x / joined.n_y)
              .aggregate(avg_ratio = lambda x: x.ratio.mean(), by='a'))

joined_avg[joined_avg.avg_ratio.between(1,3)]

This generates,
KeyError: "'avg_ratio' is not a field"

Or many filtering operation on avg_ratio will generates same issue I guess.
debugging this, the TabExpr used to detect the field is joined.schema() instead of joined_avg.schema()

Thanks. This is the result of an analysis error -- I have slated it for the next bugfix release (probably the end of April unless someone patches this sooner -- I am unavailable much of this month)

@cpcloud : Amazing work, thank you!


Ability to set environment variables for run_* functions

Use Case
As a bolt user i have a command/script that requires a password passed in on the command line.
Example:
mongodump -u mongouser -p 'Abc123$' --gzip --archive=mongodump-$(date  --utc --iso-8601=seconds).gzip.archive

Ideally instead of embedding that password in the command or arguments string, i would like to set these as environment variables:
# set these secretly
export MONGO_PASSWORD='Abc123$'

# run the dump command
mongodump -u mongouser -p "${MONGO_PASSWORD}" --gzip --archive=mongodump-$(date  --utc --iso-8601=seconds).gzip.archive

Additionally, some commands that require passwords do not accept them on the CLI, for security reasons, and require the arguments be environment variables.
Example:
# these would be set secretly
export PGUSER='dbuser'
export PGPASSWORD='Abc123$'

# run the dump command
pg_dumpall --compress=9 -f pgdump-$(date  --utc --iso-8601=seconds).sql.gz

Describe the Solution You Would Like
I would like the ability to set environment variables when calling the run_command() and run_script() functions (not sure if it makes sense for run_task()?).
Example:
run_command('mongodump -u mongouser -p "${MONGO_PASSWORD}" --gzip --archive=mongodump-$(date  --utc --iso-8601=seconds).gzip.archive',
            $targets,
            _environment => {
              MONGO_PASSWORD => $mongodb_password,
            })

Or the postgres example:
run_command('pg_dumpall --compress=9 -f pgdump-$(date  --utc --iso-8601=seconds).sql.gz',
            $targets,
            _environment => {
              PGPASSWORD => $postgres_password,
              PGUSER => $postgres_username,
            })

Additional Context
Maybe this deserves a different request, but also thinking about other "shell" things that people might want to set and cwd / pwd comes up ie. "what directory the command/script will be executed in". Example:
run_command('pg_dumpall --compress=9 -f pgdump-$(date  --utc --iso-8601=seconds).sql.gz',
            $targets,
            _env => {
              PGPASSWORD => $postgres_password,
              PGUSER => $postgres_username,
            },
            _cwd => '/mnt/backups')

We should not do this for run_task, as tasks have a clear API and there are ways to do this already
We should do this for run_command and run_script
This should be an _env_vars metaoption that accepts a hash
We should error if a value is not a string

Closed by #1943