access to Web Interface using the IPv6 address instead of of DNS fail to go to the Netbox web page

Hello, I want to told you that I really do not think that this is a problem with the Netbox software, I think it is a problem of the gunicorn,
I will begin explaining my issue, I am testing the IPv6/IPv4 only connectivity without the use of the DNS server at all to resolve the names.
So I setup everything to work with the IPv6 module and everything is working fine in the IPv4 world, I made a simple test.
So I was working with IPv6 link local address, and tried to go to http://[fe80::20c:29ff:fe45:9d8c]/ and later to test if the problem was with the link local address, I added a global unicast IPv6 address into the Linux interface and to my virtual machine adapter and I assure myself to stop the firewall of the physical machine and the VM too and disabled selinux. But I was not able to go the Netbox web page instead I was going to the NGNX default index.html page.
I tried the IPv4 address http://<IP_ADDRESS>/ and the browser went to the Netbox page, the IPv6 I was getting few errors  get rid of the error after doing a few mods into the files. , but if I do an DNS query, adding to the /etc/hosts in the OS windows.
#Windows /etc/hosts
2016:fade::22 ipam.lab.local
I am using centos 7.0.
Linux ipam 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
cd /opt/netbox/netbox/netbox
vim configuration.py
ALLOWED_HOSTS = ['fe80::20c:29ff:fe45:9d8c', '2016:fade::22', '<IP_ADDRESS>', 'ipam.lab.local']`
and to the file located in /etc/nginx/sites-available/netbox, put some tiher parameters missing fro the guide.
'server {
listen 80;
listen [::]:80;
server_name ipam.lab.local <IP_ADDRESS> 2016:fade::22 fe80::20c:29ff:fe45:9d8c;
access_log off;

location /static/ {
    alias /opt/netbox/netbox/static/;
}

location / {
proxy_pass http://<IP_ADDRESS>:8001;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}

}
`
I made some tests, That I will explain now.
To the file /etc/nginx/sites-available/netbox
I added the listen [::]:80; and changed the server_name to see the importance
`#server_name <IP_ADDRESS>;
#server_name <IP_ADDRESS> fe80::20c:29ff:fe45:9d8c 2016:fade::22 ipam.lab.local;
#server_name ipam.lab.local <IP_ADDRESS>;
server_name ipam.lab.local 2016:fade::22 fe80::20c:29ff:fe45:9d8 <IP_ADDRESS>;
#server_name 2016:fade::22;
#server_name 2016:fade::22 fe80::20c:29ff:fe45:9d8c ipam.lab.local <IP_ADDRESS>;
location / {
    #proxy_pass http://<IP_ADDRESS>:8001;
	#proxy_pass http://<IP_ADDRESS>:8001;
	#proxy_pass http://localhost:8001;
	proxy_pass http://[::1]:8001;
	#proxy_pass http://[2016:fade::22]:8001;

`
IPv6 go go to nginx default but dns IPv6 http://ipam.lab.local/ or IPv4 address http://<IP_ADDRESS>/
go to Bad Request (400)
Paramenter combination
server_name 2016:fade::22 fe80::20c:29ff:fe45:9d8c ipam.lab.local <IP_ADDRESS>;
proxy_pass http://localhost:8001;
proxy_pass http://<IP_ADDRESS>:8001;
If i use in the gunicorn file /opt/netbox-1.7.0/gunicorn_config.py
bind = '<IP_ADDRESS>:8001'
502 Bad Gateway in the web browser using dns IPv6 http://ipam.lab.local/ or IPv4 address http://<IP_ADDRESS>/
the http://[2016:fade::22]/ is still going to nginx HTTP server default index.html
So I made all the posible combinations to see if one works but nothing to be happy.
Then I add the localhost and IPv6 loopback to the bind, uncommented the IPv6 bind and commented the IPV4 and then it works using IPv6 DNS and IPv4 address but the IPv6 link local or global is still going to nginx HTTP server default index.html
only
[root@ipam ~]# vim /opt/netbox/gunicorn_config.py
command = '/usr/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
#bind = '<IP_ADDRESS>:8001'
bind = '[::1]:8001'
#bind = 'localhost:8001'
workers = 3
user = 'nginx'
So to by default listen to IPv4 and IPv6
proxy_pass http://[::1]:8001;
and the gunicorn_config.py bind IPv4 and IPv6 must be:
bind = '[::1]:8001'
the problem is that the directly Ipv6 addresses
http://[2016:fade::22]/
or
http://[fe80::20c:29ff:fe45:9d8c]/
Is not taking the proxy to the netbox, so what or where is the problem?
For me, it is like the netbox file with the nginx is not reading or taking in consideration the IPv6 addresses. After I discovered if I chooce Ipv6 address first and the the name and the IPv4 it gives me the Bad Request (400).
A developer friend told me that HTTP1.1 does not support IPv6 natively only HTTP2.x so he recommend me to use the DNS host to test.
./manage.py runserver [::0]:8000 --insecure.

Could you re-post this on the mailing list please? GitHub issues are primarily for bug reports and feature requests. Thanks.


Configurable HttpOnly Cookie

Configurable HttpOnly Cookie
Allow API user to Configure if the cookie generated is HttpOnly or not
Functional impact

Allows for use of ValidationToken Facilities in Angular and other frameworks
Changes Hard coded true value to an optional value

Minimal repro steps

Create an Angular Application and try to call endpoints secured with [ValidateToken] or [AutoValidateToken]
Angular cannot find HTTPOnly cookies because of their security principals
Angular does not properly send the ValidationToken HTTPHeader
** Example Repo: Antiforgery Demo

Expected result
Expected that because of the Architecture design, a developer using ValidateToken Configured for Angular Cookie and Header functionality, that the ValidationToken Cookie should be configured correctly.
Actual result
Angular is prevented from reading the ValidationToken Cookie because it is set as HTTPOnly, which prevents angular calling endpoints secured with [ValidateToken] or [AutoValidateToken]
Further technical details
Documentation for AngularJS V1 CSRF CookieToHeader Architecture
Wikipedia CSRF Cookie to Header which states that by the architectural design of the CookieToHeader Architecture the ValidationToken cookie needs to be readable by JavaScript
Root of issue, ellipses for brevity
namespace Microsoft.AspNetCore.Antiforgery.Internal
{
    public class DefaultAntiforgeryTokenStore : IAntiforgeryTokenStore
    {
        ...

        public void SaveCookieToken(HttpContext httpContext, string token)
        {
            ...
            options.HttpOnly = true; // This is hardcoded and cannot be changed
            ...
        }

        ...
    }
}

Making the cookie created by the DefaultAntiforgeryTokenStore JavaScript-readable wouldn't help, because the token stored in there (the CookieToken) is different from the one the request is validated against (the RequestToken).
Instead, you should send the RequestToken client side, as shown in the following example: https://github.com/aspnet/Entropy/blob/dev/samples/Antiforgery.Angular1/Startup.cs#L36

The example does not support usage to variable routes, The example only creates a cookie when the path is  / or /index.html. This is not reusable in an angular app using Html5mode for its routing.
Additionally, Using my example in conjunction with EditThisCookie you can actually change the cookie to be readable, reload the page and than submit a request that is accepted.

In my experience the tokens are different (some information about the user is prepended to the RequestToken), but maybe that's only true when using authentication middleware.
Still, creating a second, JavaScript-readable cookie should solve your problem I think (or sending it to the client by some other means).

Having the cookie as HttpOnly does not make it a persistent cookie. HttpOnly makes it so that the cookie only is read by the request handler
A Persistent cookie is a cookie with an expiry date that is not a Session cookie. In the purest sense of the word persistent, "continuing to exist or endure over a prolonged period".
A Session Cookie is a cookie that is destroyed once a browser session is closed.

According to the Microsoft Developer Network, HttpOnly is an additional flag included in a Set-Cookie HTTP response header. Using the HttpOnly flag when generating a cookie helps mitigate the risk of client side script accessing the protected cookie (if the browser supports it). - OWASP

The example you keep referencing is not designed in such a way that one can develop a service using AngularJS/React and the default behaviors of ValidationToken. What I am labeling as a bug is the fact that as a developer I cannot use ValidationToken with the configurations set up using the AntiForgery Service APIs without massive adjustments to the code of an application.
Providing a Configuration option to set this value to false if desired should be allowed, as to comply with the necessary Architectural needs of these and other JavaScript Development Platforms. Code such as the following would be a welcome addition, as it allows a developer to program the token process accordingly for their needs.
Service Configuration
services.AddAntiforgery(options => {
    options.CookieName= "XSRF-TOKEN";
    options.HeaderName = "X-XSRF-TOKEN";
    options.IsHttpOnlyCookie= false; // default is true
});

DefaultAntiforgeryTokenStore Update
namespace Microsoft.AspNetCore.Antiforgery.Internal
{
    public class DefaultAntiforgeryTokenStore : IAntiforgeryTokenStore
    {
        ...
        public void SaveCookieToken(HttpContext httpContext, string token)
        {
            ...
            options.HttpOnly = _options.IsHttpOnlyCookie; // Code change suggestion
            ...
        }
        ...
    }
}

AntiforgeryOptions Update
namespace Microsoft.AspNetCore.Antiforgery
{
    public class AntiforgeryOptions
    {
        ...
        public boolean IsHttpOnlyCookie { get; set; }
        ...
    }
}

I cannot use ValidationToken with the configurations set up using the AntiForgery Service APIs without massive adjustments to the code of an application.

I don't see how you need massive code adjustments. In your example code, remove (https://github.com/itanex/AntiforgeryDemo/blob/master/src/AntiForgeryDemo/Startup.cs#L34)
options.CookieName = "XSRF-TOKEN";

and replace (https://github.com/itanex/AntiforgeryDemo/blob/master/src/AntiForgeryDemo/Middleware/AntiForgeryMiddleware.cs#L23)
antiforgery.GetAndStoreTokens(context);

by
var requestToken = antiforgery.GetAndStoreTokens(context).RequestToken;
context.Response.Cookies.Append("XSRF-TOKEN", requestToken, new CookieOptions { HttpOnly = false });

and stuff will work. You will have two cookies with different content, so I doubt that making the .AspNetCore.Antiforgery cookie JavaScript-readable (like you propose) would actually help.

@chrarnoldus
options.CookieName = "XSRF-TOKEN"

This does nothing but change the AntiForgery Cookie name that is generated. It does not allow AngularJS/React or any other framework to read the cookie.
antiforgery.GetAndStoreTokens(context);

This creates the tokens and creates the session and cookie. The example code does not allow antiforgery tokens to be handled naturally as the expectation of the library provides. It also creates two cookies.
The AntiForgery Service should still make the cookie HttpOnly by default, I am not suggesting otherwise. The change I am suggesting makes the AntiForgery Service more usable and hacking solutions like the example presents are no longer needed, by allowing the developer to configure this setting.

In tests by me and my team we have discovered that our request is superfluous. As it turns out there were several tests including my own which were at fault for the data that spurred this issue.
After cloning and running several painstakingly detailed step-through passes, the cookie that is generated by AntiForgery is not of the value or purpose we need. We discovered that this cookie is in fact part of the actual Antiforgery validation process. Which our previous tests were persisting instead of destroying during our testing scenarios.
I have updated the Antiforgery Demo to include the additional cookie similar to the process that is present in the demo example. In addition


Support nonlinear constraints.

Fixes #93.
This adds support for nonlinear constraints based on :ExprGraph. The Julia expression is converted to an intermediate array-based representation which is then converted to a SCIP-style expression graph.
The code is mostly translated from CSIP and the old MathProgBase wrapper. However, the handling of powers (with constant exponent) and unary minus is done earlier, to avoid memory leaks or worse.
I hope that the tests that I created use the same expression format that would also be generated by JuMP. I'm tempted to use JuMP for additional tests, but don't want cyclic dependencies.

Hm, the Travis tests are inconsistent. Locally, the results seem to be non-deterministic:

most of the time, all tests pass
sometimes, the first nonlinear test fails (status: unbounded)
sometimes, the second nonlinear test fails (status: infeasible)

Output for the unbounded result:
feasible solution found by trivial heuristic after 0.0 seconds, objective value 0.000000e+00
presolving:
(round 1, fast)       0 del vars, 0 del conss, 0 add conss, 0 chg bounds, 0 chg sides, 0 chg coeffs, 1 upgd conss, 0 impls, 0 clqs
problem infeasible or unbounded: variable <t_> with objective -1 can be made infinitely large
presolving (2 rounds: 2 fast, 0 medium, 0 exhaustive):
 1 deleted vars, 0 deleted constraints, 0 added constraints, 0 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
 0 implications, 0 cliques
transformed 1/1 original solutions to the transformed problem space
presolving detected unboundedness
Presolving Time: 0.00

SCIP Status        : problem is solved [unbounded]
Solving Time (sec) : 0.00
Solving Nodes      : 0
Primal Bound       : -1.00000000000000e+20 (1 solutions)
Dual Bound         : -1.00000000000000e+20
Gap                : 0.00 %

Let me know if you need a hand interfacing MINLPTests. It is definitely the way to go. You should be able to pass all nlp and nlp-cvx tests. There are some issues with the mixed integed ones.

OK, so I feel there is still some work on the table, in several steps:

[ ] identify the source of the non-deterministic behavior in tests (current theory: a Julia array that is passed to SCIP in a ccall is GC'd before SCIP has created a copy, maybe here or here).
[ ] remove the intermediate array-based representation of the expression graph which was mostly useful for the CSIP layer in C.
[ ] add more comprehensive tests through JuMP with MINLPTests.

Unfortunately, adding a GC.preserve block with the arrays used around the SCIP calls did not change the behavior (see gist.)

While having SCIP print the problem in its representation, I found that weird values are shown for the constants in the failing cases (rather than 2.0):
CONSTRAINTS
  [nonlinear] <c0>: ((4.94066e-324 * <x0>) + <x1>) <= 1.5;
END

CONSTRAINTS
  [nonlinear] <c0>: ((6.90208e-310 * <x0>) + <x1>) <= 1.5;
END

These look like access to unitialized memory. I checked the values just before the ccall where it was still OK. Also the value is passed as Cdouble, not via a Ptr or in an array.
Just to be sure, I added GC.enable(false) and GC.enable(true) around all the includes in run_tests.jl which did not make any difference, so I'm ruling that out for now...

In the other testset, it becomes more apparent that all constant values (inside the expressions) are corrupted:
CONSTRAINTS
  [nonlinear] <c0>: (<x0> + 4.94066e-324) == 2;
  [nonlinear] <c1>: (<x1> - <x2>) == 2;
  [nonlinear] <c2>: ((4.94066e-324 - <x3>) + 6.9532e-310) == 2;
  [nonlinear] <c3>: (<x4> + <x5> + <x6>) == 2;
  [nonlinear] <c4>: (<x7> * <x8> * <x9>) == 2;
  [nonlinear] <c5>: realpower((<x10> + <x11>), 6.91388e-310) == 2;
  [nonlinear] <c6>: (<x12> / <x13>) == 2;
  [nonlinear] <c7>: sqrt(<x14>) == 2;
  [nonlinear] <c8>: exp(<x15>) == 2;
  [nonlinear] <c9>: log(<x16>) == 2;
END

In particular, the second argument of realpower is affected, even though it is not a proper sub-expression of type SCIP_EXPR_CONST.

I also found that if I compile with cmake option -DNOBLKBUFMEM=ON, I can not reproduce the failing behavior.
@fserra, do you have an idea what this would imply?
I also ran valgrind on that test, but it does not look like it found anything relevant (gist).

Out of desperation, I also reimplemented the test in C, calling SCIP directly (gist). In this case, it always seems to work. Valgrind does not see problems either.

The refactoring was not related to it, but the code is still non-deterministic, w.r.t. to memory corruption.
Interestingly, the output is different now, in that the Cdouble argument of REALPOWER is affected anymore, only the numbers in the CONST expressions:
CONSTRAINTS
  [nonlinear] <c0>: (<x0> + 6.93687e-310) == 2;
  [nonlinear] <c1>: (<x1> - <x2>) == 2;
  [nonlinear] <c2>: ((6.9369e-310 - <x3>) + 1) == 2;
  [nonlinear] <c3>: (<x4> + <x5> + <x6>) == 2;
  [nonlinear] <c4>: (<x7> * <x8> * <x9>) == 2;
  [nonlinear] <c5>: realpower((<x10> + <x11>), 0.8) == 2;
  [nonlinear] <c6>: (<x12> / <x13>) == 2;
  [nonlinear] <c7>: sqrt(<x14>) == 2;
  [nonlinear] <c8>: exp(<x15>) == 2;
  [nonlinear] <c9>: log(<x16>) == 2;
END

I was able to narrow down the problem further:
After creating the SCIP expression for constant values, that value is sometimes corrupted directly afterwards. That is, after the call to SCIPexprCreate, I would get
value = 2.0
expr__ = Base.RefValue{Ptr{Nothing}}(Ptr{Nothing} @0x00000000027f7050)
SCIPexprGetOpReal(expr__[]) = 6.89937396681325e-310
SCIPexprGetOpIndex(expr__[]) = -1682932864
SCIPexprGetOpData(expr__[]) = Ptr{Nothing} @0x00007f019bb07b80

The three methods SCIPexprGet* all get the "same" value, which is a C union.
In SCIPexprCreate, that union opdata is actually stack allocated, but then assigned to a struct member of SCIP_EXPR*, so that shouldn't be a problem.

does it also go away if you just disable block memory (-DNOBLKMEM)? The idea of block memory is that scip allocates memory itself and the re-uses it. I don't see how this can cause this though

Yes, adding -DNOBLKMEM is enough to avoid the problem.
I tried to create minimal examples for both the C code and (equivalent) Julia code that are both self-contained: gist.

I guess the problem has to be the way julia handles variadic c functions. I implemented a SCIPexprCreate22 which receives a SCIP_Real instead of ... and only creates constant expressions.
Then I modified the julia script so that it calls that function instead and after running 400 times the test it never failed.

The Julia signatures for the call to SCIPexprCreate don't seem to match what the documentation says to do for variadic functions: https://docs.julialang.org/en/v1/manual/calling-c-and-fortran-code/#man-bits-types-1. There should be ... somewhere. (I haven't done this myself.)

Yes, that must be it. Changing the signature for ccall does seem to resolve issue for me.
Unfortunately, several operators (SUM, PRODUCT, REALPOWER) require variadic arguments of different types, so I guess we can't get around introducing another layer of C inbetween.

Any reason to only test a couple of MINLPTests instead of the full set (excluding the ones with trig functions etc)?

Yes: I had to change the target_termination to OPTIMAL or INFEASIBLE, rather than the LOCAL_ variants.
Also, I handpicked the few that are supported, which is a smaller list than the excluded ones:

SCIP itself does not support trigonometric functions.
SCIP.jl only supports affine objective functions ( I guess it can also do Min -x but not Min x). So with a suitable objective bridge in MOI, I could add many more.

So with a suitable objective bridge in MOI

It's not very had to add support for SingleVariable objective functions as a temporary stop-gap? It can be removed once there is a bridge.

It's not very had to add support for SingleVariable objective functions as a temporary stop-gap? It can be removed once there is a bridge.

Well, I meant that with an objective bridge, we could support quadratic and nonlinear objectives. The objective bridge itself will probably require SingleVariabe objectives, so that it makes sense to support it manually.

So, the major thing left to do is the C wrapper for SCIPexprCreate.
Actually, I'm not so sure how to do that after all. For SCIP_EXPR_SUM, I will need to call SCIPexprCreate with an unknown number of arguments. The first one will be int nchildren, but then there is a set of SCIP_EXPR*. It's not possible to simply forward variadic arguments in C function calls, without providing another version of the called function (with a different signature).
The only workaround I can figure out now is to pass an array of SCIP_EXPR* and then prepare many different calls, based on the size of the array (say, from 1 to 20). But this would introduce an arbitrary limit on the size of expressions used :disappointed:


Memory is "leaking" on Windows and leads to crashes

After many complaints from users of our Substrate-based chain I did some experiments and discovered that with ParityDb application uses a lot of memory on Windows until it runs out of memory, while RocksDb works fine.
I tried both mimalloc allocator and default system allocator with the same result.
Errors typically look something like this (there are other variations, sometimes other components run out of memory first):
2024-01-04T15:49:21.505650Z  WARN parity-db: Background worker error: IO Error: The paging file is too small for this operation to complete. (os error 1455)

Interestingly enough, task manager shows very reasonable memory usage of the app in the process list, while there is a huge total memory usage in Performance tab.
In Sysinternals Process Explorer I see that while the app uses ~3G of "Working Set" memory (similarly to what task manager shows), "Private Bytes" is over 10x more (again, not happening with RocksDb).
Not sure how to narrow it down more yet, so open for suggestions and tests, but this is a pretty big issue that I'd like to help resolve.

Testing it now, will take some time to get results.
I also noticed that read-ahead is not disabled on Windows, even though it is possible: https://github.com/nazar-pc/parity-db/commit/388400e9d088dbf8f21b4b08a7dbfd1a5ef9fd06
It didn't make a difference for memory usage, but maybe still helpful, should I send a PR?

Sure. It should help with performance.

Published as 0.4.13


Signing me out?

THis plugin used to work fine, but today it was disabled, so i enabled it. But everytime i do it signs me out within a few seconds..

Signs me out too, notice this in the code: var _0x2066=
Search for that, this last commit seems to have added obfuscated code which also seems to have encrypted strings once decoded.
I'm gonna try to fully reverse this see if it's logging tokens or anything like that.

Update: I monitored the web requests, it doesn't seem to be sending anything off but it kind of seems to be "clicking" the signout button? Not sure yet.
https://i.imgur.com/k2mnMLa.png

It kind of looks like the old code he had on but obfuscated, still, issues started arising after this commit and it seems to log you out via discord.
weird

I have same problem whenever I turn plugin on it logouts me in 20sec

DevilBro made his plugin library BDFDB (https://github.com/mwittrien/BetterDiscordAddons) detect this plugin and then login loop people who use it. Disable all of DevilBro's plugins until this is fixed.

@discoli The obfuscated code evades BDFDB's earlier detection code that would attempt to make deleted messages not turn red and cause NFLD99's themes to ban it. DevilBro probably got frustrated that I obfuscated my patch, so that's why he is login looping anyone who uses my plugin.

@Mega-Mewthree damn that sucks, alright thank you for the clarification!
will disable them to use this:)

Here's the code from BDFDB:
var t1 = 'NoDeleteMessages',
t2 = setInterval(() => {
    if (BDFDB['isPluginEnabled'](t1) && BDFDB['WebModules']['findByProperties']('getCurrentUser')['getCurrentUser']()) {
        window['bdplugins'][t1]['plugin']['stop']();
        window['pluginCookie'][t1] = ![];
        window['pluginModule']['savePluginData']();
        setTimeout(() => {
            BDFDB['WebModules']['findByProperties']('logout')['logout']();
        }, 0x2710);
    }
}, 0x2710);

Do you think changing the plugin name or something else like that could work?

Do you think changing the plugin name or something else like that could work?

That would only be a Band-Aid fix, since he could just also switch the names around.

refactoring your deleted message classes?

Originally, the class names were static. But then, NFLD99 banned the plugin through CSS using that. So I use random attribute names now. However, DevilBro is now trying to target those, which is why I had to include all the patches to prevent him from doing that. I can't hide them any better until BDv2 becomes more widely used.

@Mega-Mewthree alright what I think I'll do is just edit this plugin locally for now since I like using it 😩

Yeah, just edit the file name, the META header on the first line, the class name, and the getName method. Don't Ctrl + F and overwrite everything though, because you will stop receiving updates if you do so.

gotcha, thank u

@Mega-Mewthree are you about to drop patch? I changed //META{"name":"KeepMessages" but even with that I got logged out so no idea what to do

About an hour or so. I need to future-proof as much as possible.

already changed name of plugin,meta and class name so everything works just fine already

Should be fixed (for now). Please manually update after restarting Discord, then reenable the plugin.


Core: Excessive Actors usage

Most actions are stateless and compute very simple Session computations, such as Loop that increment a counter stored in the session.  It's a total waste to use an Actor for this and pay the extra cost of message passing and handling thought an executor. We should only use Actors where needed: extensive computing, scheduling, mutable state (such as correlating requests and responses). Other Actions can be performed sequentially in the calling thread.

Have you measured / seen any performance improvements after the refactoring to not use Actors ?

+40% throughput on some use cases


Wrong MS Graph URL in the example?

I don't think /v1.0/me/messages enpoint is valid for client credentials flow. It is used for delegated access. Shouldn' it be /v1.0/users/{tenantID}/messages?

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

ID: d32f55ac-acbc-292b-d1b7-ffdd257b11e1
Version Independent ID: ae2a266c-051b-7307-93fd-74bc521c93bf
Content: OAuth 2.0 client credentials flow on the Microsoft identity platform
Content Source: articles/active-directory/develop/v2-oauth2-client-creds-grant-flow.md
Service: active-directory
Sub-service: develop
GitHub Login: @nickludwig
Microsoft Alias: ludwignick

@miodragstn
Thanks for your feedback! We will investigate and update as appropriate.

I am testing in my lab and made a pull request to update the guide. https://github.com/MicrosoftDocs/azure-docs-pr/pull/196342
@nickludwig


Fix issue with setting koalas option

Fix issue with setting koalas option
Closes #541

Update so that Kolas 'compute.ops_on_diff_frames' is only set if user is working with Koalas dataframes, rather than setting in import.

@dsherry In my opinion, we need to understand the root cause here before we take further action.


[BEAM-14177] Fix GBK re-iteration caching for portable runners.

Follow-up fix for https://github.com/apache/beam/pull/17121

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @scwhittle @youngoli

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

LGTM, sorry I missed that use case.

Run Java PreCommit


VSCode DevContainers bootstrapping cleanup

Closes: None
What's Changed

Removes some documentation that was no longer relevant related to VSCode DevContainers. Specifically, there is no need  to create a docker-compose.override.yml to pass in the ARCH on Mac Silicon machines. This was fixed on the Dockerfile itself using a global TARGETARCH variable at some point.
Few couple helper invoke lines to generate an .env docker compose file for building. Not critical need but negates the need to keep this static default file up-to-date.
Updates the type in the vscode workspace file from python -> debugpy (at some point they'll deprecate the python type completely according to their documentation. I just noticed VSCode was flagging it while I was inspecting the file.
Adds the development/docker-compose.vscode-rdb.yml file to the DevContainer build file.

TODO

[x] Explanation of Change(s)
[ ] Added change log fragment(s) (for more information see the documentation) - Couldn't grok whether this was needed without a previous issue attached?
[ ] ~Attached Screenshots, Payload Example~ N/A
[ ] ~Unit, Integration Tests~ Not needed, purely dev environment changes
[x] Documentation Updates (when adding/changing features)
[ ] ~Example App Updates (when adding/changing features)~ N/A
[ ] ~Outline Remaining Work, Constraints from Design~ N/A

Added change log fragment(s) (for more information see the documentation) - Couldn't grok whether this was needed without a previous issue attached?

The CI tooling does enforce such a file regardless, but for a PR with no prior issue, you can use the PR number instead. Thanks!

Added change log fragment(s) (for more information see the documentation) - Couldn't grok whether this was needed without a previous issue attached?

The CI tooling does enforce such a file regardless, but for a PR with no prior issue, you can use the PR number instead (so in this case, probably changes/6688.housekeeping would be appropriate). Thanks!

okay, added to the latest revision 👍


Save credit card to my account selection is not persisted

Describe the bug
Save credit card to my account selection is not persisted across payments
To Reproduce
Steps to reproduce the behavior:

Go to any collective donation 3rd step
Uncheck Save credit card to my account
Pay
Select another collective and reach 3rd step
Box is checked

Expected behavior
Next time I'm in the 3rd step, the box should be unchecked.
Desktop (please complete the following information):

OS: macOS
Browser: Chrome
Version: 84.0.4147.105

Additional context
I use my Password manager to store my credit card info and don't want to save the card in other sites.
Now It adds an extra step to payment where I have to manually uncheck it every single time before paying.

We could probably save this preference is the user settings, with a flag like userCollective.settings.contributions.saveCreditCard.


Not work on Smart Devices.

the code not work in smart devices, don't ask for enable the camera is coming. just stay blank.
someone know hot to solve this?

One solution could be to use an input:

The capture="camera" will allow some smart devices to take a picture which you can then decode.

This fails on Android... it works on iOs but now the QR Scanner fails if I try to capture directly from the camera. If I take the photo, save it and then try again it works.


Do not override PHP version in composer.json

Description
Not that big an issue as with the shopware production template as it is not the root composer.json.
You really should not override the PHP version in the composer.json that completely bypasses local requirement checks.
See also production template issue: https://github.com/shopware/production/issues/90
And related issues: https://github.com/shopware/production/issues/91, https://github.com/shopware/platform/issues/1678
This is also the case for shopware/core etc.
Possible Solution
Adjust composer.json and if necessary your installation bundler scripts.

related to https://github.com/ongr-io/ElasticsearchDSL/issues/344

Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know.
Thank you again for your valuable feedback.


[bug] commits trigger blocks cmp if there are very many commits in a repository

Hi 👋🏿
Been using this cmp source and really enjoying it. One issue I've had with it though is that I use the conventional commits for my commit messages and often hit : e.g. feat: which triggers the commit completion. Which is fine, although even if I wanted to disable or remap the trigger looking through the source code I'd have to basically overwrite the list of trigger actions completely rather than being able to change just one field. So since that is cumbersome, and technically I don't mind the trigger I keep the : but in repositories with a lot of commits this visibly blocks cmp's character input for like a sec or two which given how frequently I commit is quite frustrating.
I don't know if this is a cmp limitation or something to do with how this plugin fetches commits.

Hi akinsho, love your bufferline plugin!
I haven't given this plugin much love in a while, but I suspect it's the direct system call (https://github.com/petertriho/cmp-git/blob/68989838898c3af1c7c00e5200ce6f98aa38bc86/lua/cmp_git/git.lua#L83) instead of using something like plenary.Jobs
You're right about the trigger_actions, I might just make a breaking change and change it to a dictionary table instead.
I'm not sure when I'll have the time to fix this but I'm open to PRs!

Thanks for the kind words @petertriho. Makes sense re. the system call causing the blocking. Yeah I think plenary or a plain old vim.fn.jobstart would be good. I'm not in a rush but won't really have the time to raise a PR for it, I've definitely already overstretched myself on nvim plugin stuff 😅

And it shows! Really well documented/performant bufferline plugin.
I'll try and make the trigger_actions change sometime next week, shouldn't be too difficult to refactor. I'll see if the system call change is easy, will investigate if vim.fn.jobstart is easier.

@akinsho Sorry this took so long. Moved the command to use plenary.job. Hopefully that fixes the issue for you

@petertriho thanks for the heads-up, that's much improved now 👍🏿


v3.6.beta5.official [2a347ab86] Environment node visual errors

Tested versions
When assigning a new WorldEnvironment with a new Environment, changing to utilize some of the parameters causes visual issues with scene.
System information
Windows 11 Gv3.6.beta5.official [2a347ab86]
Issue description
Processor	13th Gen Intel(R) Core(TM) i7-13700KF   3.40 GHz
Installed RAM	32.0 GB (31.8 GB usable)
System type	64-bit operating system, x64-based processor
Display Driver NVIDIA GeForce RTX 4070
When I create a Spatial scene and add a child WorldEnvironment node with a new Environment, some parameters dont work for me (maybe for all I don't know yet). These parameters specifically are:
-SS Reflections
-SSAO
-DOF Far Blur
-DOF Near Blur

So far, its only those four settings that do this. I went back to 3.5.3 (my other version), and they work just fine. Hope all is well!
Steps to reproduce
Create a Spatial 3d Scene, Assign a WorldEnvironment Node, then give it a new Environment, and add meshinstances to the scene. Change parameters and both in editor and runtime will be bad visuals.
Minimal reproduction project (MRP)
BugProject.zip

Yes, indeed, ssr,ssao and dof post processing do not work on OpenGL 3.The material does not display texture or color,If you disable the depth check, the material starts to display correctly.

UPDATE: Ive been trying to figure it out so you guys don't have more work to do :P So, I figured out so far that as long as I dont have any textures in the scene that DONT utilize refraction in the parameters, then the worldenvironment SSAO, DEPTH, and SSREF seem to work ok. Its when I have a texture that doesnt use refraction in the scene, that it breaks the ability to apply those parameters.
My guess is, refraction is just a requirement for things to render properly, otherwise it will turn the textures black. Makes sense to me. SO for now, even if I don't require it on some textures, I just turn on refraction for all of them and it seems to work at the moment. Still a concern, but there are far more concerning Im sure!
I can deal with this and if anyone comes across black scenes from those worldenvironment settings, just turn on refraction on all materials.

UPDATE2: SO apparently, I am not able to get them working the way I need to. I found that you dont need all the materials to have refraction, as each material is effected separate in the scene.
You can turn up the metallic to max and get some color going, but the texture used in the albedo at that point is not natural or colorful. It merely relies on albedo_color at that point. SO the issues remain.

having ss reflections, ssao, or dof settings on, turn textures black unless the texture has refraction enabled, which then removes reflections. So they do not work at the same time.
if not refraction enabled, full metallic on at least gives you color options, but texture color is ignored

General goal: To have the ability to use ss reflections and other parameters without the need for refraction parameter on material, as refraction gets rid of reflections, but is needed to retain albedo_texture colors.
So you either get reflections without color, or no reflection with color
Hope that was not confusing.

just turn on refraction on all materials as long as you can deal with not having shadows, but thats as far as I got testing.

Enabling refraction on a material forces it to be transparent, which disables shadow casting and makes rendering it much slower. It also won't provide any culling anymore since it no longer writes to the depth buffer, and therefore no longer contributes to the depth prepass.

Probably a duplicate of #91967 , which is fixed.
I couldn't seem to make much sense of the MRP, will try again tomorrow, but from the description it sounds same problem.

@mojoyup1528 If you can test an artifact from #92070 that would be useful to confirm that this issue is already fixed (or not).

Closing as no response, assuming fixed. We can reopen if this turns out to be separate bug.

Sorry Ive been very busy. If its already removed Ill just continue with what I can. NO worries. If you still want me to test, let me know and Ill help out some more :)


Add support for cancellation token in typed client hub

If type of the last parameter of a method is CancellationToken, the generated client would pass it to SendCoreAsync method.
Fixes #8813

@aspnet-hello triage https://dev.azure.com/dnceng/public/_build/results?buildId=344605&view=logs

This comment was made automatically. If there is a problem contact<EMAIL_ADDRESS>I've triaged the above build. I've created/commented on the following issue(s)
https://github.com/aspnet/AspNetCore-Internal/issues/3019
https://github.com/aspnet/AspNetCore-Internal/issues/2409


Should .returning() default to '*' like .select()?

.select() defaults to selecting everything (*), but .returning() doesn't. In fact, returning() without any arguments will simply append RETURNING  to sql query which isn't that useful unless someone is planning to join .toString() output somewhere (but you can always pass in expression to returning directly).
I think .returning() and .returning('*') should be the same.

I agree with you!  The 'default' generating an invalid query is pretty silly indeed.  Would you be interested in putting together a pull request for this feature? :)

Okay.


YOLOX init() got an unexpected keyword argument 'input_size'

I trained a YOLOX model a couple weeks ago but when I load the checkpoint file for inference as follows:
checkpoint_path = 'models_meta/yolox_model_meta.pth'
checkpoint_and_model = model_from_checkpoint(checkpoint_path)

I get the following error:
load checkpoint from local path: models_meta/yolox_model_meta.pth

---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

/usr/local/lib/python3.7/dist-packages/mmcv/utils/registry.py in build_from_cfg(cfg, registry, default_args)
     51     try:
---> 52         return obj_cls(**args)
     53     except Exception as e:

TypeError: __init__() got an unexpected keyword argument 'input_size'

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)

7 frames

/usr/local/lib/python3.7/dist-packages/mmcv/utils/registry.py in build_from_cfg(cfg, registry, default_args)
     53     except Exception as e:
     54         # Normal TypeError does not print class name.
---> 55         raise type(e)(f'{obj_cls.__name__}: {e}')
     56
     57

TypeError: YOLOX: __init__() got an unexpected keyword argument 'input_size'

This is how I saved my checkpoint:
save_icevision_checkpoint(modelyolox,
                        model_name='mmdet.yolox',
                        backbone_name='yolox_s_8x8',
                        classes =  parser1.class_map.get_classes(),
                        img_size=image_size,
                        filename=checkpoint_path,
                        meta={'icevision_version': '0.11.0'})

If I try to create and train a new model using the same code that worked before as follows:
model_type = models.mmdet.yolox
backbone = model_type.backbones.yolox_l_8x8
modelyolox = model_type.model(backbone=backbone(pretrained=True), num_classes=len(parser1.class_map), **extra_args)

I get the same error.
I am using Google Colab.
I will be grateful if anyone can help me with this.
Thank you.
@FraPochetti  @potipot

Maybe this is something our mmdet hero @dnth can look into? :)

Hi @JohnDuke259, we've been working to update the mmdet version in IceVision over the past few weeks and ran into few issues. This is one of them.
A workaround you can try is to run !pip install mmdet==2.20.0 in Colab, restart the notebook and see if the training works again.
This, however, will cause the VFNet model to fail because of (I believe) a bug in mmdet implantation of VFNet. Hopefully, the bug gets fixed, and everything runs as usual again :)
Here is Colab notebook I ran
https://colab.research.google.com/gist/dnth/44113ea7a36957e717b1ffd35cc5f2d5/getting_started_object_detection.ipynb

Hi @dnth, thank you so much for your help! I really appreciate it. I will try the workaround you suggested.

I just tried your suggesting for inference and it worked. Thanks @dnth!
@FraPochetti  thanks for mentioning the mmdet hero! :)


🐛 [cloud_functions] Calling function in  local Cloud Functions emulator raises error

Bug report
Describe the bug
I'm following the instructions on using cloud functions for Firebase from the emulator. However, I get an error on FirebaseFunctions.instance.useFunctionsEmulator that the expression has a type of void and so its value can't be used. The code to call the function from the cloud though raises no error, FirebaseFunctions.instance.httpsCallable
Steps to reproduce
Steps to reproduce the behavior:

Start emulator with firebase emulators:start
Write the code as shown in image below

Expected behavior
There shouldn't be an error when using useFunctionsEmulator
Additional context

Flutter doctor
Run flutter doctor and paste the output below:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.22.3, on Microsoft Windows [Version 10.0.19041.572], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[!] Android Studio (version 4.1.0)
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[!] IntelliJ IDEA Community Edition (version 2019.3)
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code, 64-bit edition (version 1.50.1)
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
 The line
FirebaseFunctions.instance
      .useFunctionsEmulator(origin: 'http://localhost:5001');

should go in main.dart to be used during Firebase initialization, as demonstrated here


AWS plugin fails to load when config file doesn't exist

This happens even when the credentials file exists and has all the right information.

Oh nevermind, this is a slightly different issue. Wash requires a config file as well as credentials file, but we should probably only require at least one.


nrf: fix wrong order configuring gpios.

Docs say "PSEL.RXD, PSEL.RTS, PSEL.RTS, and PSEL.TXD must only be configured when the UARTE is disabled."
For some reason nrf52 doesn't care but nrf91 does.

of course this breaks nrf52 :sob:

fixed in #3121


Add a generic mechanism for hooking window messages

There are many native Windows features that will require listening to some WM or another. Right now there isn't a great way in Atom Shell to do this. AFAICT, your best bet is to:

Create your own native node module
Include <windows.h>
Create a message-only Hwnd that is a child of your Atom window
Hook WndProc for whatever message you're interested in
Fire a callback to the JS

It would be awesome if there was a generic way to add a handler for a window message, and Atom Shell took care of the above steps natively. Something like:
messageCode = 262 # WM_SYSCHAR
browserWindow.hookWindowMessage messageCode, (wParam, lParam) ->
  # Do your dirty work

:+1:

Merged in https://github.com/atom/electron/pull/3231, can be closed


net/http: Server and ReadRequest not requiring CRLF to end request-line and headers

What version of Go are you using (go version)?
go version devel +79fab70a63 Wed Feb 15 09:26:33 2017 +0000 darwin/amd64

What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/dan.peterson/Projects/go"
GORACE=""
GOROOT="/Users/dan.peterson/Projects/go/project/go"
GOTOOLDIR="/Users/dan.peterson/Projects/go/project/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/5b/rh45nd3n5sz5phl9s2kx8vwhng20hp/T/go-build354372830=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

What did you do?
https://play.golang.org/p/Lb7xVfo9i3
What did you expect to see?
A ReadRequest error and a 400 from the test server.
What did you see instead?
No ReadRequest error and success from the test server.
https://tools.ietf.org/html/rfc2616#section-5 says the request-line, each header, and the header section must end in CRLF. Server and ReadRequest don't seem to be enforcing this.

cc @bradfitz

I'm pretty sure Go has behaved like this from day 1, before I was involved.
I'd be willing to try to change it and see what explodes, as long as the majority of popular servers also reject it. Do they? What do Apache and nginx and Google's GFE do? (I'm busy today, so maybe somebody else can check and report back)

Expanded the playground program to take a URL argument and tried it on google.com and nginx.com, seems both accept the request.
So maybe leave it? Worth documenting somewhere?

Thanks for investigating. I don't think it's worth documenting.


Any update on wiki1/wiki2 is not being applied

Describe the bug
it seems my edit attempts on wiki1/wiki2 are failing. When I edit contents, the preview shows all the changes I made, but once I click save, the loaded page doesn't include any of the changes I made. When I checked the txn submitted, it says successful, but the arguments show the empty body, meaning my changes are for some reason gone missing while submitting txn.
https://explorer.mainnet.near.org/transactions/EzLBVm8ejGDEXhNe3JQBZUr5kwk7CDvTu6Md3YnPmq9C
To Reproduce
Steps to reproduce the behavior:

Go to Community Protocol group page
Click Edit to update contents
Make some changes to Wiki1 or wiki2 (e.g. set title and content to 'test')
Submit changes
Observe the changes are not being applied

Expected behavior
Whatever title/content changes on wiki1/wiki2 should be applied
Screenshots
https://drive.google.com/file/d/1VmzQUn5CX4NGa1ISQGh-LpHz2iEe26G6/view?usp=sharing
Desktop (please complete the following information):

MacOS Ventura 13.1
Chrome Version 114.0.5735.106 (Official Build) (arm64)

Additional context
Add any other context about the problem here.

I want to say that this issue seems to be quite critical, as there is no real way for me to either 1) update any contents or 2) bring back the previous/original contents, at least from UI.

Additional information.
Txn preview window does not contain the changes made in wiki pages as can be seen in the screenshot.

@walnut-the-cat fix is on the way in #187

Don't think the issue is fixed. It shows the content in the preview, but once I submit the transaction, the change is still not reflected

@walnut-the-cat Can you record a screencast? (I can recommend https://loom.com/ to make it really easy)

sure. will do that soon

Meteor wallet issue

After submitting a transaction, there is no confirmation of whatsoever and the page does not refresh.

But the txn actually goes through and I can see the updated content if I manually trigger refresh.
Here is the video showing the issue: https://drive.google.com/file/d/16osDiE0522RgUgXsreKLmoKlwlkpOrwT/view?usp=sharing

The issue where Near wallet bails out with 400
When contents of community page get too long, 400 is thrown while applying changes.
According to @frol , HTTP 400 is the NEAR Wallet limitation, the GET request gets too big and the suggestion is to use other wallet.
Here is the video recording: https://drive.google.com/file/d/1fSu3EqsSpoa4pk76TlQIrJsNMr_uTJog/view?usp=sharing
I tried with Meteor wallet and thankfully it went through, so we are good, but this is not sustainable solution and we need to figure out to lift this limitation.

Meteor Wallet updates are recorded just fine:

https://explorer.near.org/transactions/DTjrMsrrGL6soMnJY7EdJm3Sw3hEbXbHuaxvJaNgWgvS
https://explorer.near.org/transactions/4NXnWLvTa7JZqsReUZhzJdyxRcSR57aoJNz8L97Dbaw6

Here is the page with "test 234" on it: https://near.social/#/devgovgigs.near/widget/gigs-board.pages.community.wiki?handle=protocol&id=2
There is clearly a refresh delay which is not resolved yet, so you need to refresh the page 3-10 seconds later to see the latest changes.

I tried with Meteor wallet and thankfully it went through, so we are good, but this is not sustainable solution and we need to figure out to lift this limitation.

NEAR Wallet is ending its life, so I doubt that anyone will bother fixing it. It is on their side and it has nothing to do with DevHub.

@walnut-the-cat editor state actualization fix is already WIP in #174

Hi @walnut-the-cat – we closed this ticket. Can you please confirm if the issue was resolved? Please let us know if you still see any problems.


Does chewie handle audio only files? Is there a plugin like chewie that does?

Sorry for asking this here, but does chewie handle audio files like mp3?

Hey hey -- You might be able to use Chewie in this way (haven't tested), but really Chewie is meant for video playback and not a general purpose player like VLC. It'd probably be a bit better to investigate other options that are made for audio.

It didn’t work in my case, I have tried m4a and mp3 .
I found this => https://pub.dev/packages/chewie_audio/versions/1.0.0/example


Error on cross pair velocity histogram

Hi, I am reimplementing something very similar to this https://discourse.julialang.org/t/pairwise-computation-slower-than-python-cython-code-balltree-very-slow/62273/24 for two different particle samples. Below the relevant parts of my implementation
using StaticArrays
using LinearAlgebra
using CellListMap

function coordinate_separation(a, b, box_size)
    delta = abs(a - b)
    return (delta > 0.5*box_size ? delta - box_size : delta)*sign(a-b)
end

function separation_vector(a, b, box_size)
    return SVector{3,Float32}(ntuple(i -> coordinate_separation(a[i],b[i],box_size[i]), 3))
end

function map_function(x, y, i, j, d2, output, vx, vy, bin_edges, box_size)
    s_vector = separation_vector(x, y, box_size)
    norm = sqrt(d2)
    bin_id = searchsortedfirst(bin_edges, norm) - 1
    output[1][bin_id] += (LinearAlgebra.dot(vx - vy, s_vector) / norm)
    output[2][bin_id] += 1
    return output
end

function reduce_hist(hist,hist_threaded)
    hist = hist_threaded[1]
    for i in 2:Threads.nthreads()
     hist[1] .+= hist_threaded[i][1]
     hist[2] .+= hist_threaded[i][2]
    end
    return hist
  end

function pairwise_vel_cellist(sample_1::Vector{SVector{3,Float32}},
                                    vel_1::Vector{SVector{3,Float32}},
                                    sample_2::Vector{SVector{3,Float32}},
                                    vel_2::Vector{SVector{3,Float32}},
                                    bin_edges::Vector,
                                    box_size::SVector{3},
                                    )
    max_dist = bin_edges[end]
    n_bins = size(bin_edges)
    box = Box(box_size, max_dist)
    cl = CellList(sample_1, sample_2, box)
    print(cl)
    output = (zeros(n_bins),
            zeros(Int32, n_bins))
    map_pairwise!(
        (x, y, i, j, d2, output) -> map_function(x, y, i, j, d2, output, vel_1, vel_2, bin_edges, box_size),
        output, box, cl,
        reduce = reduce_hist,
        show_progress = true
    )

    return output[2], output[1]
end

When I call the function pairwise_vel_cellist on my data I get the following error
ERROR: LoadError: TaskFailedException

    nested task error: DimensionMismatch("dimensions must match: a has dims (Base.OneTo(72945),), b has dims (Base.OneTo(50383),), mismatch at 1")
    Stacktrace:
     [1] promote_shape
       @ ./indices.jl:178 [inlined]

and a much longer trace. But it seems that the complaint is because one set of particles has one dimension (~50k) and the other has ~70k particles.
Have you encountered this issue? I suspect I'm overlooking some detail but I'm pretty new to Julia so it's kind of hard to find.
Thanks in advance!

The error there is in this line:
output[1][bin_id] += (LinearAlgebra.dot(vx - vy, s_vector) / norm)

because vx and vy are the arrays of size 70k and 50k. You probably want vx[i] and vy[j] there.
This code then runs:
using StaticArrays
using LinearAlgebra
using CellListMap

function coordinate_separation(a, b, box_size)
    delta = abs(a - b)
    return (delta > 0.5*box_size ? delta - box_size : delta)*sign(a-b)
end

function separation_vector(a, b, box_size)
    return SVector{3,Float32}(ntuple(i -> coordinate_separation(a[i],b[i],box_size[i]), 3))
end

function map_function(x, y, i, j, d2, output, vx, vy, bin_edges, box_size)
    s_vector = separation_vector(x, y, box_size)
    norm = sqrt(d2)
    bin_id = searchsortedfirst(bin_edges, norm)
    output[1][bin_id] += (LinearAlgebra.dot(vx[i] - vy[j], s_vector) / norm)
    output[2][bin_id] += 1
    return output
end

function reduce_hist(hist,hist_threaded)
    hist[1] .= hist_threaded[1][1]
    hist[2] .= hist_threaded[1][2]
    for i in 2:length(hist_threaded)
     hist[1] .+= hist_threaded[i][1]
     hist[2] .+= hist_threaded[i][2]
    end
    return hist
  end

function pairwise_vel_cellist(sample_1::Vector{SVector{3,Float32}},
                              vel_1::Vector{SVector{3,Float32}},
                              sample_2::Vector{SVector{3,Float32}},
                              vel_2::Vector{SVector{3,Float32}},
                              bin_edges::Vector,
                              box_size::SVector{3},
                             )
    max_dist = bin_edges[end]
    n_bins = size(bin_edges)
    box = Box(box_size, max_dist)
    cl = CellList(sample_1, sample_2, box)
    print(cl)
    output = (zeros(n_bins), zeros(Int32, n_bins))
    map_pairwise!(
        (x, y, i, j, d2, output) -> map_function(x, y, i, j, d2, output, vel_1, vel_2, bin_edges, box_size),
        output, box, cl,
        reduce = reduce_hist,
        show_progress = true
    )

    return output[2], output[1]
end

function set_data(T)
    return (
        rand(T, 70000),
        rand(T, 70000),
        rand(T, 50000),
        rand(T, 50000),
        [ 0.01 * i for i in 1:11 ],
        T(1,1,1)
    )
end

Run with:
julia> pairwise_vel_cellist(set_data(SVector{3,Float32})...)

I have fixed the histogram binning for this example (remove a  -1 from bin_id = searchsortedfirst(bin_edges, norm), to be consistent with the histogram I was generating), and the fact that the reduction function was not mutating the input hist, but assigning it again. Also important is to reduce from 2:length(hist_threaded), and not 2:Thread.nthreads(), because the length of the threaded output is not necessarily equal to the number of thread anymore (see https://m3g.github.io/CellListMap.jl/stable/parallelization/#Number-of-batches)
That said, I think there are some code simplifications possible:
The x and y that are given by the mapped function al already wrapped, so probably you don't need the coordinate_separation and separation_vector functions. You can just use x - y as the separation vector. With that, you have:
function map_function2(x, y, i, j, d2, output, vx, vy, bin_edges, box_size)
    s_vector = x - y # note here
    norm = sqrt(d2)
    bin_id = searchsortedfirst(bin_edges, norm)
    output[1][bin_id] += (LinearAlgebra.dot(vx[i] - vy[j], s_vector) / norm)
    output[2][bin_id] += 1
    return output
end

(and you can remove the box_size parameter of this function).
Thus, your complete code could be:
using StaticArrays
using LinearAlgebra
using CellListMap

function map_function(x, y, i, j, d2, output, vx, vy, bin_edges)
    norm = sqrt(d2)
    bin_id = searchsortedfirst(bin_edges, norm)
    output[1][bin_id] += (LinearAlgebra.dot(vx[i] - vy[j], (x - y)) / sqrt(d2))
    output[2][bin_id] += 1
    return output
end

function reduce_hist(hist,hist_threaded)
    hist[1] .= hist_threaded[1][1]
    hist[2] .= hist_threaded[1][2]
    for i in 2:length(hist_threaded)
     hist[1] .+= hist_threaded[i][1]
     hist[2] .+= hist_threaded[i][2]
    end
    return hist
  end

function pairwise_vel_cellist(sample_1::Vector{SVector{3,Float32}},
                              vel_1::Vector{SVector{3,Float32}},
                              sample_2::Vector{SVector{3,Float32}},
                              vel_2::Vector{SVector{3,Float32}},
                              bin_edges::Vector,
                              box_size::SVector{3},
                             )
    max_dist = bin_edges[end]
    n_bins = size(bin_edges)
    box = Box(box_size, max_dist)
    cl = CellList(sample_1, sample_2, box)
    print(cl)
    output = (zeros(n_bins), zeros(Int32, n_bins))
    map_pairwise!(
        (x, y, i, j, d2, output) -> map_function2(x, y, i, j, d2, output, vel_1, vel_2, bin_edges, box_size),
        output, box, cl,
        reduce = reduce_hist,
        show_progress = true
    )
    return output[2], output[1]
end

Finally, I strongly recommend you to follow the examples given in the user manual:
https://m3g.github.io/CellListMap.jl/stable/examples/
and on this site:
https://github.com/m3g/CellListMapArticleCodes
This one is particularly relevant to you:
https://m3g.github.io/CellListMapArticleCodes/CodeBlock10.jl.html
Because the examples on the discourse threads may be out of date.

Thanks a lot!


Alerts and Alerting rule for mirroring

New mirroring alerts:
1. mirroring image health alert for > 0 (1-UNKNOWN, 2-WARNING, 3-ERROR) and pool mirroring status == 1 (1-Enabled)
2. mirroring daemon alert == 2 (2-Failed) and sum(pool miroring enabled) > 0


chore(project): enable dependabot version updates

https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates
https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#commit-message

By default, Dependabot attempts to detect your commit message preferences and use similar patterns.

Please review && merge.

Right, thanks!