IPv6 issue

I'm running into a weird issue I can't get my head around and I'm hoping I can get some help or some pointers to where to look at. Here goes:
I am trying to listen for udt connections via IPv4 and IPv6 on the same port number. The problem is that when I listen for both protocol versions, an anomaly occurs (at least this is how I see it): the LocalEndPoint of the socket created via the .Accept() for the IPv4 listener is also a IPv6 address of some weird form. And this goes way deeper, because the packets sent from the client to this socket do not reach it (maybe because the local address does not match the packets normal destination). I will post some code I used to do the testing:
Server side:
Udt.Socket listenerv4 = new Udt.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream);
listenerv4.Bind(IPAddress.Any, 9900);
listenerv4.Listen(10);

Udt.Socket listenerv6 = new Udt.Socket(System.Net.Sockets.AddressFamily.InterNetworkV6, System.Net.Sockets.SocketType.Stream);
listenerv6.Bind(IPAddress.IPv6Any, 9900);
listenerv6.Listen(10);

Task tv4 = new Task(new Action<object>((sock) =>
{
    Udt.Socket client = (sock as Udt.Socket).Accept();
    IPEndPoint localPeer = client.LocalEndPoint;
    Console.WriteLine("v4: " + localPeer.AddressFamily.ToString() + " " + localPeer.ToString());
}), listenerv4);
tv4.Start();

Task tv6 = new Task(new Action<object>((sock) =>
{
    Udt.Socket client = (sock as Udt.Socket).Accept();
    IPEndPoint localPeer = client.LocalEndPoint;
    Console.WriteLine("v6: " + localPeer.AddressFamily.ToString() + " " + localPeer.ToString());
}), listenerv6);
tv6.Start();

while (true)
    Thread.Sleep(1000);

Client side:
Socket sockv4 = new Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream);
sockv4.Connect(IPAddress.Loopback, 9900);

Socket sockv6 = new Socket(System.Net.Sockets.AddressFamily.InterNetworkV6, System.Net.Sockets.SocketType.Stream);
sockv6.Connect(IPAddress.IPv6Loopback, 9900);

Both server and client applications are .net 4.0 console applications, and the console output of the server is:
v4: InterNetworkV6 [::80b0:2172:f0a4:2172%1914810512]:9900
v6: InterNetworkV6 [::1]:9900

I tend to think the problem might be in the native library, but other than that, I am all lost! Any ideea would be highly appreciated!
Thanks a lot!

Forgot to mention that if I set different port numbers, the LocalEndPoint address is <IP_ADDRESS>, as expected.

I was able to replicate the issue. I also found that swapping the order that the sockets are bound results in the following output:
v4: InterNetwork: <IP_ADDRESS>:9900
v6: InterNetwork: <IP_ADDRESS>:9900

The v6 address now becomes incorrect. It definitely has to be something in the native udt library and it appears to depend on bind ordering.

Yes, your findings replicate on my test machine, also. I will try to rebuild this test using the udt4 library alone, without the wrapper so we can eliminate this layer from the problem. Might take a while, though, I'm not very experienced in c++.

I was able to redo the test using only the native udt4 library (no udt-net wrapper involved) and the behavior is still present. Hence, it is a udt4 bug, not udt-net. Here's the code I used:
Server-side:
#include "stdafx.h"

DWORD WINAPI V4ListenProc( LPVOID lpParam )
{
	UDTSOCKET sock = *(UDTSOCKET*)lpParam;
	sockaddr_in sock_addr;
	int sock_addr_len = sizeof(sock_addr);

	UDTSOCKET client = UDT::accept(sock, (sockaddr*)&sock_addr, &sock_addr_len);

	UDT::getsockname(client, (sockaddr*)&sock_addr, &sock_addr_len);

	char address[255];
	inet_ntop(AF_INET, &sock_addr.sin_addr, address, 255);
	int port = ntohs(sock_addr.sin_port);

	const char* addr_family="";
	if(sock_addr.sin_family == AF_INET)
		addr_family = "InterNetwork";
	else
		if(sock_addr.sin_family == AF_INET6)
			addr_family = "InterNetworkV6";

	std::cout<<"v4: "<<addr_family<<" "<<address<<":"<<port<<std::endl;
	return 0;
}

DWORD WINAPI V6ListenProc( LPVOID lpParam )
{
	UDTSOCKET sock = *(UDTSOCKET*)lpParam;
	sockaddr_in6 sock_addr;
	int sock_addr_len = sizeof(sock_addr);

	UDTSOCKET client = UDT::accept(sock, (sockaddr*)&sock_addr, &sock_addr_len);

	UDT::getsockname(client, (sockaddr*)&sock_addr, &sock_addr_len);

	char address[255];
	inet_ntop(AF_INET6, &sock_addr.sin6_addr, address, 255);
	int port = ntohs(sock_addr.sin6_port);

	const char* addr_family="";
	if(sock_addr.sin6_family == AF_INET)
		addr_family = "InterNetwork";
	else
		if(sock_addr.sin6_family == AF_INET6)
			addr_family = "InterNetworkV6";

	std::cout<<"v6: "<<addr_family<<" "<<address<<":"<<port<<std::endl;

	return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
	sockaddr_in v4endpoint;
	v4endpoint.sin_port = htons(9900);
	v4endpoint.sin_family = AF_INET;
	v4endpoint.sin_addr.S_un.S_addr = INADDR_ANY;

	UDTSOCKET listener4 = UDT::socket(AF_INET, SOCK_STREAM, 0);
	UDT::bind(listener4, (sockaddr*)&v4endpoint, sizeof(v4endpoint));
	UDT::listen(listener4, 10);

	sockaddr_in6 v6endpoint;
	v6endpoint.sin6_family = AF_INET6;
	v6endpoint.sin6_port = htons(9900);
	v6endpoint.sin6_addr = in6addr_any;
	v6endpoint.sin6_scope_id = 0;

	UDTSOCKET listener6 = UDT::socket(AF_INET6, SOCK_STREAM, 0);
	UDT::bind(listener6, (sockaddr*)&v6endpoint, sizeof(v6endpoint));
	UDT::listen(listener6, 10);

	CreateThread(NULL, 0, V4ListenProc, &listener4, 0, NULL);
	CreateThread(NULL, 0, V6ListenProc, &listener6, 0, NULL);

	while(TRUE)
		Sleep(1000);

	return 0;
}

Added to stdafx.h the following:
#include <Ws2tcpip.h>
#include "udt.h"
#define NTDDI_VERSION NTDDI_VISTA

Client-side:
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
	sockaddr_in v4endpoint;
	v4endpoint.sin_port = htons(9900);
	v4endpoint.sin_family = AF_INET;
	v4endpoint.sin_addr.S_un.S_addr = htonl(INADDR_LOOPBACK);

	UDTSOCKET sockv4 = UDT::socket(AF_INET, SOCK_STREAM, 0);
	UDT::connect(sockv4, (sockaddr*)&v4endpoint, sizeof(v4endpoint));

	sockaddr_in6 v6endpoint;
	v6endpoint.sin6_port = htons(9900);
	v6endpoint.sin6_family = AF_INET6;
	v6endpoint.sin6_addr = in6addr_loopback;
	v6endpoint.sin6_scope_id = 0;

	UDTSOCKET sockv6 = UDT::socket(AF_INET6, SOCK_STREAM, 0);
	UDT::connect(sockv6, (sockaddr*)&v6endpoint, sizeof(v6endpoint));

	return 0;
}

Added to stdafx.h the following:
#include <Ws2tcpip.h>
#include "udt.h"

And the result:

With binding IPv4 socket first and the IPv6 we get:

v4: InterNetworkV6 <IP_ADDRESS>:9900
v6: InterNetworkV6 ::1:9900

With binding IPv6 socket first and the IPv4 we get:

v4: InterNetwork <IP_ADDRESS>:9900
v6: InterNetwork ::1:9900

From this experiment we can see that the issue is with the protocol version reported by the socket.
P.S. Sorry if it's not the cleanest c++ code, but I haven't written c++ since very long ago.

Still, hope we can solve this one.

I've also done a send/recv test and only one socket receives the sent bytes. The socket which receives is the one for which the advertised IP version matches the real IP version of the socket. For example: the socket which receives is either the one which shows:
v4: InterNetwork <IP_ADDRESS>:9900

or
v6: InterNetworkV6 ::1:9900

The following do not receive any data:
v4: InterNetworkV6 <IP_ADDRESS>:9900

or
v6: InterNetwork ::1:9900

Here is something that might have to do with it: http://sourceforge.net/p/udt/discussion/393037/thread/02526646/ mostly the part where it says "internally UDT does not differentiate port by protocol (v4 or v6)"

That seems like it would explain the behavior. Certainty would require delving into the udt internals. Fixing it is a possibility, but the udt project appears to be dead (last change was committed almost 2 years ago). I will be honest - I'm not going to invest the time to work on it. If you are really interested, you might be able to fork the udt repo: http://sourceforge.net/p/udt/git/ci/master/tree/. Either way, thanks for the report (and the previous bug reports).

New info: if the v4 and v6 servers run in separate processes, all is fine. Seems more and more likely that the fault is in udt binding internals.

I have found a nice workaround, that is using IPV6_V6ONLY socket option for the internal UDP socket to listen on the same AF_INET6 socket for both protocol versions if the socket is bound to  in6addr_any. I will most likely make this an option and expose it via the udp-net wrapper, but for now I'm putting this on a hold, since there's some consistent work involved (IPv6-mapped IPv4 addresses and so on...) and right now this is not top priority. But I will definitely resume work for this issue some day, sooner or later.

I see. So disable IPV6_V6ONLY and then you can connect using ipv6 mapped ipv4 address.

Even better, the clients are agnostic to this solution. Regular IPv4 clients will continue to connect as they did before, just that, internally, the library will deal with IPv6-mapped IPv4 addresses instead of plain IPv4 addresses. The change will be entirely server-side. Will have to deal with the LocalEndPoint property of the library so that connections comming to the IPv4 bind show up indeed, as IPv4 addresses.


Shaders stuck rendering surface normals

I've fiddled with the settings as much as reasonable. Just downloaded the shaders and for some reason, I'm just getting (as near as I can tell) the surface normals being rendered. A lot of info is in the screenshot, but I'll repeat some of it here:

GTX 1070
QuadHD monitor
Optifine HD_U_G7

I'm getting bizarrely low FPS, which suggests that raytracing is happening, just not being displayed. The screen is also shaking a little bit.

I had to unzip the shader. Oops :)


added checkbounds prototype

Closes #23

Codecov Report

Merging #66 (5577a79) into dev-0.5 (523d8d7) will increase coverage by 1.92%.
The diff coverage is 82.60%.

@@             Coverage Diff             @@
##           dev-0.5      #66      +/-   ##
===========================================
+ Coverage    75.98%   77.90%   +1.92%
===========================================
  Files            7        7
  Lines          508      525      +17
===========================================
+ Hits           386      409      +23
+ Misses         122      116       -6

Impacted Files
Coverage Δ

src/nd_DDE_Static.jl
5.26% <0.00%> (-1.41%)
:arrow_down:

src/Utilities.jl
78.30% <100.00%> (+8.10%)
:arrow_up:

src/nd_ODE_ODE.jl
100.00% <100.00%> (ø)

src/nd_ODE_Static.jl
85.18% <100.00%> (+5.18%)
:arrow_up:

src/ComponentFunctions.jl
81.51% <0.00%> (+1.68%)
:arrow_up:

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 523d8d7...5577a79. Read the comment docs.

The checkbounds_p is fine but i'm not sure wether the boundschecking of dx and x is necessary. I think if you pass wrong sized initial conditions to an ODEProblem there is an error from DiffEQ.jl. No need to check this all the time in the core loop?

Without the checkbounds for x the following bug may occur:
N = 10
g = erdos_renyi(10,10)

ov = ODEVertex(f! = (dv, v, edges, p, t) -> dv .= v, dim = 1)
se = StaticEdge(f! = (e, v_s, v_d, p, t) -> nothing, dim = 1, coupling = :undirected)

nd! = network_dynamics(ov,se,g)

dx0 = zeros(N)
x0 = ones(1)

nd!(dx0, x0, 1., 0.)
dx0

Here, dx0 will be filled with uninitialized values. The bug doesn't happen when dv[1] = v[1] in the ODEVertex, since then the usual boundscheck happens, except if @inbounds. So it has something to do with how we implement broadcasting... and maybe can be fixed there?

Creating an ODEProblem out of the MWE may result in a SegementationFault when called

When GraphData is initialized it is guaranteed that v_array and e_array have the correct length. Later we swap them for Arrays of arbitrary length. I guess that would be the best place to do the boundschecking.


fix(docs): deleted the line in authorization data provider integration #6542

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

[x] The commit message follows our guidelines: https://refine.dev/docs/guides-concepts/contributing/#commit-convention

Bugs / Features

[ ] Related issue(s) linked
[ ] Tests for the changes have been added
[x] Docs have been added / updated
[ ] Changesets have been added https://refine.dev/docs/guides-concepts/contributing/#creating-a-changeset

What is the current behavior?
As mention in #6542, To delete the line which is old code that found in the code.
What is the new behavior?
Delete the line #6542 , and code is working properly.
fixes (issue)
Notes for reviewers
Thanks for giving Opportunity for open source contribution.

@BatuhanW ok sir, work will be done in few min.

@BatuhanW, work has been completed please check the following.


Hue 4.0.0 - Spark-submit Python/Scala - Execute button disabled

Describe the bug: When I open Spark-submit for Python or Scala and fill path for .jar or .py I'm not able to click Execute button. It looks like disabled.
Steps to reproduce it? Everytime when I want to use that options It's disabled.
Hue version or source? Hue 4.0.0, Redhat 7.8

Please upgrade to at least version 4.7 which probably have a fix https://docs.gethue.com/releases/release-notes-4.7.0/


Implement Custom Bind Address for Port Forwarding

Overview
This pull request introduces a new feature that allows users to specify a custom bind address for port forwarding within the kr8s project. This enhancement provides greater flexibility in network configurations and enhances usability for environments requiring specific binding settings.
Changes

Added functionality to choose a custom bind address for port forwarding.
Updated relevant methods to handle the additional parameter for the bind address.
Ensured backward compatibility with existing function calls by setting default bind address values.

Impact

Users can now define a specific bind address when setting up port forwarding, offering better control over network traffic routing.
No impact on existing functionality; all previous configurations without a specified bind address will continue to work as before.

Tests

Conducted tests to ensure that the new feature works as expected in various scenarios.
Ensured that all existing tests pass without modifications, confirming backward compatibility.

How to Test

Update to the latest version of the kr8s project.
Utilize the new parameter for specifying the bind address in your port forwarding setup.
Verify that the port forwarding works as expected with the custom bind address.

Your feedback and suggestions on this feature are greatly appreciated!

Also, you seem to be new to GitHub, welcome! Your PR is well written.
Two bits of advice for future PRs:

It's always good to open an issue before a PR to check that the feature is desirable before putting in the time to build it. In this case I'm excited to add this option, but it might've gone a different way.
In your "How to test section" it would've made my life much easier if you had included a copy/pasteable code snippet that I could've used to give this change a spin.

@jacobtomlinson Thank you for your input regarding the addition of a test to verify if the component is listening on the expected address. I've been pondering over your suggestion and, to be honest, I'm facing some uncertainties about implementing this in pytest.
From what I understand, pytest is primarily geared towards unit and functional testing within a more or less isolated environment. Testing for network-specific functionalities, like confirming if a component is listening on a given IP address, seems to stretch beyond the conventional use of pytest. Such tests often require interaction with system-level network configurations and might need different permissions, which isn’t typically the scope of pytest.
I'm a bit unsure here – while I see the importance and value of this test, I'm struggling to figure out how to integrate it effectively within the pytest framework. I'm thinking about potential workarounds, like mocking network interfaces, but I'm not fully convinced this would accurately simulate the real-world scenario we're trying to test.
Do you have any suggestions or insights on how we might approach this? Maybe there's an aspect I'm overlooking or an alternative method that could be employed within the constraints we have. I'd really appreciate your thoughts or any guidance on how to navigate this challenge.

Thanks for bearing with me and iterating on this so much. It looks like things are good to merge now.


load_and_authorize_resource not honouring :class

I have a model called 'KPI' - note casing
My controller is thus:
class KpisController < ApplicationController
   load_and_authorize_resource :class => KPI
   ...

(Yes, the controller class name casing is inconsistent)
But getting 'Unable to autoload constant Kpi' error
Rails 4.2.9, Ruby 2.3.4p301, Cancancan 2.2.0

I actually have the same issue and looked into it into more details.
I decided to nest some models and controllers to make my code clearer, and get issues with load_and_authorize. The situation is the following:
I have a class MyModule::ClassA but since my nested controllers are different, I have a controller
X::MyModule::ClassAsController since I also have what I call non-X endpoints in my code.
I therefore load my resource like that:
class X::MyModule::ClassAsController < XController
    load_and_authorize_resource class: 'MyModule::ClassAsController'
    ...

The issue appears in the following method, in cancancan/lib/cancan/controller_resource_name_finder.rb
    def namespaced_name
      [namespace, name].join('/').singularize.camelize.safe_constantize || name
    end

I think this method should use the @options[:class] that we provide instead of just using the namespace or name. In that case, it is looking for X::MyModule::MyClass instead of MyModule::MyClass and thus the same LoadError is raised as the safe_constantize tries to Load MyClass from my_module/my_class instead of MyModule::MyClass
In my case this works as expected if I put:
    def namespaced_name
        @options[:class].safe_constantize
    end

Shouldn't this method contain a case/when on options[:class] ?
I noted also that this only happens on the new action as in controller_resource_loader.rb,
    def resource_params_by_namespaced_name
      resource_params_by_key(:instance_name) || resource_params_by_key(:class) || (
      params = @params[extract_key(namespaced_name)]
      params.respond_to?(:to_h) ? params : nil)
    end

resource_params_by_key(:class) is nil on my new action.
Is there already a way to configure CanCanCan to do what we want or should we fix somehow namespaced_name using @options[:class] ?

Does load_and_authorize_resource class: 'KPI' work, instead?


Answer design concept

Could you add embed answers to your bot? Like this.
It looks colorful and juicy :D

Nope XD
On Thu, Oct 10, 2019, 11:11 AM Dmitry<EMAIL_ADDRESS>wrote:

Could you add embed answers to your bot? Like this.
It looks colorful and juicy :D
[image: this]
https://user-images.githubusercontent.com/52901647/66550678-5743ea80-eb5f-11e9-97bb-176edadbe442.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CalleyInc/statusbot/issues/1?email_source=notifications&email_token=AKN7MF6XTQGA3CP36ARZ62TQN3PUJA5CNFSM4I7JMSP2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HQ3LFOQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKN7MFYJALKUO3AOOUDY2GLQN3PUJANCNFSM4I7JMSPQ
.

Cuz these embeds support markdown formatting, so any nicks with symbols
will be converted.
Although embeds support code insertions.
Also, Rist don't show off with English skills, at least not to me :D
On Thu, Oct 10, 2019, 10:34 PM Calley Inc<EMAIL_ADDRESS>wrote:

Nope XD
On Thu, Oct 10, 2019, 11:11 AM Dmitry<EMAIL_ADDRESS>wrote:

Could you add embed answers to your bot? Like this.
It looks colorful and juicy :D
[image: this]
https://user-images.githubusercontent.com/52901647/66550678-5743ea80-eb5f-11e9-97bb-176edadbe442.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/CalleyInc/statusbot/issues/1?email_source=notifications&email_token=AKN7MF6XTQGA3CP36ARZ62TQN3PUJA5CNFSM4I7JMSP2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HQ3LFOQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKN7MFYJALKUO3AOOUDY2GLQN3PUJANCNFSM4I7JMSPQ
.

Okay. I just used Google Translator :stuck_out_tongue_winking_eye:

Close this issue plz

Eh, I found a button to close this issue myself 😅


Corrected the link to No CAPTCHA reCAPTCHA plugin

Hi everyone,
I've noticed both Admin NoCaptcha and Admin reCaptcha entries point to the same repository: https://github.com/armujahid/Admin-reCaptcha
So I put the correct name and link to the "No CAPTCHA reCAPTCHA" plugin as follows:

Admin NoReCAPTCHA: https://github.com/amindeed/YOURLS-Admin-NoReCAPTCHA

instead of:

Admin NoCaptcha: https://github.com/armujahid/Admin-reCaptcha

Thanks !


text_encoder was not finetuned with script examples/images/dreambooth/train_dreambooth_colossalai.py,[BUG]:

🐛 Describe the bug
When I train dreambooth with script examples/images/dreambooth/train_dreambooth_colossalai.py, I found that the text_encode model file text_encoder/pytorch_model.bin has not changed. It is means the text encoder has not been optimized.
Then I found that only unet has been warpped with GeminiAdamOptimizer (https://github.com/hpcaitech/ColossalAI/blob/main/examples/images/dreambooth/train_dreambooth_colossalai.py#L475), but the text encoder not.
so how can I finetune both unet and text encoder?
Environment
No response

Hi, currently the setting for text encoder is requires_grad=False as shown in line. Can you try making them trainable and later save the model states accordingly?

@JThh thx！
I have setted text_encoder.requires_grad_(True) and text_encoder.train(), but parameter of text-encoder was not changed. I print text_encoder.text_model.encoder.layers[3].self_attn.q_proj.weight, it has not been changed!

Yes, @SummerTrains , you are right. Can you try imitating what was done to this file?

@JThh The most important code is  params_to_optimize = (         itertools.chain(unet.parameters(), text_encoder.parameters()) if args.train_text_encoder else unet.parameters()     ), and sand it into torch.optimizer. But it's different with GeminiAdamOptimizer.

@JThh The most important code is  params_to_optimize = ( itertools.chain(unet.parameters(), text_encoder.parameters()) if args.train_text_encoder else unet.parameters() ), and sand it into torch.optimizer. But it's different with GeminiAdamOptimizer.
The key point is that ZeroOptimizer , the super class of GeminiAdamOptimizer, has a module(ZeroDDP) arguement, not a list of module(ZeroDDP).
So how can warp the both parameters of text_encoder and unet into a GeminiAdamOptimizer

Would you please change this __init__ method to possibly be:
    def __init__(self, models: Union[List[torch.nn.Module], torch.nn.Module] , **defaults: Any) -> None:
        if isinstance(models, list):
            parameters = itertools.chain(*[module.parameters() for module in models])
        else:
            parameters = models.parameters()
        optimizer = HybridAdam(parameters, **defaults)
        super().__init__(optimizer, model, **defaults)

, and import itertools as well as from typing import List, Union accordingly?
I will submit a change to this code file formally soon.

Would you please change this __init__ method to possibly be:
    def __init__(self, models: Union[List[torch.nn.Module], torch.nn.Module] , **defaults: Any) -> None:
        if isinstance(models, list):
            parameters = itertools.chain(*[module.parameters() for module in models])
        else:
            parameters = models.parameters()
        optimizer = HybridAdam(parameters, **defaults)
        super().__init__(optimizer, model, **defaults)

, and import itertools as well as from typing import List, Union accordingly?
I will submit a change to this code file formally soon.

It's not work. Because ZeroOptimizer take module: ZeroDDP as input.   And I change super().__init__(optimizer, models[0], **defaults), it raise some other error.
So, looking for your MR as soon as possible.

@JThh hello, how is going?  When will you finish this problem?

hi @JThh , Thanks for your reply. Have you solved this issue?


MC3 Deployment on Kava

Looking to add the static address to Kava - Chain ID 2222
RPC: https://evm2.kava.io
We've funded the 0x05f32B3cC3888453ff71B01135B34FF8e41263F2 address with 0.2 KAVA for deployment costs.
Thank you!

Done, thanks! https://explorer.kava.io/address/0xcA11bde05977b3631167028862bE2a173976CA11/contracts


Is possible to use without a bind-value ?

I tried to use the component without a bind-value, I just need the on change event so I can execute a fetch, but it gives error.
Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]       Unhandled exception rendering component: BlazorInputMask.InputMask requires a value for the 'ValueExpression' parameter. Normally this is provided automatically when using 'bind-Value'. System.InvalidOperationException: BlazorInputMask.InputMask requires a value for the 'ValueExpression' parameter. Normally this is provided automatically when using 'bind-Value'.
seems that the ValueExpression is required.
scenario:
In blazor default component was not possible to use bind-value along with onchange. one exclude the other. so I was using just the onchange, without the bind-value
thank you

Hi, thank you, passing a function to ValueExpression that just return a string, it worked but also required a variable, because I cant pass a string inside the "" attribute. doesn't compile. ValueExpression="() =>"""
so  I endup creating a variable to use in @bind-Value, it is fine, seems good.
great component btw, simple to use and install, much easier than that ones in those big libraries.
thank you so much!

Sorry, I meant ValueChanged not ValueExpression.
Glad to know you appreciate the component !
Regards,
Raphael

De : Marcelo Ribeiro @.>
Envoyé : Wednesday, February 28, 2024 6:00:27 AM
À : raphadesa/BlazorInputMask @.>
Cc : Raphaël Desalbres @.>; Comment @.>
Objet : Re: [raphadesa/BlazorInputMask] Is possible to use without a bind-value ? (Issue #29)
Hi, thank you, passing a function to ValueExpression that just return a string, it worked but also required a variable, because I cant pass a string inside the "" attribute. doesn't compile. ValueExpression="() =>"""
so I endup creating a variable to use in @bind-Value, it is fine, seems good.
great component btw, simple to use and install, much easier than that ones in those big libraries.
thank you so much!
—
Reply to this email directly, view it on GitHubhttps://github.com/raphadesa/BlazorInputMask/issues/29#issuecomment-1968232689, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA2HSEEAH5E3B545ZDCHR5TYV22WXAVCNFSM6AAAAABD4UWGJCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRYGIZTENRYHE.
You are receiving this because you commented.Message ID: @.***>


Force destroy resources on destroy through the teams operator

Removing pods and other resources that are stuck in a terminating state during the destroy process

Not the root cause of an issue - the issue was due to partial destroy


Allow user to mark as ticket is resolved, so it's reduce the load for rescue team

Allow user ( who created the request ) to mark as ticket is resolved, once they are safe zone.
Eg:

when user requested for urgent help, and they got escaped by other alternative. Allow user to mark as ticket is "closed",  so it will remove the burden for rescue team.

Someone requested for food, they got food from other alternative. Let me mark as ticket as "closed".

Can be merged with issue #20

#20

So issue a request ID whenever someone requests something, and another form to close request, which accepts request ID and mobile number, used while issuing the request to close the request?

@gokulan97
Yeah something like that. We have currently around 15000 request in the database. So you can close the request ID or mobile number would be helpful for rescue team.
Also we need to "information  text" on request form page about this.

"Please try to close this request by your mobile number or request ID, once you are in safe zone.. This will helpful for rescue team".

I have zero prior experience in Django, it's taking some time for me. If anyone has expertise, please take this forward.


Add baselines to real-time eval

This will enable relative WIS calculations, etc.
Simplest approach might be to generate a hubverse table with all models (including baselines)

Yes, I would like to use the baseline as a fallback forecast, so anything we are doing with the real forecasts (like making plots) should also be done for baseline.


Antipoison timer is not right

Hello,
There is 2 bug with how antipoison timer works.

Describe the bug
Clicking but not drinking antipoison potion makes the timer start.
To Reproduce

Drink a random potion
Click antipoison potion (before the character finishes the last one)
Antipoison timer will start

Screenshots
gif
Expected behavior
Timer should not appear.

Also

Describe the bug
Clicking the heartorb while poisoned and having an antipoison in inventory will cure poison but not start the timer
To Reproduce

Get poisoned
Click hearth orb with antipoison in inventory
Antipoison timer will not start

Expected behavior
Timer should appear.

Environment (please complete the following information):

OS: Windows 10
RuneLite version: 1.5.3
Launcher version: 1.6.0

Additional notes
Same with super antipoison
Should also check for relicym's balm and venom.
Thank you.
Wone.

Duplicate of #1471


workflow discovery configuration query with query parameter set with free text returns no results

Describe the bug
If a discovery search with configuration param set as "workflow" and a query param does not return any result.
To Reproduce
Steps to reproduce the behavior:

login on dspace 7 demo
go to "MyDSpace"
select "all tasks"
enter a query string in search input box (i.e. title of an item that appears among "all tasks")
Search won't return results

The same search can be made against REST api as logged in user, by calling /server/api/discover/search/objects?configuration=workflow&query=
Expected behavior
Results according to query content should be returned
Related work
We (4Science) can take this in charge, right after other beta5 tasks that we already have in charge. our estimation is 4 hours of work. Work that consists in the item indexing into task's solr documents (PooledTask and ClaimedTask resource types) and the creation of a specific test that proves the provided solution.

Thanks @corrad82-4s .  I've assigned this back to you for your team to work on when you find time.  Ideally, if you could get this done this week it'd be best, but if not, we can see if we can fit it into Beta 5 prior to Testathon.

As discussed today, the upcoming PR for this ticket can be assigned to @benbosman and @tdonohue


Consider switching to gRPC

Background and Motivation
The Accumulo RPC layer uses Apache Thrift as both the transport and protocol but I think it would be worthwhile to consider switching to gRPC in the future for the RPC layer. I have done a lot of investigation and prototyping into alternatives and below summarizes things.
There are a few reasons to switch (which are highlighted below in the gRPC advantages section) but the primary motivation that started the investigation into gRPC is to be able to support async RPC calls on the server side. Async RPC calls would enable the server to handle many more connections and requests at a time and give us the ability to do things like long polling without blocking the IO threads. The initial use case that started this is described in #4664, but there are other use cases as well.
Thrift is synchronous and their Async api, which in theory could be used to accomplish this, is unfortunately quite limited (as described) below. This makes it difficult to handle a lot of connections concurrently with Thrift, especially if those requests are long lived.
Note: There is still one more Jetty prototype to work on and I will update the issue with those results when done.
Prototypes
I have investigated and prototyped both gRPC and also Thrift using Async processors as an alternative to compare both to the current sync Thrift api as well as to each other. Below are the the advantages/disadvantages I have found for both. I also am planning to test out a 3rd alternative, using an async REST API with Jetty because Jetty should support the different authentication mechanisms not supported by gRPC/async thrift. I will report back and link that prototype and findings when that is done as well.
Grpc Results
PR: https://github.com/apache/accumulo/pull/4715
Advantages:

gRPC is Netty and Http/2 based so high performance and a non-blocking architecture. Netty is well tested and the most well known NIO framework.
gRPC is async by default out of the box but is still easy to write RPC services that are sync if desired.
gRPC supports streaming which would be quite useful for the client for scans.
The gRPC serialization format is flexible. By default it supports protobuf but the format is pluggable so we could potentially use Thrift as the binary format and keep the existing Thrift objects.
There is good SSL support out of the box.
gRPC supports OAUTH2 and has an API for plugging in authentication.
gRPC supports async on the client side as well if a client wants to make a non-blocking RPC call.
The documentation is pretty good and gRPC has a wide adoption.

Disadvantages:

The code changes are larger to replace an entire framework. However, we'd likely just start with one service at a time and we do not have to switch everything all at once.
SASL is not supported (potential blocker)

Async Thrift
PR: https://github.com/apache/accumulo/pull/4931
Note:
Advantages:

We already use Thrift so the changes are much smaller than switching out an entire RPC layer.
We can continue to use all the existing RPC services and objects and only implement Async APIs for the services we want.

Disadvantages:

Thrift does not support multiplexing async processors which means we'd have to add support or end up opening up a different server for every service. There is an open issue for this and an old PR that was closed that could be reopened to support this.
SASL is not supported. While Thrift did add a non-blocking service implementation for SASL, it does not support the Async API and only sync, so we would have to implement this ourselves and contribute that back to support it. (potential blocker)
SSL is NOT supported at all for non blocking servers. Non blocking server implementations are a requirement for the Async API and there is no support for that. Non-blocking SSL in Java requires using the SSLEngine and is extremely difficult to implement correctly. This is best left for other frameworks like Netty and it seems unlikely Thrit will add support for this. This is a big blocker
Thrift does support using sync and async at the same time (on different ports) so we could potentially get around some issues below by only supporting async in some modes (not SSL for example), but this has major disadvantages including having to maintain two implementations and testing everything twice. Plus the performance impact could be large in the modes that require sync so it doesn't make sense to do that.
The documentation for Async thrift is basically non existent. There is almost zero information and doesn't seem to be well supported or tested. I had to essentially reverse engineer the source code and trace things with break points to figure out how the async processors worked.

Async Jetty
PR: https://github.com/apache/accumulo/pull/5018
There's some initial information on this approach in this comment.
Advantages:

Jetty supports all the different authentication mechanisms including SSL and SASL.
Jetty is already used in the monitor and REST is a well known/established pattern.
Jetty supports Async servlet API so we can accomplish long polling.
REST apis usually support Json and Thrift already has support for Json serialization but we could explore just using binary as well.

Porential Disadvantages:

Using REST and Json is probably not ideal for all RPC calls.
This would be a one-off server that would only be used for the CompactionCoodinator service.

Using REST and Json is probably not ideal for all RPC calls.

Have you looked at CBOR?

Have you looked at CBOR?

I did some research on this today and it looks like Jackson has support for binary formats including CBOR, including as a jax-rs provider
I haven't tested it, but based on that information, it should be possible to register a CBOR jackson provider for the jetty service to return binary and then update the http rest client that is making the request to read the binary and decode it using the Jackson CBOR module. If we decide to pursue the jetty option I can work on testing the performance of using CBOR vs JSON.


After update repository from menu (TSvn->Update) forgets RootRepository

Updating deletes file TSVN.json.
There was no such behaviour in v4.4.37. VS version 15.9.3

Thank you for fast bug fix, everything fine!


3 test submissions per team per month

How is enforced that each team has only 3 test submissions per month in each track?
I.e. The team CyberCore Co.,Ltd. has 3 submissions in the 2D tracking in this month with 2 accounts:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
I am also in a team with another guy who only submits in the 2D detection and I submit only for the 2D tracking not to violate the challenge rules. It shouldn't violate the rules or?

Each team is supposed to have only 1 email to submit. Having multiple users from the same team submitting the same model is not allowed.
@onexerxes can comment more on the policy

It looks like in that case there are two separate teams (with different members), despite having the same affiliation.
In any case, we will review all entries for eligibility at the close of the challenges.


All Posts takes you Home

Description
The "All Posts" button on the Home page takes you to the top of the page.
Screenshots

Files
A list of relevant files for this issue. This will help people navigate the project and offer some clues of where to start.
To Reproduce
Go to Home page. Scroll down. Select "All Posts"
Tasks
Include specific tasks in the order they need to be done in. Include links to specific lines of code where the task should happen at.

[ ] Task 1
[ ] Task 2
[ ] Task 3

Remember to use helpful labels and milestones. If you use the "help wanted" label, Code for America will promote it widely.

fix #213


Raise subrequest limit in development

~Needs #1184 merged first.~
This only works with the Node.js sandbox though, since afaik Workerd doesn't add any limit yet.

Yeah, they mention in a discussion why, but I think it's more related to CPU/Memory limits than subrequest limit. I guess the latter was just a collateral effect of not implementing limits for the others 😅


[WIP] First pass at spec.version

Renamed some functions/files for consistency.
Trying to deal with both serving and eventing uniformly. They can
practically share all of the reconcile stages.
The biggest challenge right now is how to deal with FinalizeKind.
Essentially, which manifest do you use to delete the resources?
Specifically, what do you do when the CR is deleted after
spec.Version has been reconciled but before the install
completes (at which point status.Version is updated).
Much still to do...

cool!
On Tue 30. Jun 2020 at 18:38, Jim Crossley<EMAIL_ADDRESS>wrote:

@jcrossley3 commented on this pull request.
In config/300-eventing.yaml
https://github.com/knative/operator/pull/133#discussion_r447825311:

@@ -57,6 +57,9 @@ spec:
spec:
description: Spec defines the desired state of KnativeEventing
properties:

       version:

I think the current plan is to prevent it, i.e. toss an error if
spec.version is plus-or-minus 0.1 from status.version.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/knative/operator/pull/133#discussion_r447825311, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AABGPTRVB3ENPPK7AY7IG7DRZIIIBANCNFSM4N3AZAWQ
.

--
Sent from Gmail Mobile


Add connection type to model serving create modal

https://issues.redhat.com/browse/RHOAIENG-13139
Description

Replaces the data connections section in the model serving modals with connection types. The existing connection has fairly similar behavior. The new connection options has the ability to create a new connection inline,
Updated the single kserving modal and the modelmesh multi model modals.

How Has This Been Tested?

Set disableConnectionTypes dev flag to false
either navigate to a project and open the "Models" details section OR go to /modelServing which is the "Model Serving" on the left nav bar
Make sure you have a runtime setup

(either single serving or multi. you can have 2 projects with each having one of them)

Edit or deploy a new model

Try various combinations of connections types and connection instances on the project

Test Impact

Jest tests added
Request review criteria:

Self checklist (all need to be checked):

[X] The developer has manually tested the changes and verified that the changes work
[X] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[X] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[X] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change.

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

/lgtm
/approve


Fixed Dark Mode In Card Component In User Profile Section

Fixes Issue
"Fixed Dark Mode In Card Component In User Profile Section"
Closes #1745

Changes proposed

Screenshots

Checklist

[ ] You've linked this PR to the correct issue.
[ ] You have checked that the code is working correctly.
[ ] You ⭐ the repository!

Note to reviewers

@Spyware007 The pull request is merged but the problem is not fixed in production site? Can you look into it or should i create a new PR?

@Souravvmishra The classnames are interchanged ig
Can you fix this?

Didn't get that. Where ?


Successfully Flashed "KMC 4 Outlet WiFi"

Had 2 of these from a few months ago, but they seem to no longer be in stock on Amazon.
https://www.amazon.com/gp/product/B0786B1LGM
That being said, succesful flash and configuration.
GPIO 13 Relay 2
GPIO 14 Relay 3
GPIO 15 Relay 1
GPIO 16 Button

GPIO 4 HLW8012 CF
GPIO 5 HLWBL CF1
GPIO 12 HLWBL SEL

https://templates.blakadder.com/kmc_4.html

Can we confirm is OTA Update flashed?

@NickJLange I don't know this specific one, but I tried flashing some other KMC smart switches I bought recently with Tuya Convert and it didn't work.

I got two of these October 2023 and it all worked great!
OTA, klicking, templating, updates.
Mine were these
https://www.amazon.com/dp/B07SWZ2N4J
On back it says Model 30608
made 10/22
Type 3 SPD
VPR 800V (L-N)
They are nicely made, recommended.

@CSSMWX Am a total noob to this -- what do you use to apply OTA flashing on this device?  Thanks!

Adding a note for posterity, I have several of these "KMC 30608" devices that i've flashed by taking them apart and using a jig to connect to power, tx, rx, and gpio 0.  The first two I did a while back (Jan/Feb 2024) and don't remember any difficulty.  Bought two more in Feb but didn't touch them until now (Sept).  I was able to flash them, but it took dozens of tries to get esptool.py to talk to them.  Not sure what was wonky (jig may have worn a bit, or ...).  Eventually they worked.
I'm using this template:
{"NAME":"KMC-30608","GPIO":[0,320,0,0,0,0,0,0,0,225,226,224,32,0],"FLAG":0,"BASE":18}


zulip-view-modal: Update translated strings for stream/channel rename.

Noted these two translated strings that need to be updated for the stream to channel rename while working on some help center updates. They are recent additions to the codebase and are not yet in the current web app translations.
The help center link will be updated in a separate change.
Screenshots and screen captures:

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @laurynmm!


legendary-gl: 0.20.24 -> 0.20.25

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for legendary-gl is: "A free and open-source Epic Games Launcher alternative"
meta.homepage for legendary-gl is: "https://github.com/derrod/legendary"
meta.changelog for legendary-gl is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/7g1791hixzx7xhyq4sis1jg4y6n8266s-legendary-gl-0.20.25/bin/.legendary-wrapped had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/7g1791hixzx7xhyq4sis1jg4y6n8266s-legendary-gl-0.20.25/bin/legendary had a zero exit code or showed the expected version
0 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 0.20.25 with grep in /nix/store/7g1791hixzx7xhyq4sis1jg4y6n8266s-legendary-gl-0.20.25
found 0.20.25 in filename of file in /nix/store/7g1791hixzx7xhyq4sis1jg4y6n8266s-legendary-gl-0.20.25

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
legendary-gl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7g1791hixzx7xhyq4sis1jg4y6n8266s-legendary-gl-0.20.25 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A legendary-gl https://github.com/r-ryantm/nixpkgs/archive/ca0ebd52927125bf1e7b260a59a7078576b06435.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7g1791hixzx7xhyq4sis1jg4y6n8266s-legendary-gl-0.20.25
ls -la /nix/store/7g1791hixzx7xhyq4sis1jg4y6n8266s-legendary-gl-0.20.25/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

legendary-gl

Maintainer pings
cc @equirosa for testing.

@ofborg eval

Result of nixpkgs-review pr 156403 run on x86_64-linux 1

1 package built:

legendary-gl


JavaScript interoperability

I see that with Zap I can create code in Dart and import Dart packages on the frontend.
But what when I will want to use some JavaScript library in my project?
Is somewhere some example of how Zap can interop with JavaScript?

Zap is no magic and compiles to intermediate Dart files, so you can use the existing tooling Dart provides to interop with JavaScript (in particular, package:js).
I agree that the docs could benefit from an example here, is there any library in particular that you have in mind? I think svelte has a mapbox example, I could port that to zap and include it in the examples.

I think any small example about Dart interoparability with JS in documentation would be great.
So I think that mapbox example can be sufficient. :)

I've added a MapBox example using riverpod for state management in 169575daba301afbc6ed8b1bf772f315478e0642.


cannot input negative numbers due to interaction with parser

data: any
sct_maths -i t2.nii.gz -mul -1 -o t2_mul.nii.gz
ERROR: The file -1 does not exist. Exit program.

several possible fixes:

modify the parser to check if what's after the "-" is a number
modify sct_maths to treat what's after -mul as a string and do the parsing inside sct_maths

ok, parsing is already done within sct_maths within get_data_or_scalar(argument, data_in) so i'll modify it.


Updated PNPM config, Fixed some downmigrations, Some minor fixups.

directusFromFile adds a the functionality to trigger pubsub updates for "id, type" from a csv file.

@KillerX shoot, i presse the merge button again 💀


Support more Git Schemes in oss-download

BitBucket
GitLab
other proprietary
https://path.to/repo.git

Dupe of #167


Close keyboard button

Feature description
There should be a close keyboard button to make sure it can be closed, similar to the native on-screen keyboards. :)

Hi @IchordeDionysos 🙃, thanks for the feedback request 😄❤
Can you elaborate on what you mean by that? :)
You can close the keyboard using the enter button (the only function of that is closing the keyboard). Is that not what you would expect?
Also note that there is no button like this on the regular phone on-screen keyboard.

Yes there is such a button on iOS/iPad :)

I see, this seems to be an iPad-only feature according to @tomkuschka.

If anyone agrees that this would be necessary/useful, i.e. you want this feature, please give the original comment a >👍< 🙂

We may add this for iPad/Tablet only? 🤔


Update _index.md

Add a section on how to solve spell-check failures. Replace heading verbs with the infinitive form to make them parallel.
Describe your changes
This PR replaces heading verbs with infinitive forms to create parallel structures.
It also adds a section that describes what to do in case a PR's spell-check fails.
Related issue number or link (ex: resolves #issue-number)
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

/lgtm


Support for composite partition key in lucene.

Enable multiple keys in partition key using while using Lucene.

Fixed. Released with Kundera-2.15.
Chhavi


Fix undeletable Cookies

This fixes undeletable Cookies.
stormpath/express-stormpath#155

Thanks @harai !  I had to open a new PR on this repo, but your patch is included and I've added you to the contributors file :) This patch is in master and will go out in our next release.


How to Show User Image on top of Bar graph always.

I am stuck with a requirement where i need to show a  leader board as shown in the attached image. The bar will show the points earned by the user and image will be of that specific  user.  Has any found a solution how to do that using Chart.js. Is it even possible?
I tried it using tooltip but could not make it happen. Is there any space for such type of graphs in Chart.js

You'll want to create a plugin and theb draw the image on the canvas.

@etimberg  Thanks for the Advice. I will try to create one and if it gets created i will post the answer.
any more suggestions are welcome

Closing as answered

@vikas379 long shot, but did you succeed? :)


Just a minor thing, but may I suggest to consider to fix this comment ...

... because comments are rare in remark.js and therefore newcomers have a real hard time to figure out what's going on (no offence).
The following is an excerpt from parser.js which I glanced over when trying to find the cause for the bug described in the issue I posted 2 hours ago.
/*
 *  Parses source string into list of slides.
 *
 *  Output format:
 *
 *  [
 *    // Per slide
 *    {
 *      // Properties
 *      properties: {
 *        name: 'value'
 *      },
 *      // Notes (optional, same format as content list)
 *      notes: [...],
 *      // Link definitions
 *      links: {
 *        id: { href: 'url', title: 'optional title' },
 *        ...
 *      ],  <--------------- should this PROBABLY be a curly brace?
 *      content: [
 *        // Any content but content classes are represented as strings
                         ^^^--- "except" may be PROBABLY clearer to a non-native English speaker
 *        'plain text ',
 *        // Content classes are represented as objects
 *        { block: false, class: 'the-class', content: [...] },
 *        { block: true, class: 'the-class', content: [...] },
 *        ...
 *      ]
 *    },
 *    ...
 *  ]
 */

Fixed.


MacOS 10.15 PR workflow failing when installing ccache

TASK [Common : Install Build Tool Packages NOT macOS 10.12] ********************
Warning: : Error deleting remote temporary files (rc: -9, stderr: })
failed: [localhost] (item=ccache) => {"ansible_loop_var": "item", "changed": false, "item": "ccache", "msg": "Warning: These files were overwritten during the `brew link` step:\nWarning: Directory not empty @ dir_s_rmdir -<EMAIL_ADDRESS>Directory not empty @ dir_s_rmdir - /usr/local/Cellar/ansible/6.1.0\nWarning: These files were overwritten during the `brew link` step:\nWarning: Directory not empty @ dir_s_rmdir -<EMAIL_ADDRESS>

still have not been able to identify what exactly caused the problem.
only trace back the first time we saw this was from 11th Aug, the run from o10th Aug was still fine.

Seems, from test run, not only happens on "ccache"
when I commented out block "ccache"

i think when upgrade to macos-11 this work

runner upgraded to macos-11 ansible works again


Open4us.org Login

I need to edit the Open4us.org web site- https://open4us.org/
I have a name and password I've used previously to access this WordPress site.
They no longer work.
Rob, can you have a look and help me get edit access again.
Thanks.

@mattl: I don't have access to that machine yet, please can you wire me in?

https://github.com/creativecommons/techstuff/issues/3

@pgstacey You should now have access, let me know if you have any further problems.

Rob, yes thanks I can get into the site now, however, I don't have any editing privileges.
Please assign me editing privileges.
Thanks.
Paul

Paul, you'll be an admin of the site... please be careful and don't click anything that asks you to upgrade ;)

@pgstacey you are now an editor.

Rob, I use WordPress for my personal blog for which I am an administrator, so I'm pretty familiar with it.
Will take care not to upgrade.
Successfully made the edits I needed to.
Thanks, I'm good to go.
Paul


Initial option for setting up ability to sign jsonnet

So I'm not sure how close this is to working for all the different ways people use Jsonnet to generate drone pipelines, but the idea behind it is that it would be great to be able to not need a .drone.yml file in the repo to push up signed pipelines. This works for the way I setup my .drone.jsonnet files, as a list of pipelines, do you have any opinions around this?

Hey @brising6  thanks for the PR, this functionality looks really useful. However this is only a partial implementation. I would suggest creating a proposal here https://github.com/drone/proposal documenting this functionality. Currently we could not merge this work. As we would need to implement it throughout drone, and through the proposal we could design / document all the places this should happen.

@brising6 I describe an alternate implementation at discourse.drone.io/t/how-can-i-sign-starlark-or-jsonnet-configs/8001.  This is something that merits a proposal since it can be solved in a few different ways, and we want to make sure we are considering all use cases (starlark, etc)


canvas zoom in zoom out?

make the canvas zoomable.

Recently, I'm so busy, but I'll try soon.
Thanks for good idea.


2866 Rails 7 Deprecations addressed.

Resolves #2866
Description
With the upgrade to Rails 7, we started getting a lot of deprecation warnings.   This clears them up.
All the warnings were in cases where we were using Date.to_s or TimeZone.to_s.  These had to be changed to to_fs.  That was done throughout (it is possible there are cases that are not tested).
I also looked through the release notes for Rails 7, and did text searches for  the other deprecations.  We should be clear.
I did this by hand rather than by finding/using a deprecation gem because it just wasn't a big enough job to merit the work.
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Ran the full Rspec on local.  It all passed.

Thank you! Those deprecations were super annoying.


Example ReadME

In the example provided, one could easily get confused. Even for someone that used V1 like me, I still get confused since the WalletConnectV2 docs and the package docs kind of differ.
Moreover, all functions have been crumbled up yet some could not have a use-case for a user. I think creating the documentation in a use-case oriented manner could help alleviate this.
In my somewhat limited experience with this package, I have identified two main use-cases:

Balance inquiry, Sending Assets on the ETH network (Address to Address Tx).
Smart Contract Function interactions (ETH network, Layer 1's & Layer 2's network).

In my suggestion having the docs showcase how the two can be achieved; and as a plus show the difference between V1 and V2 when achieving these functionalities will greatly reduce the confusion.

Hello @rennylangat! That's a good feedback! We'll be considering it! Thanks!


"Infinite mode" or how to show indicators for a lot of pages?

Hello,
first of all, good work with everything. I have a lot of pages in my pageviewer (more than 60 entries) and i'm trying to implement that only 3 or 4 (or any other small number) of indicators is visible and that the selected one is in the middle and when you scroll on either side it just repeats until you reach the end. Currently if i implement the indicator, it tries to show a dot for every page in the page adapter and because i have so many they don't fit on the layout plus  it looks very ugly. Any suggestions how to implement it?

Sorry, It will not supported.
In this case，I think you can use another lib or use numbers
e.g. https://github.com/ManuelPeinado/NumericPageIndicator


split term: MONDO:0008345 'idiopathic pulmonary fibrosis'

Term to split:
MONDO:0008345 'idiopathic pulmonary fibrosis'

[x] obsolete MONDO:0008345 'idiopathic pulmonary fibrosis'

[x] add new OMIMPS:
[Term]
id: MONDO:0031199
name: inherited interstitial lung disease
xref: OMIMPS:619611 {source="MONDO:equivalentTo"} ! interstitial lung disease
is_a: MONDO:0003847 {source="OMIMPS:619611"} ! l'Mendelian disease'
relationship: has_modifier MONDO:0021152 {source="OMIMPS:619611"} ! inherited

[x] add new term:

[Term]
id: MONDO:0800029
name: interstitial lung disease 2
def: "A nonneoplastic pulmonary disease that is characterized by the formation of scar tissue within the lungs in the absence of any known cause." [Orphanet:2032, https://orcid.org/0000-0001-5208-3432]
subset: gard_rare {source="GARD:0008609"}
subset: ordo_disease {source="Orphanet:2032"}
synonym: "CFA" EXACT ABBREVIATION [Orphanet:2032]
synonym: "cryptogenic fibrosing alveolitis" EXACT [DOID:0050156, Orphanet:2032]
synonym: "familial idiopathic pulmonary fibrosis" RELATED [GARD:0008609]
synonym: "fibrocystic pulmonary dysplasia" EXACT [DOID:0050156, OMIM:178500]
synonym: "fibrosing alveolitis" RELATED [GARD:0008609]
synonym: "fibrosing alveolitis, cryptogenic" EXACT [OMIM:178500]
synonym: "Hamman-rich disease" EXACT [OMIM:178500]
synonym: "idiopathic pulmonary fibrosis, familial" EXACT [DOID:0050156, OMIM:178500]
synonym: "interstitial pneumonitis, usual" EXACT [OMIM:178500]
synonym: "ILD2" EXACT ABBREVIATION [OMIM:178500]
synonym: "IPF" EXACT ABBREVIATION [MONDO:Lexical, OMIM:178500]
synonym: "pulmonary fibrosis, idiopathic" RELATED [MONDO:Lexical, OMIM:178500]
synonym: "UIP" EXACT ABBREVIATION [Orphanet:2032]
synonym: "usual interstitial pneumonia" EXACT [Orphanet:2032]
xref: DOID:0050156 {source="MONDO:equivalentTo", source="EFO:0000768"}
xref: EFO:0000768 {source="DOID:0050156", source="MONDO:equivalentTo"}
xref: GARD:0008609 {source="MONDO:equivalentTo"}
xref: ICD10:J84.1 {source="ORDO:2032/ntbt", source="Orphanet:2032"}
xref: ICD10:J84.112 {source="DOID:0050156", source="MONDO:equivalentTo"}
xref: ICD9:516.31 {source="DOID:0050156", source="EFO:0000768"}
xref: MedDRA:10021240 {source="Orphanet:2032", source="ORDO:2032/e"}
xref: MESH:D054990 {source="DOID:0050156", source="MONDO:equivalentTo", source="EFO:0000768", source="Orphanet:2032", source="ORDO:2032/e"}
xref: NCIT:C35715 {source="DOID:0050156"}
xref: NCIT:C35716 {source="DOID:0050156", source="MONDO:equivalentTo", source="EFO:0000768"}
xref: OMIM:178500 {source="DOID:0050156", source="MONDO:equivalentTo", source="EFO:0000768", source="Orphanet:2032", source="ORDO:2032/e"}
xref: OMIM:614742 {source="MONDO:relatedTo", source="EFO:0000768"}
xref: OMIM:616371 {source="MONDO:relatedTo", source="ORDO:2032/btnt", source="EFO:0000768", source="Orphanet:2032"}
xref: OMIM:616373 {source="MMONDO:relatedTo", source="ORDO:2032/btnt", source="EFO:0000768", source="Orphanet:2032"}
xref: Orphanet:2032 {source="MONDO:equivalentTo", source="OMIM:178500"}
xref: Orphanet:79126 {source="MONDO:relatedTo", source="OMIM:178500"}
xref: SCTID:196125002 {source="DOID:0050156", source="MONDO:equivalentTo"}
xref: SCTID:233721005 {source="DOID:0050156"}
xref: SCTID:237121003 {source="DOID:0050156"}
xref: SCTID:28168000 {source="DOID:0050156"}
xref: SCTID:426437004 {source="DOID:0050156"}
xref: SCTID:700250006 {source="EFO:0000768"}
xref: UMLS:C0085786 {source="MONDO:notFoundInDiseaseSubset", source="Orphanet:2032"}
xref: UMLS:C1800706 {source="NCIT:C35716", source="DOID:0050156", source="NCBI:mim2gene_medline", source="MONDO:notFoundInDiseaseSubset", source="OMIM:178500", source="Orphanet:2032"}
is_a: MONDO:0002429 {source="DOID:0050156", source="MESH:D054990", source="MONDOLEX:0008345", source="Orphanet:2032", source="https://en.wikipedia.org/wiki/Idiopathic_interstitial_pneumonia"} ! idiopathic interstitial pneumonia
is_a: MONDO:0002771 {source="MESH:D054990", source="NCIT:C35716", source="linkedlifedata"} ! pulmonary fibrosis
is_a: MONDO:0100137 {source="PMID:29804726"} ! telomere syndrome
is_a: MONDO:0031199 {source="OMIM:619611"} ! telomere syndrome
relationship: disease_has_location UBERON:0002048 {source="EFO:0000784"} ! lung
property_value: seeAlso https://rarediseases.info.nih.gov/diseases/8609/idiopathic-pulmonary-fibrosis xsd:anyURI {source="GARD:0008609"}

[x] add logical def that includes gene (see OMIM: https://omim.org/entry/178500) (need to check this, the PS children may only be differentiated by AD and AR, not separate genes)
[ ] Related to https://github.com/monarch-initiative/mondo/issues/4498

MONDO:0800029 'interstitial lung disease 2' is defined as both idiopathic and with known cause -variation in SFTPA2.
We need to review this.

MONDO:0800029 'interstitial lung disease 2' is defined as both idiopathic and with known cause -variation in SFTPA2. We need to review this.

This is an interesting case.
Orphanet describes this as idiopathic but there are 14 genes associated with it.
In OMIM, there synonyms that describe this as idiopathic and the description of the disease also mentions idiopathic.
I think the best path forward would be to contact Ada and Orphanet, and/or try to discuss this with Ada on the medical experts call. Maybe the best solution would be to make the idiopathic synonyms 'related' instead of exact.

⏫ emailed Ada and David on 2024-09-05


spirv-val: Label VUID 07290

VUID-StandaloneSpirv-Input-07290 was added in the Vulkan 1.3.227 spec

rebased so will pass CI with new glslang


KAFKA-12380 Executor in Connect's Worker is not shut down when the worker is

added shutdown for executors and tests for the same
Committer Checklist (excluded from commit message)

[x] Verify design and implementation
[x] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

I could not find the exact failed testcases. I can see assertion errors in StreamsUncaughtExceptionHandlerIntegrationTest. If I run it locally, it's taking forever.
Can someone help me find the failed tests?
The change I added is very isolated. Should not cause any failures ideally.

I downloaded the console log and a grep showed below tests
cat consoleText.txt| grep FAILED
[2022-03-28T14:02:18.545Z] SocketServerTest > testIdleConnection() FAILED
[2022-03-28T14:44:11.437Z] TransactionsBounceTest > testWithGroupId() FAILED
[2022-03-28T14:59:52.526Z] DynamicConnectionQuotaTest > testDynamicListenerConnectionCreationRateQuota() FAILED
[2022-03-28T15:04:10.646Z] KRaftClusterTest > testLegacyAlterConfigs() FAILED
all of them are successful if ran individually

@karuturi , thanks for the PR. But I found there was a long pending PR that is addressing the same issue (https://github.com/apache/kafka/pull/10337). Could we wait for a few days to see if the author wants to continue the old PR or not, before we start review this PR? (I've left a comment in that PR).
Thanks.

@showuon Sure, can wait.
Hope we will merge one of them soon :)

Hi @showuon
As there is no response on the other PR, can we take this forward?

@showuon Can we merge this please?

Failed tests are unrelated:
Build / JDK 8 and Scala 2.12 / kafka.network.ConnectionQuotasTest.testListenerConnectionRateLimitWhenActualRateAboveLimit()

@karuturi , thanks for the contribution!


variable mismatch and missing :endif errors

Updated and now I get this error constantly.
Error detected while processing function lightline#update_once[2]..lightline#update[3]..lightline#col
orscheme[9]..lightline#highlight:
line   22:
E706: Variable type mismatch for: q
Error detected while processing function lightline#update_once[2]..lightline#update:
line    3:
E171: Missing :endif
Error detected while processing function lightline#update_once:
line    2:
E171: Missing :endif

I fixed the possible bug that causing this error. Please update the plugin.

Yea, it had to do with my colorscheme. I have to define the tabline colors even if I don't use them.
But fixed now, thanks!


[libressl] Fail if openssl is installed

The artifact cache key doesn't depend on openssl, so the presence of openssl must not change the package contents.
As already handled in boringssl.
Note: libressl is skipped in vcpkg CI. So the added test port does not run in CI, but can be used manually.
Related: https://github.com/microsoft/vcpkg/issues/40915#issuecomment-2345306311

Thanks for the new tests!


buy from Drognan

Lysander does not sell ID scroll, when it runs out the bot will stuck.
Click once at the start of a run to ensure it is not holding anything at hand. Otherwise it get stuck.

holding an item happens when she tries to ID an item, but ID tome is empty, so it turns into a "grab". I guess if buying ID scroll problem is taken care of, there is no reason for she to grab one item in hand.

That's a very good point. I'm not 100% sure how to properly solve this problem, we have different options:

Keep identifying items until we run out of IDs, then just stash those items unid
Ensure that we have enough IDs before we start identifying (count number of unid items and if IDs is lower, go to vendor to refill)
Use Cain (I don't like this option because Cain might be not available or maybe at some point we can add support for stashing some items unid).

I think ensuing ID scroll is bigger than 0 makes the most sense.
Also really like the idea of identifying items immediately after picking up and throwing out junk without going back to town. This will save a lot of time going back and forth, and allow the player to carry more charm (less space to store junk)


No "dji_split.py"

The "dji_split.py" file is mentioned in firmware_package_structure.md, but not provided.
Is this expected, or just a mistake?

I don't have it. Sorry.

No problem. With the documentation in place, I can easily write it.

https://www.dropbox.com/s/i9n51s5sliiufvz/dji_split.py?dl=0

Excellent @coptersafe may I include it in this repository? Thanks

Hm, I already created my own version on my branch:
https://github.com/mefistotelis/phantom-licensecheck/blob/master/dji_split.py
Oh well, better two than none.

next stage  -  dji_packer for making custom binary  with different modules. first prototype almost work.

m0100 = 01  camera
m0101 = 21  camera
m0305 = a3 main controller A3 LDR
m0306 = c3 main controller A3 APP
m0400 = 04 gimbal
m0500 = 05 central board
m0700 = 07
m0800 = 08 DaVinchi Dm365 Linux - video encoder
m0801 = 28 IG810 LB2_ENC
m0900 = 09 NXP LPC1765
m1000 = 0a
m1100 = 0b battery controller APP
m1101 = 2b battery
m1102 = 4b battery
m1103 = 6b battery
m1104 = 8b battery
m1105 = ab battery
m1106 = cb battery
m1200 = 0c  esc0(1)
m1201 = 2c  esc1(2)
m1202 = 4c  esc2(3)
m1203 = 6c  esc3(4)
m1204 = 8c  esc4(5)
m1205 = ac  esc5(6)
m1206 = cc  esc6(7)
m1207 = dc  esc7(8)
m1300 = 0d DaVinchi Dm365 Linux - video decoder
m1301 = 2d DaVinchi Dm385 Linux - video decoder
m1400 = 0e похоже на lpc от наземки lb2
m1401 = 2e
m1500 = 0f
m1501 = 2f IG810 LB2_68013_TX
m1600 = 10 IG810 LB2_68013_RX ground - c1
m1601 = 30
m1700 = 11 vps camera
m1701 = 31 vps sonar
m1800 = 12
m1900 = 13 FPGA air
m2000 = 14 FPGA ground
m2001 = 34 FPGA ground
m2002 = 54 FPGA ground
m2003 = 74 FPGA ground LB2
m2500 = 19  imu A3
m2501 = 39  imu A3
m2600 = 1a
m2601 = 3a
m2700 = 1b
m2900 = 1d  pmu A3 APP
m2901 = 3d  pmu A3 LDR

yes, no problem.
2016-08-03 16:17 GMT+03:00 probonopd<EMAIL_ADDRESS>
Excellent @coptersafe https://github.com/coptersafe may I include it in
this repository? Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/probonopd/phantom-licensecheck/issues/3#issuecomment-237231864,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATLWqC00s0j2ueU2nYDbIg5gvxb8MjSRks5qcJTsgaJpZM4JTNIe
.

--
С уважением,
Былич Андрей.

A3\A3_FW_V<IP_ADDRESS>.bin
A3\A3_FW_V<IP_ADDRESS>.bin
A3\A3_FW_V<IP_ADDRESS>.bin
A3\A3_FW_V<IP_ADDRESS>.bin
A3\A3_FW_V<IP_ADDRESS>.bin
FLIR\MATRICE100_FLIR_FW_V<IP_ADDRESS>.bin
FLIR\MATRICE600_FLIR_FW_V<IP_ADDRESS>.bin
FLIR\MATRICE600_FLIR_FW_V<IP_ADDRESS>.bin
FLIR\WM610_FLIR_FW_V<IP_ADDRESS>.bin
FLIR\WM610_FLIR_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>_PC.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>_PC.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>_PC.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>_PC.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>_PC.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>_PC.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>_PC.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
HG300\HG300_FW_V<IP_ADDRESS>_PC.bin
HG300\HG300_FW_V<IP_ADDRESS>.bin
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>inspire1\C1_FW_V<IP_ADDRESS>.BIN
inspire1\C1_FW_V01.05.0070.BIN
inspire1\WM610_FC550_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FC550_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FC550_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
inspire1\WM610_FW_V<IP_ADDRESS>.BIN
LB2\C1_FW_V01.01.0000.bin
LB2\C1_FW_V01.01.0010.bin
LB2\C1_FW_V01.01.0020.bin
LB2\C1_FW_v01.01.0030.bin
LB2\C1_FW_v01.01.0035.bin
LB2\C1_FW_v01.01.0040.bin
LB2\C1_FW_v01.01.0050.bin
LB2\LBTX_FW_V01.01.00.bin
LB2\LBTX_FW_V01.01.0010.bin
LB2\LBTX_FW_V01.01.0030.bin
LB2\LBTX_FW_V01.01.0031.bin
LB2\LBTX_FW_V01.01.0040.bin
M100\MATRICE100_FW_V<IP_ADDRESS>.bin
M100\MATRICE100_FW_V<IP_ADDRESS>.bin
M100\MATRICE100_FW_V<IP_ADDRESS>.bin
M100\MATRICE100_FW_V<IP_ADDRESS>.bin
M100\MATRICE100_FW_V<IP_ADDRESS>_pc.bin
M100\MATRICE100_FW_V<IP_ADDRESS>_pc.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
M600\MATRICE600_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO\OSMO_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5\OSMO_FC550_FW_V<IP_ADDRESS>.bin
OSMO_X5R\OSMO_FC550R_FW_V<IP_ADDRESS>.bin
OSMO_X5R\OSMO_FC550R_FW_V<IP_ADDRESS>.bin
OSMO_X5R\OSMO_FC550R_FW_V<IP_ADDRESS>.bin
OSMO_X5R\OSMO_FC550R_FW_V<IP_ADDRESS>.bin
OSMO_X5R\OSMO_FC550R_FW_V<IP_ADDRESS>.bin
OSMO_X5R\OSMO_FC550R_FW_V<IP_ADDRESS>.bin
OSMO_Zoom\OSMO_FC350Z_FW_V<IP_ADDRESS>.bin
OSMO_Zoom\OSMO_FC350Z_FW_V<IP_ADDRESS>.bin
OSMO_Zoom\OSMO_FC350Z_FW_V<IP_ADDRESS>.bin
OSMO_Zoom\OSMO_FC350Z_FW_V<IP_ADDRESS>.bin
OSMO_Zoom\OSMO_FC350Z_FW_V<IP_ADDRESS>.bin
OSMO_Zoom\OSMO_FC350Z_FW_V<IP_ADDRESS>.bin
P3\C1_FW_V01.03.0020.bin
P3\C1_FW_V01.05.0070.bin
P3\P3XS_FW_RC_V01.03.0020.bin
P3_ADV\P3S_FW_V01.01.0008.bin
P3_ADV\P3S_FW_V01.01.0009.bin
P3_ADV\P3S_FW_V01.04.0005.bin
P3_ADV\P3S_FW_V01.05.0030.bin
P3_ADV\P3S_FW_V01.06.0040.bin
P3_ADV\P3S_FW_V01.07.0043_beta.bin
P3_ADV\P3S_FW_V01.09.0021.bin
P3_ADV\P3S_FW_V01.09.0060.bin
P3_PRO\P3X_FW_V01.01.0009.bin
P3_PRO\P3X_FW_V01.04.0005.bin
P3_PRO\P3X_FW_V01.05.0030.bin
P3_PRO\P3X_FW_V01.06.0040.bin
P3_PRO\P3X_FW_V01.07.0043_beta.bin
P3_PRO\P3X_FW_V01.08.0080.bin
P3_PRO\P3X_FW_V01.09.0060.bin
P34K\P3XW_FW_V01.01.0000.bin
P34K\P3XW_FW_V01.02.0010.bin
P34K\P3XW_FW_V01.03.0010.bin
P34K\P3XW_FW_V01.03.0020.bin
P34K\P3XW_FW_V01.04.0036.bin
P34K\P3XW_FW_V01.04.0037.bin
P34K\P3XW_FW_V01.05.0040.bin
P3C\P3C_FW_V01.00.0014_Beta.bin
P3C\P3C_FW_V01.00.0017_Beta.bin
P3C\P3C_FW_V01.00.0020.bin
P3C\P3C_FW_V01.01.0030.bin
P3C\P3C_FW_V01.02.0040.bin
P3C\P3C_FW_V01.03.0050.bin
P3C\P3C_FW_V01.04.0050.bin
P3C\P3C_FW_V01.04.0060.bin
P3C\P3C_FW_V01.05.0074.bin
P3C\P3C_FW_V01.05.0075.bin
P3C\P3C_FW_V01.07.0082.bin
P3C\P3C_FW_V01.07.0084.bin
RC_TEST\C1_FW_V00.01.0000_ForIN2.bin
RC_TEST\C1_FW_V01.04.0030.bin
RC_TEST\C1_FW_v01.05.0071.bin
RC_TEST\C1_FW_V01.05.0073.bin
RC_TEST\C1_FW_V01.05.0080.bin
RC_TEST\C1_FW_V01.06.0000.bin
RC_TEST\C1_FW_V01.06.0020.bin
RC_TEST\C1_FW_V01.06.0021.bin
RC_TEST\C1_FW_v01.07.0000.bin
RC_TEST\C1_FW_v01.07.0002.bin
RC_TEST\C1_FW_v01.07.0030.bin
RC_TEST\C1_FW_v01.07.0040.bin
RTK\RTK_FW_V<IP_ADDRESS>.BIN
RTK\RTK_FW_V<IP_ADDRESS>.bin
RTK\RTK_FW_V<IP_ADDRESS>.bin
RTK\RTK_FW_V<IP_ADDRESS>.bin
RTK\RTK_FW_V<IP_ADDRESS>.bin
RTK\RTK_FW_V<IP_ADDRESS>.bin
RTK\RTK_FW_V<IP_ADDRESS>.bin
RTK\RTK_FW_V<IP_ADDRESS>.bin
RTK\RTK_FW_V<IP_ADDRESS>.bin
RTK\RTK_FW_V<IP_ADDRESS>.bin
RTK\RTK_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin
ZT300\ZT300_FW_V<IP_ADDRESS>.bin

I don't think I understand.. what is that list? pins? are the sockets marked m## on the phantom board?

each firmware bin consist from few modules  , each module have type and version firmware of module like this
http://image.prntscr.com/image/8c7c00adc81043da9d2042babb04b6f6.png
each module like  a3_(<IP_ADDRESS>).hex -> a3 = m0305  = firmware for main controller A3 LDR(loader)

I can see the type/target byte, but I still can't understand what the m#### markings are. How do you make a3 = m0305 ?

m - module , 03 -type of hardware , 05 - subtype hardware

Now I understand - 3 bits for type, 5 bits for subtype. Thanks!
I think your interpretation of version is not as DJI intended - in your "dji_split.py" you're assuming module version are 4x 8-bit numbers. but - try looking at module of type 21=m0101. The module starts with version number written at text. To get the same version from modules catalogue, you need to assume version consists of 3 numbers: 8-bit, 8-bit, 16-bit.

"m"- this is my mod . Dji  for marking (for example - a3)  used two byte -> first byte is a subtype "a" = 10/2 =  05, second byte is a type  "3" = 03
and etc ..

I renamed my extractor and moved it to different project, to avoid confusion.
From now on it will be here:
https://github.com/mefistotelis/phantom-firmware-tools/blob/master/dji_fwcon.py

I'm staring at the unknown fields for hours, but cannot make much sense out of them.
The only way to know their meaning may be to extract and disassemble the binary which updates firmware. I'll try that.

what U mean?

For example this is my struct for main header:
fields = [('magic', c_char * 6),
('hdrend_offs', c_ushort),
('reserved8', c_ushort),
('version', c_ushort),
('manufacturer', c_char * 16),
('model', c_char * 16),
('entry_count', c_ushort),
('reserved2E', c_int),
('reserved32', c_int),
('padding', c_ubyte * 10)]
There are 'reserved8', 'reserved2E' and 'reserved32' which I don't understand. Also I cannot match 'version' value to the firmware version indicated by file name.
And in headers of firmware entries, there's the second md5 value. For most entries it is same as first MD5, but ESC firmwares have them both different. I have no idea why.

about second md5 in ESC  - i think md5 is same but second md5 XORed or any other simple algoritm coding..

I made an extractor for Ambarella A9 firmware partitions, now I have to extract single files from partitions - and I should have the firmware updater binary. The partitions are likely in the same format as in Ambarella A7, and for A7 there's an extractor ready - Ambarella Firmware Toolbox. So I should have the binary soon.

I also have Amba parser  . Amba firmware have a 4-5 file (mtd partitions)
21 авг. 2016 г. 3:15 PM пользователь "mefistotelis" <
<EMAIL_ADDRESS>написал:

I made an extractor for Ambarella A9 firmware partitions, now I have to
extract single files from partitions - and I should have the firmware
updater binary. The partitions are likely in the same format as in
Ambarella A7, and for A7 there's an extractor ready - Ambarella Firmware
Toolbox. So I should have the binary soon.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/probonopd/phantom-licensecheck/issues/3#issuecomment-241254164,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATLWqOKn_DrGFOa6dsSKsSncEovWNw1Vks5qiEFGgaJpZM4JTNIe
.

There are actually two different Ambarella firmwares in the DJI P3 firmware - one has 5 partitions, and second only has one. The type of partition is indicated by its position in the array, so the second firmware only has "pri" partition, while first has "bst", "bld", "hal", "pri", "rfs".

For what you need Amba bin  file? If you need i can send all from Amba
linux.
21 авг. 2016 г. 3:18 PM пользователь "Andrey Bylich" <
<EMAIL_ADDRESS>написал:

I also have Amba parser  . Amba firmware have a 4-5 file (mtd partitions)
21 авг. 2016 г. 3:15 PM пользователь "mefistotelis" <
<EMAIL_ADDRESS>написал:

I made an extractor for Ambarella A9 firmware partitions, now I have to
extract single files from partitions - and I should have the firmware
updater binary. The partitions are likely in the same format as in
Ambarella A7, and for A7 there's an extractor ready - Ambarella Firmware
Toolbox. So I should have the binary soon.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/probonopd/phantom-licensecheck/issues/3#issuecomment-241254164,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATLWqOKn_DrGFOa6dsSKsSncEovWNw1Vks5qiEFGgaJpZM4JTNIe
.

Remember that the objective of this project is to proof that GPL software is in the DJI/Ambarella firmware, so for that it would be very useful to be able to extract all parts of the firmware including Ambarella, if it contains Linux/GPL code too.

Thank you, coptersafe :)
I think I will extract these by myself; I will likely want to have a tool for re-packing the Ambarella firmware back. I have my own 'agenda' besides the GPL-proofing.
But I'd appreciate any help with Amba format and headers.
Tha main header consists of:
fields = [('description', c_char * 36),
('crc32', c_uint)]
And then goes a list of partitons:
fields = [('dt_len', c_uint),
('crc32', c_uint)]
After the partition list there are some constant numbers:
fields = [('params', c_uint * 15)]
Each partition has a header before it:
fields = [('crc32', c_uint),
('version', c_uint),
('build_date', c_uint),
('dt_len', c_uint),
('dt_mem', c_uint),
('flag1', c_uint),
('magic', c_uint),
('flag2', c_uint),
('padding', c_ubyte * 224)]
The partition header I can (almost) fully understand (besides of the flag fields, but they're not that important). But for the other headers - I have holes in my understanding:

how many partitions are there in a file - there doesn't seem to be a field for amount of entries. Currently I'm just looking for a beginning of the constant numbers that follow, but I don't think this is the correct way.
how are crc32's computed. The crc32 within partition header can be computed like the CRC32 from ZIP format, using the whole partiton data (without header) as input. But there are CRCs in the partiton list and I wasn't able to find a way of computing them so that they would match.
what are the 'constant numbers'. I have no clue.

Checking System Software
Verifying image CRC ... done
   length:         9269056

   crc32:          0x56f034c9

   ver_num:        1.0

   ver_date:       2016/3/24

   img_len:        9268800

   mem_addr:       0x0e600000

Checking DSP uCode
Verifying image CRC ... done
   length:         3889408

   crc32:          0xd97b99c4

   ver_num:        1.0

   ver_date:       2016/3/24

   img_len:        3889152

   mem_addr:       0x0ff00000

Checking System ROM Data
Verifying image CRC ... done
   length:         11624704

   crc32:          0xc6dfedab

   ver_num:        1.0

   ver_date:       2016/3/24

   img_len:        11624448

   mem_addr:       0x03c00000

Checking Linux Kernel
Verifying image CRC ... done
   length:         5038864

   crc32:          0xf6a51577

   ver_num:        1.0

   ver_date:       2016/3/24

   img_len:        5038608

   mem_addr:       0x00508000

Checking Linux Root FS
Verifying image CRC ... done
   length:         27001088

   crc32:          0xe1a3d123

   ver_num:        1.0

   ver_date:       2016/3/24

   img_len:        27000832

   mem_addr:       0x00001000

0-139   Header
40 байт  описание продукта
every module start from crc
first 256 bytes  - header of module
21 авг. 2016 г. 5:45 PM пользователь "mefistotelis" <
<EMAIL_ADDRESS>написал:
Thank you, coptersafe :)
I think I will extract these by myself; I will likely want to have a tool
for re-packing the Ambarella firmware back. I have my own 'agenda' besides
the GPL-proofing.
But I'd appreciate any help with Amba format and headers.
Tha main header consists of:
fields = [('description', c_char * 36),
('crc32', c_uint)]
And then goes a list of partitons:
fields = [('dt_len', c_uint),
('crc32', c_uint)]
After the partition list there are some constant numbers:
fields = [('params', c_uint * 15)]
Each partition has a header before it:
fields = [('crc32', c_uint),
('version', c_uint),
('build_date', c_uint),
('dt_len', c_uint),
('dt_mem', c_uint),
('flag1', c_uint),
('magic', c_uint),
('flag2', c_uint),
('padding', c_ubyte * 224)]
The partition header I can (almost) fully understand (besides of the flag
fields, but they're not that important). But for the other headers - I have
holes in my understanding:

how many partitions are there in a file - there doesn't seem to be a
field for amount of entries. Currently I'm just looking for a beginning of
the constant numbers that follow, but I don't think this is the correct way.
how are crc32's computed. The crc32 within partition header can be
computed like the CRC32 from ZIP format, using the whole partiton data
(without header) as input. But there are CRCs in the partiton list and I
wasn't able to find a way of computing them so that they would match.
what are the 'constant numbers'. I have no clue.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/probonopd/phantom-licensecheck/issues/3#issuecomment-241261754,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATLWqHAPBfshHk7D3cHCIhBuBIctVhWqks5qiGSWgaJpZM4JTNIe
.

I finished a tool to extract and re-create the RFS filesystem; there are two partitions in it within P3 firmware - "DSP uCode" and "System ROM Data". My scripts are here, btw:
https://github.com/mefistotelis/phantom-firmware-tools
@probonopd : I didn't made a text-based description of the RFS, but extraction tool is a python script and is commented where necessary,
Now I'm looking at the "Linux Root FS" partition - using "file" on it gives " UBI image, version 1"; but I'm not entirely convinced it is a standard UBI image - it won't mount.
@coptersafe : Were you able to mount/extract this UBI image?

The DJI firmware updater tool is stored on the Ambarella "System Software" partition - which is one of the not yet decoded. From my first look - it is unlikely that the partition consists of files, it looks more like a monolithic ARM executable. My plans now are to check whether it can be converted to an ELF.
If you know anything about this partition, please let me know.


Proposal to remove defaults for min / max in MinMaxAnnotationPlugin

Hi :)
As part of #1517, I noticed that min/max gets defaulted to -Double.MAX_VALUE/Double.MAX_VALUE by the MinMaxAnnotationPlugin when @Min/@Max is not present.
I wasn't expecting that, so when I generated my asciidoc, I was surprised to see a max value when I hadn't specified it. Is there a particular reason for the defaults?
I'd like to propose removing the defaults - if someone wants to specify a min/max, they can do it by specifying the appropriate annotation.  No min/max implies the default for that data type (there's no need to document it explicitly).
Failing that, the defaults should be a bit smarter. @Min/@Max can be applied to byte, short, int, long and their wrappers, as well as BigDecimal (which can be insanely big) - so Double.MAX_VALUE isn't always appropriate. It's a lot easier to just only use the provided values with no defaults.
This also applies to the DecimalMinMaxAnnotationPlugin from #1517.
Thoughts ??

There is no particular reason for the defaults other than to give it an explicit range. Im cool with omitting defaults if not specified

Cool, I'll submit a PR today then :)

Fixed via #1517


Turtles loosing connection 1.12.2

The turtles run great, I have a chunk loader with the mining turtle, however, after a certain distance the mining turtle will lose connection. Not sure why or what is causing it. Any help is appreciated
edit:
it should also be noted that I am playing on a server

I am on a server aswell but on 1.16.5 and had the same problem. It seems like the repeater will go down sometimes and a simple reboot seems to fix it. Hope that helps.


Entity icon shows eye instead of defined icon

When using for example battery entity with manually assigned entity class (in my case a MQTT sensor), the icon of eye is shown instead of the battery icon.

it seems to use eye for everything. and missing icon for "add" (plus sign) button

it seems to use eye for everything. and missing icon for "add" (plus sign) button

I've just noticed this issue too. Weirdly it is only for my ESPHome sensors:

The icons are set for the entities and do show up in other cards.

Same here, all entities are defined the same way but only one shows the correct icon:

Same here,
i get the eye-symbol in the bar-chart but when clicking on it, the entity-details show the correct one
(aqara multisensor via zigbee2mqtt)


Add missing badges and tests

Minor polishing after #124.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.307%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1598

Relevant Lines:
2410

💛  - Coveralls

Thanks, @dachengx, your fix helped running the tests and we could solve a few instances where they spotted issues.


Write tests for Request::Transaction(transaction::Hash)

Is your feature request related to a problem? Please describe.
The state RFC design includes a Request::Transaction(transaction::Hash).
This request is only required for Zcash client support. So we can implement it whenever we have time.
Describe the solution you'd like

Implement Request::Transaction(transaction::Hash)

[x] Implement and call methods on self.sled and self.mem, as appropriate
[ ] Write tests for the request

Describe alternatives you've considered
This feature is part of an approved design RFC.
Additional context
See the state RFC for the overall design.

The code was merged into the first alpha, but we still don't have tests

These tests either got done, or they are obsolete.


Not working

I tried setting it up on my local machine, but am unable to get it to work. Keeps alternating between the homepage and the authorization workflow. Cannot seem to figure out what I am doing wrong. Goes to the authorization flow, comes back with the code to the home page where it asks for BIM360 login again.

Okay it seems it just wasn't refreshing the page. When I tried ctrl F5, it did refresh n show the hubs, projects, modelsets n all.
But the issue now is that no matter which modelset i try, it always fails. I can see in nodejs command prompt the error says "SyntaxError: Unexpected token  in JSON at position 0"
I can see folders created in the ClashData folder n also json files in it, but not sure yet which file exactly has that invalid json.


Datatype problem in IMEM because of uppercase keywords

This fails, probably because of uppercase keywords:

@walter-weinmann  @acautin
Can we suppress upper case keywords in dderl for imem?
Should we lowercase keywords in this situation?
Can the error message be improved?

@walter-weinmann can correct me if I am wrong but I think there is an option to preserve casing when folding the parsetree, we could add that option to dderl if you think it is a good idea, maybe when the flat option is used. But of course we lose the normalization of the queries.

probably related to https://github.com/K2InformaticsGmbH/sqlparse/issues/136

There is an option, please see:
https://github.com/K2InformaticsGmbH/sqlparse/wiki/Formatting-Features

@stoch  & @acautin : can we close this issue ?


Can't get around this problem occuring right when I train it..

ValueError: Using a target size (torch.Size([10, 1, 64, 64])) that is different to the input size (torch.Size([16, 1, 64, 64])) is deprecated. Please ensure they have the same size.

Hi,
looks like one of the loss functions causes this error due to a batch of 10 and a batch of 16 as inputs.
May I ask if this error occurs right at the beginning or at the end of an epoch...I guess this happens at the end of an epoch, with the last batch?
I tried to avoid getting this kind of error by getting the size of the actual batch dynamically, in case there are fewer images in the last batch than in the configured batch size. But seems to be a still a problem.
I my assumption is right, training with a batch size of 1 should work and one epoch can be trained without error. That's not a solution to the problem, I know, but maybe a trace to the error.
BR!

Hi,
after thinking about it again: Can you please have a look, if all image folders(photo/cartoon) contain the same amount of image after download?
Thanks and best regards!

Hi,
as this issue has no activity since a while, I'll close it. I hope this is okay, otherwise you're welcome to open it again! Thank you for adding this issue in general, every issue helps me to make this repo better, so thank you again!
Best regards


Commit() shoudn't throw when finds newly added key-value pairs in original file

See the bug described in #90
If we think it in the other way, we find another possible bug:
We have a config.ini file
Key=Value

Then we do
var config = new IniFileConfigurationSource("config.ini");
config.Load();
config.Set("Key", "NewValue");  // Update the value

Before we commit the change back to file, config.ini file is externally modified to
Key=Value
Key2=Value2

Then if we do config.Commit(), current implementation throws an exception saying that a new key is found in original config file.
Another possible approach is, instead of throwing, Commit() should generate a file with following content:
Key=NewValue
Key2=Value2

That is, although Key2=Value2 doesn't exist in memory (config source), because it appears in original config file, we preserve it in the result file. It gives developers more flexibility.
The drawback of approach above is: the result file of Commit() is not an exact copy of what you have in memory and it might be counterintuitive.
@Eilon @loudej which approach do you guys prefer?

We are removing Commit feature, see #143


Bot going back and forth, "visibility" issue?

In testing I've found this strange behaviour by the bot. Simply look at the gif.
There is only one way for the bot to get to me, and that is by taking the narrow way because the way on the main platform is blocked by a wall.
The bot is the player walking back and forth near the gold blocks. It is trying to find a way to me, the player on the right.
Does this have something to do with the bot's "view distance"? If so, how can this be turned up? And why can it see the bridge on the left from so far away, but "loses sight" of the bridge on the right almost immediately?
This does not happen in the opposite direction, i.e. with the player positions swapped.

Increasing the tick timeout should fix the issue https://github.com/PrismarineJS/mineflayer-pathfinder#botpathfinderticktimeout


Make guides more consistent

This PR:

Makes the guides use the words "style guide" consistently (rather than "styleguide")
Fixes inconsistencies in the headings

👍


added parser argument to support MPS by default

Please merge this PR once merging https://github.com/openai/whisper/pull/382

LGTM


Selective download

Greetings,
I would like to appreciate the dev creating this wonderful software.
Here is my modest suggestion for the next improvement/function: Allow user to select which document(s) to be downloaded.
To my best knowledge, not all files in a torrent are needed for a user such that there may be several formats of the same document in a single torrent. Thus, avoid redundant downloading definitely will save time for users.
Regards,

Thanks, this feature is in development.

Thanks, this feature is in development.

第一次用issue，只看了中文没看英文不好意思