[WIP][IBC] Implement ICS-02 Client Semantics

Note: This PR is still a WIP and will be rebased in the future to clean up the commits. Remaining for this PR: Documentation, GetHostClientState(), Tests?, ???
Description

Summary generated by Reviewpad on 18 Jul 23 22:38 UTC
This pull request includes several file diffs with various changes.
The file ibc/client/types/update.go is a new file that has been added. It contains the implementation of three methods: VerifyClientMessage, UpdateState, and UpdateStateOnMisbehaviour. These methods are used for verifying client messages, updating and storing client state information, and performing state changes on a client in case of detected misbehavior. There are also some pending implementation areas marked with TODO comments.
The file diff of consensus.go introduces a new file under the ibc/client/types package. It defines a ConsensusState struct, a NewConsensusState function, and several methods related to the Wasm client consensus state. These changes enhance the functionality of the IBC module by adding support for the Wasm client type and providing basic validation for the consensus state.
The file diff of handler.go shows changes related to the IBC handler interface. The IBCHandler interface has been removed and split into multiple interfaces per ICS component. Additionally, the IBCHostSubmodule interface now extends other interfaces and includes new methods for retrieving timestamps and creating ProvableStore instances.
The file provable_store_test.go includes additions to the test cases for the provable_store_test function. Specifically, a new test case for when the key is nil has been added, and the newPersistenceMock function has been updated to use a uint64 parameter instead of int64.
The file diff of ibc/client/events.go introduces a new file that adds several methods for emitting events related to client management in the IBC module. These methods are used for creating a client, updating a client, upgrading a client, and submitting a misbehavior. They emit IBC events using the EventLogger with appropriate attributes.
The file diff of ibc_event_module.go updates the import statements in the file for better consistency. It replaces the import path github.com/pokt-network/pocket/shared/core/types with github.com/pokt-network/pocket/shared/core/types. Additionally, it updates the method signatures to use core_types.IBCEvent instead of coreTypes.IBCEvent. These changes improve code readability and consistency.
The file diff of misbehaviour.go adds a new file that defines a type called "Misbehaviour" and implements methods such as ClientType and ValidateBasic. The ClientType method returns the type as a Wasm light client, and the ValidateBasic method checks if the "Data" field is empty. These changes enhance the IBC module by adding support for misbehavior detection and validation.
The file diff of handler_interface.go introduces changes related to the IBC handler interface. It includes updates to the IBCModule interface with a new HandleEvent method. It also introduces the new IBCHandler interface that interacts with different IBC sub-modules and provides methods for managing connection and channel lifecycles, as well as packet relaying. The interface also includes example methods for reference.
The file diff of client.go adds a new file that defines various types and methods related to an IBC client. It includes the ClientState struct with methods such as ClientType, GetLatestHeight, and Validate. Methods such as Status, GetTimestampAtHeight, Initialise, and more are implemented on the ClientState struct. The file provides types and methods for working with an IBC client.
The file diff of persistence_module.go modifies the function signature of GetIBCStoreEntry to change the type of the height parameter from int64 to uint64. This change indicates that the height parameter now expects an unsigned integer.
The file diff of client_manager.go introduces a new file that implements the ClientManager interface. It includes methods for interacting with an IBC light client and managing their lifecycle.
The file diff of header.go adds a new file in the IBC client package. It implements the modules.ClientMessage interface and defines a header struct. The header struct has methods such as ClientType and ValidateBasic for obtaining the client type and validating the header data.
The file diff of upgrade.go adds a new file that defines types and methods related to upgrading a client state. It includes the definition of structs such as verifyUpgradeAndUpdateStateInnerPayload and verifyUpgradeAndUpdateStatePayload. The file also defines a VerifyUpgradeAndUpdateState method on the ClientState struct, although it is currently commented out.
The file keys_ics02.go has minor changes that involve updating the import block for the package "fmt" and modifying the function parameter types and names.
The file queries.go is being added to the `ibc

Issue
Fixes #894
Type of change
Please mark the relevant option(s):

[x] New feature, functionality or library
[ ] Bug fix
[ ] Code health or cleanup
[ ] Major breaking change
[ ] Documentation
[ ] Other

List of changes

Adds ClientManager submodule to manage the client implementations
Adds the interface definitions and WASM implementations (in part minus the WASM bit) implementaions
Adds the Pocket ConsensusState and ClientState protobufs for use in Pocket WASM clients

Testing

[ ] make develop_test; if any code changes were made
[ ] make test_e2e on k8s LocalNet; if any code changes were made
[ ] e2e-devnet-test passes tests on DevNet; if any code was changed
[ ] Docker Compose LocalNet; if any major functionality was changed or introduced
[ ] k8s LocalNet; if any infrastructure or configuration changes were made

Required Checklist

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added, or updated, godoc format comments on touched members (see: tip.golang.org/doc/comment)
[ ] I have tested my changes using the available tooling
[ ] I have updated the corresponding CHANGELOG

If Applicable Checklist

[ ] I have updated the corresponding README(s); local and/or global
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added, or updated, mermaid.js diagrams in the corresponding README(s)
[ ] I have added, or updated, documentation and mermaid.js diagrams in shared/docs/* if I updated shared/*README(s)

@h5law This is a 1,494 −225 draft PR. Before I review:

Are you sure there is no way to break it down to make it easier for the reviewer? Focus on:

Independent functionality that can be merged in pieces
Putting yourself in the shoes of the reviewer who has to build context and understand/learn everything

Do you need a review on the whole thing right now or just a specific part? If it's the latter, please let us know which it is.

Without using the interface registry the WASM protobufs must be implemented in part (commented with a TODO where this will be fully implemented) which adds the majority of the code added. This cannot be separated without moving the ICS-02 implementation back in time to a non-working state, and everything else follows the same logic. If it helps we can ignore most of the ibc/client/*.go files related to the ibc/client/types/proto/wasm.proto file.

One potential option I see is having a PR that only contains the:

Interface
Protobufs

That way we can discuss what the interface is (names, etc...) and then the implementation follows. This is a typical design pattern in larger projects but could be used here solely due to the size of the PR.
I'm not saying this is "the right way" to do it. It's the way that makes it easier for the reviewer. If you think it causes you too much overhead to maintain multiple PRs and you'd just prefer a longer cycle on this one. Happy to do that too!

This was put up in response to your comment here:

I've validated the following commit with make protogen_clean && make protogen_local:
61977ec (#916)
The issue was a matter of paths (i.e. go_out), relative imports (i.e. import "client/types/proto/wasm.proto";) and what was included (i.e. -I flag).

I'm not saying this is "the right way" to do it. It's the way that makes it easier for the reviewer. If you think it causes you too much overhead to maintain multiple PRs and you'd just prefer a longer cycle on this one. Happy to do that too!

@Olshansk I don't mind a longer cycle here, not in a rush to get this one in as I need to write the WASM code and get familiar with that side of thing + other tickets.
Personally I feel like once the review process begins it will become clearer why I dont think it should be split. It would require a lot of gutting the interface functions as they need the implementations to satisfy the interfaces. The logic for these implementations is largely missing bar some basic validation etc and using the already existing ICS-24 stores. Theres a lot of todo comments to actually carry out the implementation logic in another ticket already so this is mostly boilerplate (re the interface implementations)


avalanchego: 1.11.4 -> 1.11.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/ava-labs/avalanchego/releases.
meta.description for avalanchego is: Go implementation of an Avalanche node
meta.homepage for avalanchego is: https://github.com/ava-labs/avalanchego
meta.changelog for avalanchego is: https://github.com/ava-labs/avalanchego/releases/tag/v1.11.5
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.11.5 with grep in /nix/store/j6q62fypafdi96vnv081ap77fy78z0nr-avalanchego-1.11.5
found 1.11.5 in filename of file in /nix/store/j6q62fypafdi96vnv081ap77fy78z0nr-avalanchego-1.11.5

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

avalanchego

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/j6q62fypafdi96vnv081ap77fy78z0nr-avalanchego-1.11.5 \
  --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 avalanchego https://github.com/r-ryantm/nixpkgs/archive/c966cd01664758af0fde7b3b1a4352291917c435.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c966cd01664758af0fde7b3b1a4352291917c435#avalanchego

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/j6q62fypafdi96vnv081ap77fy78z0nr-avalanchego-1.11.5
ls -la /nix/store/j6q62fypafdi96vnv081ap77fy78z0nr-avalanchego-1.11.5/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 --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

avalanchego

Maintainer pings
cc @urandom2 @qjoly for testing.

Result of nixpkgs-review pr 308132 run on aarch64-darwin 1

1 package built:

avalanchego


Handle Paypal Access Token errors that does not contain error_description

Describe the bug and add screenshots
In https://github.com/202ecommerce/paypal/blob/develop/classes/API/Request/PaypalAccessTokenRequest.php#L57 when Paypal return JSON errors not containing the property error_description, the error handling code throw a notice:
Notice: Undefined property: stdClass::$error_description

After patching, here the JSON returned by Paypal:
{"name":"RATE_LIMIT_REACHED","debug_id":"XXXXXX","message":"Too many requests. Blocked due to rate limiting.","links":[]}

Expected behavior
The handling code should handle errors without the property error_description
Steps to reproduce

Try to rate-limit the Paypal API when associating a Paypal account
See the PHP error in return

PrestaShop version(s) where the bug happened
<IP_ADDRESS>
PHP version(s) where the bug happened
7.2

Thank you @MonsieurV these changes are implemented on 6.0.0.


Yuri's revenge mouse cannot scroll the list box

I think I know what you mean and maybe I found the problem.
Does this one here work?
cnc-ddraw.zip

Do you have any other contact information? Such as QQ

I think the language is not as clear as the picture

Because I have a few questions that you may not have solved

No I don't use QQ, but you can join the cncnet discord https://discord.gg/aJRJFe5
If you join, just tell me your name and I add you.
You can also add screenshots here btw.

I cannot access this link, my network does not support it

The only chat software I can use is QQ international

I can't register on QQ, I never receive the verification email :(
If you have some screenshot then just attach them here on github.

oh

Again, those two questions are unresolved

Under special circumstances

two questions? What else besides the list box?
Show me some screenshots of both :)

Unable to use mouse wheel

This is where the window is created

Window position should be fixed with the .zip i gave you, but you have to remove all posX and posY in ddraw.ini.
Listbox was also broken for me (after alt+tab it didn't scroll anymore) but I fixed that too.
Combobox is still broken, I didn't know about it, will have a look into it.
Original game did support scrolling via mousewheel? I have to test this on XP quick without cnc-ddraw...
Here is another build with listbox alt+tab fix + window position fix:
cnc-ddraw.zip

ddraw.dll version <IP_ADDRESS> ?

yes
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上6:46
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
ddraw.dll version <IP_ADDRESS> ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

This doesn't happen for me with <IP_ADDRESS>, so I don't know what's going on...

I tested it. It's the same problem
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:09
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
This doesn't happen for me with <IP_ADDRESS>, so I don't know what's going on...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

How did he create the window, possibly using the window size parameter of the previous window
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:09
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
This doesn't happen for me with <IP_ADDRESS>, so I don't know what's going on...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Old versions will just make the window bigger but keep the position, <IP_ADDRESS> will always center to screen.

I feel like it USES the size of the previous window
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:27
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
Old versions will just make the window bigger but keep the position, <IP_ADDRESS> will always center to screen.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I've identified the problem
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:27
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
Old versions will just make the window bigger but keep the position, <IP_ADDRESS> will always center to screen.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I think you have an old version, not <IP_ADDRESS>. Maybe something deletes your ddraw.dll?

He will use this location to create the game window
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:31
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
I think you have an old version, not <IP_ADDRESS>. Maybe something deletes your ddraw.dll?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Btw, you can't compile it from source code, I did not push the window position fix to the repo. I only gave you a test version with it applied in the .zip here.

Said was wrong
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:31
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
I think you have an old version, not <IP_ADDRESS>. Maybe something deletes your ddraw.dll?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I can't get on my github
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:35
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
Btw, you can't compile it from source code, I did not push the window position fix to the repo. I only gave you a test version with it applied in the .zip here.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

So what are you doing? You try to compile the source code? You don't use my test build?

I think I see a problem
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:38
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
So what are you doing? You try to compile the source code? You don't use my test build?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

The game window USES the location of the main menu window
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:38
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
So what are you doing? You try to compile the source code? You don't use my test build?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

When your main menu window has not changed, the game window will not change, the main menu window to change the position of the game window will use this position
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2019年8月12日(星期一) 晚上7:38
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [CnCNet/cnc-ddraw] Yuri's revenge mouse cannot scroll the listbox (#15)
So what are you doing? You try to compile the source code? You don't use my test build?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Not in the test build i gave you... The source code here on github does it, yes

I think you don't understand what I'm trying to tell you, maybe it helps if I raise the version number...
here <IP_ADDRESS> download:
cnc-ddraw.zip

I have tested it and it still appears, <IP_ADDRESS>

http://cnc.cloudns.pro/Test/index.php?video=2019-08-12_13-29-07.mp4

How do I upload video

I recorded a video, don't know how to upload it so that you can see it

You can maybe upload it here on github.
I added the version number to the top of the screen:
cnc-ddraw_<IP_ADDRESS>.zip

http://ra2kjhz.f96.hanming.pw/bandicam 2019-08-12 20-36-40-983.mp4

This doesn't happen to me. Why do you have ares.mix? What is WINYTXP?
I have normal yuris revenge (origin version), do you have a normal installation too for testing?

Mine is perfectly normal, too

If you don't believe me you can try packing a copy of yours

If you use ares (you inject a dll...) then try to use hook=2
You can see in the video that it moves the window on the correct position, then something is moving it back

So it's not a normal installation, you inject a dll with ares :P
Can you test it without ares?

http://ra2kjhz.f96.hanming.pw/bandicam 2019-08-12 22-42-39-732.mp4

http://ra2kjhz.f96.hanming.pw/bandicam 2019-08-12 22-42-39-732.mp4

Maybe this is the problem

How are you doing that?

I don't know

But there is something wrong with your program

syringe.log

This is ares's error report

Alexb says your application crashed while creating hooks

ares and microsoft detours might just not work well together. I also have it disabled when I use the MS debugger, see here: https://github.com/CnCNet/cnc-ddraw/blob/master/src/settings.c#L51
Anyways, I need to find out how I can make the game freeze for a moment just like it happens for you then I might be able to fix the bug with the resetting window position...

It happens when you are at the loading screen and click, if the loading time is too long then windows thinks the game is not responding. But my loading time is much faster than yours, it's hard for me to reproduce it :P

No, I didn't click the screen.

You can try to slow down your computer.

Yeah I will try it.
You can test this one here, it might work already:
cnc-ddraw.zip

OK, I try

May be more serious

Will not respond for about 2 seconds now

But does it move now?

The problem is still the same

I suggest you add these three options to try

I will try your settings tomorrow, I'm done for today. I post here again once I got some news.

OK

I have a new discovery.
I found that it first created the window in the center and then changed the location. The computer sometimes refreshes quickly and can't see it, so the window is not centered.

I have a new discovery.
I found that it first created the window in the center and then changed the location. The computer sometimes refreshes quickly and can't see it, so the window is not centered.

Yeah, I noticed that too in your video.
I think I got the problem fixed:
cnc-ddraw.zip

The window center issue has been fixed, but after moving the window, there will be a [no response] problem, which will not occur if the window has not moved.

I can't fix the "not responding" problem, it's not caused by cnc-ddraw (other ddraw.dll will do the same), this could only be fixed with a game patch. Tiberian Sun has the same problem.

Can the Red Alert 2 main menu window be set to a fixed border?
Or add a configuration to determine whether the created window has a fixed border

To prevent that from happening

I could set a fixed border, but then you also can't resize while playing because it's the same window

In general, the window size is not artificially changed

resizable=false
cnc-ddraw.zip

It's more normal now. I'll contact you if I find any other problems


Conflict with requestInterceptors in restangular.withConfig

Hi,
It seems that config.requestInterceptors is shared (and not cloned) between all configured restangular instances.
1. How to reproduce :

Create a configured restangular instance
Create a second configured restangular instance and add an interceptor with config.addFullRequestInterceptor() which logs something
Whatever the used restangular configured instance, the log is printed

2. Workarround :
In your config factories, clone the config.requestInterceptors before adding your specific interceptors :
return restangular.withConfig(RestangularConfigurer => {
    RestangularConfigurer.requestInterceptors = Array.from(RestangularConfigurer.requestInterceptors);
    RestangularConfigurer.addFullRequestInterceptor((element, operation, path, url, headers, params) => {
      console.log('foobar');
      return;
    });
 });

Well, this seems confusing indeed.
Restangular seems to be a REST API requester in a nutshell.
But what if you have two different needs in your app?
Let's say that you have an authorization API and a resource API, each of them on different domains and routes.
Configuring two different Restangular instances (through the restangular.withConfig() method), I'd like to add some Authorization header for the auth API only and then some API key on the resource API only.
That would be really handy to configure specific request interceptors on each restangular config so that none of them will leak and pollute the global config.
BTW, thanks @eroak for the workaround.

Hello @eroak, The second instance of restangular is extending existing restangular instance. That was the behavior of the restangular for angularjs.


Create a release plan for the next 2 milestones

[ ] Create milestones (following the release plans from qiskit-terra https://github.com/Qiskit/qiskit-terra/milestones)
[ ] Assign prioritized issues to include in the coming milestone

Created milestones https://github.com/Qiskit/qiskit-ibm-provider/milestones - i'll continue to update in the next couple days


unclear runtime exception when server address is already in use

Description
When running hello_server example twice, a runtime exception is thrown in the second instance by epoll_ctl in Epoll::addFd. In listener.cc, bind method, the socket cannot be bound because the address is already in use. However, the method continue with a closed unbound socket and will try to call poller.addFd which results in the runtime exception.
terminate called after throwing an instance of 'std::runtime_error'
  what():  epoll_ctl(epoll_fd, EPOLL_CTL_ADD, fd, &ev): Bad file descriptor

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

Fix
After trying to bind the socket to all addrinfo candidates, the code shouldn't execute the rest and maybe throw a runtime exception with a clear error message like it does a bit above (line 147).
        if (::bind(fd, addr->ai_addr, addr->ai_addrlen) < 0) {
            close(fd);
            perror("Server bind"); // Here we get the "address already in use"
            continue;
        }

More or less related to https://github.com/oktal/pistache/issues/217
If you think it requires any fix, I'd be happy to issue a PR :)

Hello SnoozeTime,
A PR to implement a fix sounds awesome.  I agree that once the problem is detected that pistache should not blindly proceed to use an unbound socket.

When you implement the fix, please add a unit test to verify proper behaviour.  They are relatively easy to add.  I can think of a few ways to obtain a TCP port that is free for testing bind() success, and later it should be trivial to just socket() and bind() a port in the unit test, then try to have pistache bind the same port and verify that the exception is thrown.

Great, I added a candidate PR.

Yes, you verified the fix, you can close the issue.  Thanks for the bug fix!


Ripple can try to set state after unmounting

If your click handler on a Ripple-wrapped component does a transition that unmounts the component, you end up with a warning because of this line:
Warning: setState(...): Can only update a mounted or mounting component. This usually
means you called setState() on an unmounted component. This is a no-op. Please check
the code for the undefined component.

This is very interesting. I think it may be one of those cases where it would be nice to use a setTimeout. Since the ripple has an animation, probably you'd want to watch it for some milliseconds before unmounting. In that scenario I think is perfectly justified, what do you think?

Yeah, I just noticed that the animation is essentially wasted because the transition happens so quickly, so I'll try the setTimeout.

It might be more elegant, and adaptable to changed animation times, if there was a prop for a rippleEnd callback (which could say, fire an action that lets the transition proceed).

Yeah, let's do that

any news on this fix guys?

I've added a callback onRippleEnded. It should be enough to use it if you are getting these errors. Coming in next release!


Feature/add cli tool for config

Creates a set of new command line tools that allow developers to generate their factories or configuration automatically.

@GeeH In case you missed it buried in the replies: we don't need zend-code after all, as ReflectionParameter::getClass() will work for us in PHP versions < 7.

Ironically, we use it in zend-code as well, just before falling back to
docblock annotations. :-)
On Sep 14, 2016 5:39 PM, "Daniel Gimenes"<EMAIL_ADDRESS>wrote:

@danizord commented on this pull request.
In src/Tool/FactoryCreator.php
https://github.com/zendframework/zend-servicemanager/pull/154:

                   'Cannot identify type for constructor argument "%s"; '

                   . 'no type hint, or non-class/interface type hint',

                   $argument->getName()

               ));

           }

           return true;

       }

   );

   if (empty($constructorParameters)) {

       return [];

   }

   return array_map(function ($parameter) {

       return $parameter->getType();

There's a good example here: https://github.com/phpspec/prophecy/blob/
a749c19621ba047a85e73b713e6e10836dd1f5c1/src/Prophecy/
Doubler/Generator/ClassMirror.php#L213-L232
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zendframework/zend-servicemanager/pull/154, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABlVydO8AEM9RnitLlf_s8CEtg5SGCiks5qqHe7gaJpZM4J8_G1
.

@weierophinney we still haven't added the cli tool for generating the class => factory mapping in the config, although the tool is there

Thanks, @GeeH!


Disabling alert asking for "always" permission

Why it is needed?
My app needs background location, but in some conditions and screens, it doesn't.
In one of that cases, when I request location with LOCATION_WHEN_IN_USE, I see this location modal ;

When I press "Allow While Using The App" now I get;

Which actually I don't need it in this case at all since It is unnecessary for the user to give background location on this screen. But I know that it appears because the background location is enabled on my app.
I am not sure if it is possible but mainly I want to be able to disable the second modal programmatically if that is possible.
Possible implementation
No response
Code sample
No response

Sorry that's not possible, that's how iOS is handling location permissions requests: https://developer.apple.com/documentation/corelocation/requesting_authorization_to_use_location_services


add some unit test cases

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@e168595). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #118   +/-   ##
=======================================
  Coverage        ?   69.02%
=======================================
  Files           ?       21
  Lines           ?     1330
  Branches        ?        0
=======================================
  Hits            ?      918
  Misses          ?      350
  Partials        ?       62

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 e168595...e1a77dd. Read the comment docs.


Fixing test flakiness

Hi,
The test  test_tree_regressors_multioutput_regression is flaky. It failed 41/3000 times that I ran. It seems the absolute difference can be much higher than the current threshold (1e-5).
Empirically, I observed a value of a maximum absolute difference of upto 3.7. Based on my experiments, the 99th percentile seems to be close to 4.5. Hence, I set this bound accordingly.
Please let me know if this makes sense. I am assuming there are no bugs in this case. I would be happy to incorporate any other suggestions that you may have.
Thanks!

Is this 1e-4.5 or 4.5? 4.5 is quite high.

It is 4.5 actually. In several cases the absolute difference exceeds 3. Do you think there is a possible bug? Or should the test be configured differently (such as more samples)?

4.5 is quite large, I am now thinking that maybe there is a bug somewhere? @scnakandala any idea?

4.5 seems a bug. But it is hard to see where it is coming from. I will check this.

do you know if this might be a bug in code or test?

I think that testing is ok, if it's a bug it is probably in the code.

@scnakandala any news on this?

Should we move this to a bug report rather than a PR?  I don't think it's acceptable to have atol=4.5 in our tests!

I did some digging into this and I think the solution is to revive @gyeongin previous pull request [1]. Basically, the problem seems to be GEMM tree implementation having a < condition instead of <= condition.
[1] - https://github.com/microsoft/hummingbird/pull/169

I see, and the other tree implementation were already using <= right? I am surprised this is popping up only now.

If I change to <= now I have failures in LightGBM with TVM.

This test's GEMM fails even with torch backend. Comparing only the *.predict_proba(X) I found that the differences are in the order of 10^-3 to 10^-2.

You it is failing with <= also for torch, right? Not that it is failing if we have just <.

Fixed by #511.


test: a simpler way to disable mocktime in p2p_initial_headers_sync.py

Issue being fixed or feature implemented
simplify mocktime disabling in p2p_initial_headers_sync.py
What was done?
How Has This Been Tested?
run p2p_initial_headers_sync.py
Breaking Changes
n/a
Checklist:
Go over all the following points, and put an x in all the boxes that apply.

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have made corresponding changes to the documentation
[ ] I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

closing in fav of #6242


Positive Development: Cretik's Report shows a 51% decline in hack loss compared to 2022

Date
2023
Description
CertiK released its recent report which states crypto hack losses declined 51% in 2023. The report records 751 security incidents in 2023 of about $1.8 billion in digital assets which is 51% lower compared to 2022 of about $3.7 billion. The whole report was published by blockchain firm Certik in its annual report under the title "Hack3D: The web3 security Report 2023". Among all the hacks the 47 incidents made a whopping $880 million loss because private keys were compromised. On the overall scale, Ethereum makes a $686 million loss in 224 incidents. Ronghui Gu, co-founder of Certik says it is a positive development and added "The growth of bug bounty platforms and other proactive security measures is a good sign. Hopefully, we will see a continued decline in losses throughout 2024".
Links
https://www.certik.com/resources/blog/7BokMhPUgffqEvyvXgHNaq-hack3d-the-web3-security-report-2023
Agreement

[X] I irrevocably agree to release my contribution under the CC-BY 3.0 License

Attribution name
Lucas
Personal link
No response

Covered this general type of report in the newsletter: https://citationneeded.news/issue-47-residual-garbage/


Adding Telos Token Card

Is your feature request related to a problem? Please describe.
Currently user does not have a way to see their Telos Balance, Send and Receive Telos.
Solution
Easily readable purple card that matches the aesthetic of the Telos Network.

SVG File for Background
https://drive.google.com/drive/folders/1_JMP2m59xEjuF-2K_6t5a7k9WNoQ3vnM?usp=sharing
Figma Page: https://www.figma.com/file/ngSzFRqlUjK4zD91ozJIaA/?node-id=11736%3A6816

This is the wrong shade of purple...

It's kinda too bright I think...

Testing send, works fine

@JGDoh I don't have the logo as SVG? That's a separate file.
The full card isn't useful as svg.

design is not really the TLOS color but looks better in the context


refactor(misc): Cleanup global store imports, speed up type-checking, simplify detect-secrets

Description
This does a few things:

Cleans up GlobalStore.tsx. Lots of unrelated stuff was in there
Fixes tsc type-checking speed. We were compiling our sourcecode when all we needed was type-checking. Babel compiles
Simplifies our detect-secrets config and makes it consistent with rest of artsy

cc @artsy/mobile-platform
PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a [feature flag], or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an [app state migration], or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

🍏


Fails for Content-Encoding: gzip

cross-fetch uses node-fetch under the hood, and json() decodes it ok. Example using cross-fetch https://github.com/rofrol/fetch-graphql-schema-custom.
What's the motivation for this checking?
https://github.com/graphcool/graphql-request/blob/9e689c94e5d90b3a238a1386b92a27bc96d8c20d/src/index.ts#L120-L124
Do we expect not a json in the body?
https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11

The idea behind this part of the implementation is when a server returns a response (typically an error) that's not JSON. Do you see any problem with this implementation or are you just curious?

I have a problem that like in a linked spec, returned Content-Encoding could be gzip, br or sth else.
And then this logic would not decode it.

Hmm I see! Does response.json() work automatically when Content-Encoding: gzip is set?

yes, I can decode compressed json with json()

So your suggested solution would be to replace the code above with:
// if (contentType && contentType.startsWith('application/json')) {
   return response.json()
//  } else {
//   return response.text()
// }

Is there no other way to also support gzipping while preserving the .text() fallback?

json() in try and text() in catch? Just a quick idea.

clone() before, maybe https://github.com/bitinn/node-fetch/blob/f6683aa49cf4f74f10ad8868836168cb8da28253/test/test.js#L1251

Getting text() and json() on one Response is forbidden per spec, so here clone() can help.
https://github.com/bitinn/node-fetch/issues/85#issuecomment-197197701

Sounds great! Can you create a PR for this? Ideally with a few tests cases for this.

WIP, can you try it? https://github.com/graphcool/graphql-request/pull/71

Closing because Content-Type was missing in juniper example. https://github.com/actix/actix-web/pull/153


RuntimeError

i dont want to change my pytorch version ,so i set "return_complex=False" in torch.stft()
but i got error while running torch.istft(),the problrm just like below:
/home/tewt/anaconda3/envs/hyj_test/lib/python3.9/site-packages/torch/functional.py:641: UserWarning: stft with return_complex=False is deprecated. In a future pytorch release, stft will return complex tensors for all inputs, and return_complex=False will raise an error.
Note: you can still call torch.view_as_real on the complex output to recover the old return format. (Triggered internally at ../aten/src/ATen/native/SpectralOps.cpp:862.)
return _VF.stft(input, n_fft, hop_length, win_length, window,  # type: ignore[attr-defined]
Traceback (most recent call last):
File "/home/tewt/Desktop/hyj_projects/CMGAN/src/hyj_test2.py", line 53, in
est_audio = torch.istft(est_spec_uncompress, n_fft, hop, window=torch.hamming_window(n_fft).cuda(),
RuntimeError: istft requires a complex-valued input tensor matching the output from stft with return_complex=True.
can anyone give some suggestions?

btw,my torch.version is '2.0.1+cu117'

Maybe this can help:
est_spec_uncompress = torch.stft(audio, n_fft, hop_length, win_length, window, return_complex=True)
est_spec_real_imag = torch.view_as_real(est_spec_uncompress)
est_audio = torch.istft(est_spec_uncompress, n_fft, hop, window=torch.hamming_window(n_fft)
However, you can have a separate virtual environment to install the specified torch version in the requirements and recheck.


JWT CredentialService should be working in a generic way. specific credential type information should be removed (e.g. Europass in WaltIdJwtCredentialService)

[x] Forward ProofConfig to JwtCredentialService and set values in VC claim
[x] Remove reference to Europass
[x] Set null-values in Dataprovider (to remove values of the VC claim)

See https://github.com/walt-id/waltid-ssikit/pull/16


Support empty (void) tags

@developit I'm actually not sure how it worked before without this feature, but it was producing things like <input type="text"></input> which is kind of wrong markup (though browsers understand it..).
In this PR I load list of empty tags from empty-tags module which I crated long time ago for OpenJSX. Though, if you think that it makes sense inline them directly into project (separate file but in the repo) then I'll do that.
I intentionally don't do any warning here when child elements are added to elements empty elements, but if that makes sense we can probably do that with a process.ENV === 'development' guard.

Thought: we might need to tell rollup to inline empty-tags

@developit Yeah, this is why I mentioned to just copy paste contents of that module to the repo.

@developit to inline it with rollup it seems that I need to use either node-resolve plugin or provide js:next entry for the empty-tags. Inlining it to the projects seems easier for me so I just did that. Is it okay for you?

Yup, I'm totally cool with that.  Think it's ready to merge with that inlined?

I think ready to merge now (if you don't have any other comments).

Looks great!

Great, thank you! 👍


[Sema] Allow catch blocks to rethrow errors when safe

A catch block can only be entered if the do block threw an error. In a
rethrows function, if the do block throws an error only under rethrows
conditions, then the catch block can only be entered under rethrows
conditions, which means the catch block can unconditionally throw and
it's still safe.
This enables code that looks like
func foo(f: () throws -> Void) rethrows {
    do {
        try f()
    } catch is SomeError {
        throw OtherError()
    }
}

Fixes SR-681.

Note: At the moment I haven't run any tests beyond decl/func/rethrows.swift. I'll start a test run locally once I get home if nobody asks @swift-ci to do it.

@swift-ci Please test

CC @rjmccall @jopamer

I'm not the right one to review this in depth, but this would be a great fix! There were a few places in the stdlib where we needed to use conditional defers when a catch would have been cleaner.

I think I need to make one change to this PR, to make do {} blocks that don't throw any errors at all also allow catch blocks to throw errors, because otherwise you'd get an error with something like
func foo(f: () throws -> Void) rethrows {
    do {
#if NotActive
        try f()
#endif
    } catch {
        throw error
    }
}

PR updated as described.

@swift-ci Please test

@swift-ci Please test

If we ever add typed errors to the language, then we'd want to make sure the only thing thrown is the error that was caught. Even now it might be a nice restriction that's still in the spirit of rethrows: the function will never throw its own errors.

@jrose-apple I agree about the type restriction with typed throws, but I don't think we can reasonably define "the function will never throw its own errors" without being needlessly restrictive. For example, my own code that motivated this change looks like
func scoped<T>(key: String, @noescape f: () throws -> T) rethrows -> T {
    do {
        return try f()
    } catch let error as JsonError {
        throw error.withPrefix(key)
    }
}

(where JsonError.withPrefix() returns a new error that has the given key prefixed onto the access path)
This function is not throwing its own error, it's merely modifying the error that was thrown, but I don't see how to define "throw its own errors" in any meaningful fashion that doesn't prevent this usage.

Updated PR to remove the CHANGELOG entry as that was the merge conflict. I guess CHANGELOG entries can be added later when doing so won't prevent the code from landing.

Well, it depends on whether "rethrows" means "only throws if the closure throws" or "only throws what the closure throws". That seems like an important distinction that may be worth discussion.

@jrose-apple We could certainly have such a discussion, but I just want to point out that right now rethrows is defined as:

A function or method can be declared with the rethrows keyword to indicate that it throws an error only if one of its function parameters throws an error.

There's nothing in the definition that says it only rethrows the same error that its parameter throws, merely that it cannot throw any error at all unless its parameter throws.
I'm also not sure what the benefit would be in adding the restriction that you propose. Can you give an example of why it would be useful? I can think of many situations where I want to throw a modified or wrapped error (such as my aforementioned scoped() example), but I can't think of any reason why prohibiting that would be useful.

I don't know. If the rethrows code is in a library, it seems weird to get an error out that I didn't throw. If I'm deliberately throwing an error that contains information about my crash, I'd be very upset if I couldn't catch it. Any client of a rethrowing function that actually wants to catch the error now needs to know how to get it out of the one that's actually thrown.
In your case you're augmenting the existing error with additional information, but there's no way to enforce that that's what's happening. It is clearly useful, though. @dabrahams, do you have any thoughts here?
(Additionally, if we're dealing with a library that's part of the OS, it might give me my error today, but then change its behavior next year. But this should probably fall under "technically permitted but discouraged" changes in LibraryEvolution.rst.)

I definitely agree that APIs should behave predictably about errors. And if we have typed errors, it seems reasonable that a rethrows function must throw from the same set of errors that the function argument does (I think that, ideally, a rethrows functions should be able to choose between rethrowing exactly what the function argument does, or always rethrowing from its own constant set of types, so that way rethrows functions can wrap arbitrary errors with their own error type if desired, but this is something that should be discussed in the context of typed errors, not in this PR).

In any case, regardless of how we decide to behave in the presence of typed throws, I think it makes a lot of sense to allow this PR's behavior for our current untyped throws.

Could I encourage anyone to please review this? I'm a little nervous about letting it sit long enough to develop merge conflicts, and I was also hoping to submit it for the Swift 2.2 branch once it got merged in (and the longer it takes for that, the lower my chances of getting it accepted).

Sorry, I missed this patch while I was out on vacation.  I'll take a look.

@rjmccall PR updated with the approach you suggested. I also removed the CHANGELOG entry for the time being since I'm hoping to submit this to the Swift 2.2 branch.

We're definitely not accepting this kind of change for Swift 2.2, sorry.

Darn. I was really hoping to be able to start using this in production code.

Re: swift 2.2, this would have been a candidate awhile ago, but the acceptance criteria laid out by Ted doesn't permit it at this point (we need convergence/bake time).

That looks great, thanks!
@swift-ci Please test.

Weird, the OS X build finished successfully but then failed attempting to set the status of some mystery commit:
Setting commit status on GitHub for https://github.com/apple/swift/commit/8ff1aaf0433c5ff6717f2bd0e299fadb9bac9cc1
ERROR: Step ‘Set build status on GitHub commit’ aborted due to exception:
java.io.FileNotFoundException: {"message":"No commit found for SHA: 8ff1aaf0433c5ff6717f2bd0e299fadb9bac9cc1","documentation_url":"https://developer.github.com/v3/repos/statuses/"}

It then went ahead and set the status of the real commit, which makes me wonder what the heck it was trying to set before.

@rjmccall Since I have commit access now, am I expected to hit that Merge button or is still the prerogative of the reviewer to do that?

Feel free!

go go go!

Woohoo! Now it's time to throw off the shackles of review and commit directly to master! (But don't worry, I'm just going to add a CHANGELOG entry)

Nice!  Please do update the changelog (consider it pre approved!)


Bot-like features

Have some buttons in the ui to:

Pathfind
Find block
Crack world seed
Auto build schematics

Would be a cool demo for mineflayer and interesting as an user

https://gist.github.com/rom1504/b8530371c7407f790ca63717ee0f8932 + https://github.com/PrismarineJS/prismarine-web-client#some-debugging-examples is a good start
we could have an optional menu (press a key to show it) with some actions like this

put https://github.com/PrismarineJS/prismarine-viewer/blob/master/examples/clickmove.js under a key (point, press g, it goes there)

other idea of interface: in chat use mc command, for example /goto <player>

we can have a bot.js to put this kind of thing

other idea of interface: in chat use mc command, for example /goto <player>

i disagree with this because then you have chat conflicts

put https://github.com/PrismarineJS/prismarine-viewer/blob/master/examples/clickmove.js under a key (point, press g, it goes there)

I think this should only be done when we finish having remappable keys

https://gist.github.com/rom1504/b8530371c7407f790ca63717ee0f8932 + https://github.com/PrismarineJS/prismarine-web-client#some-debugging-examples is a good start
we could have an optional menu (press a key to show it) with some actions like this

yeah I think this sounds good

Maybe use a custom prefix like hacked clients? (We’re becoming more like
one every day)
On Sun, Mar 14, 2021 at 5:12 PM, u9g @.***> wrote:

other idea of interface: in chat use mc command, for example /goto

i disagree with this because then you have chat conflicts
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PrismarineJS/prismarine-web-client/issues/56#issuecomment-798980616,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMVK4MQ3NXMNFNL3ULTAMBDTDURCVANCNFSM4YTCLESQ
.

you have chat conflicts

what kind of conflict?

you have chat conflicts

what kind of conflict?

we don't now, but if we add /goto then what if the server had a /goto command too, imo we should stay away from the built in chat box

we can have our own prefix, but imo this is not an issue, it's unlikely to happen (and if it does we can always make it possible to configure the prefix)

we can have our own prefix, but imo this is not an issue, it's unlikely to happen (and if it does we can always make it possible to configure the prefix)

still theres just no reason to use chat commands when minecraft uses them aswell and we can and will have conflicts, just make a menu or something

I guess we could have a different button to open another bar for text commands, but that sounds really non intuitive
not sure what's the point of overengineer this when there are simple solutions

IMO this issue (along with #3 ) is the way to make mineflayer beat baritone, anyone to do it ?
Plan:

put pweb-client in electron
add mineflayer menu
release as installer
profit

it's about "all contained bot app that works for anyone that doesn't know computers" vs "mineflayer examples/ folder"

Mineflayer still needs some improvements when it comes to physics and
movement. Baritone runs off the Vanilla client so that’s a nonissue for it
On Thu, Jun 17, 2021 at 09:28, Romain Beaumont @.***>
wrote:

it's about "all contained bot app that works for anyone that doesn't know
computers" vs "mineflayer examples/ folder"
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/PrismarineJS/prismarine-web-client/issues/56#issuecomment-863239238,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMVK4MXRUBOCBESUTIESICLTTHZ6RANCNFSM4YTCLESQ
.

Also, why do we need to pack it in electron? IMO running in a browser is an
asset, not a liability.
On Thu, Jun 17, 2021 at 10:25, Raymond Xu @.***> wrote:

Mineflayer still needs some improvements when it comes to physics and
movement. Baritone runs off the Vanilla client so that’s a nonissue for it
On Thu, Jun 17, 2021 at 09:28, Romain Beaumont @.***>
wrote:

it's about "all contained bot app that works for anyone that doesn't know
computers" vs "mineflayer examples/ folder"
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/PrismarineJS/prismarine-web-client/issues/56#issuecomment-863239238,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMVK4MXRUBOCBESUTIESICLTTHZ6RANCNFSM4YTCLESQ
.

running in browser alone does not work

This makes it a hacked clientt hough which might make servers ban it and ruin things for people who just want to play the game in a browser

Yeah, that's worth it to make it a mineflayer demo

But anyway that doesn't matter until something works (currently it's not good enough to be ban able)

This makes it a hacked clientt hough which might make servers ban it and ruin things for people who just want to play the game in a browser

Call it Prismarine Visual Research Platform and send a plugin message to the servers. Allow the servers to deny just PVR.

True, I thought this meant it would be force-enabled by default

I don't think that will do anything, because I think servers are just going to ban them instantly and cause players who just wanted to test to be banned. Also the ones who really want to bypass it would just modify the code locally.


Re-enable AAD users to provide feedback

As an AAd user,
I would like to be able to provide feedback for Graph and Graph Explorer
So I can communicate with the team on ways to improve my experience and minimize my pain points.

@adhiambovivian @ElinorW is this still blocked by something or can work now proceed?

@ddyett, this is still blocked because of the torus migration. Since we will get a new app id, we will need to get this onboarded onto ocps

@ElinorW Is this still blocked by the security compliance work?

@RabebOthmani , @ddyett , @adhiambovivian
This is completely blocked on 2 ends.

OCPS doesn't support 3p applications.
The Microsoft tenant admin will not grant any more permissions on GE. This means attempting to read policies for some tenants e.g Microsoft tenants will bring a pop-up informing a user that they need admin consent.

I'll follow up with OCV to see if there is a workaround and what we can do in this case.

@adhiambovivian any support needed to move this or is the team following up.  Is Elinor the right owner of removing the block?

@ddyett  we have an ongoing conversation with OCV team on how to find a work-around especially now that OCPS does not support 3p apps.


summary_image_v1 = tf.compat.v1.summary.image AttributeError: 'module' object has no attribute 'v1'

I met the same problem

Which tensorflow versions are you using? I guess it would be TF 1.14 or 2.0-nightly?

Reproduced at TF=1.12. It was requiring TF 1.13+ (due to changes of #15 but I will relax the minimum version requirement.


STK files added

Hopefully this is a good start towards getting STK inside of AK.
Included here:

STK source code (duh.)
STK license
A makefile that builds the source code (hopefully it works on OSX)
Sample code using soundpipe with STK.

To compile the soundpipe example (and STK):
run "make sp_mandol"

The makefile runs and builds fine on OSX and the test program sp_mandol, produces a good test.wav.  So, all systems go.  However, this doesn't do anything for AudioKit yet.  Question for you is whether you want to get your hands dirty on that Mac Mini and try to make STK work within AudioKit proper or if you want me to accept the pull request and get handed off the code.

I may want to try to port this into AK myself. This could be a good opportunity for me to understand AudioKit better.

And by "port this", I mean I'll try to port one of these. Are there any that you'd like to see in AK first?

I have no preference.  Probably something that uses the rawwaves, because they will have to be encoded into some text format.  Frameworks themselves can't really contain anything except code.  Files in frameworks aren't easily referenced so there would have to be extra instructions to copy a resource bundle, which we did in AK2 and I'd like to avoid.

Ah. Well in that case, maybe accept this pull request as is? It looks like
there is still stuff on my end that I have to do.
On Apr 8, 2016 4:20 PM, "Aurelius Prochazka"<EMAIL_ADDRESS>wrote:

I have no preference. Probably something that uses the rawwaves, because
they will have to be encoded into some text format. Frameworks themselves
can't really contain anything except code. Files in frameworks aren't
easily referenced so there would have to be extra instructions to copy a
resource bundle, which we did in AK2 and I'd like to avoid.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/audiokit/AudioKit/pull/330#issuecomment-207644294

I think I'd like to see one thing work in AK before committing these files to the final repo.  I'm optimistic, just cautiously so.

Awaiting v2 of this pr...


To overwrite or not to overwrite

Hi,
Firstly, Love your script!
Secondly, love interface lift.
I'd like to suggest a modification/enhancement to this script such that when downloading we can indicate that if the filename already exists, don't download. This way we can keep getting what is new and not re-download what was already present.

This is a great idea!
I've gone ahead and implemented this in 665a9f80e64b3226c0eecb48905d819d2b93780c. By default, already downloaded files are not overwritten. This behavior can be disabled using the -o or --overwrite flag. Check it out!

thanks :-)


post-deploy script is causing app downtime

"production": {
    "user": "web",
    "key": "/Users/gajus/.ssh/web_rsa",
    "host": "...",
    "ref": "origin/marseille",
    "repo": "git@github.com:applaudience/showtime-app.git",
    "path": "/var/www/showtime-app-marseille",
    "post-deploy": "nvm use v5.8.0; npm set progress=false; (cd ./src/client; npm install; NODE_ENV=production $(npm bin)/webpack --config ./webpack.config.production.js); (cd ./src/api; npm install); (cd ./src/bin; npm install); pm2 delete ecosystem.json; pm2 start ecosystem.json --env production"
}

This is my deployment script. The problem I am facing is that the current app instance goes down before post-deploy is executed. In the mean time, it takes a long time to run post-deploy script, causing a significant downtime.
Is there an alternative to post-deploy that would run before the current app is shutdown? I did not find documentation for such feature http://pm2.keymetrics.io/docs/usage/deployment/

Do you actually use the cluster-mode? I know it's old but it could help others.


Add Base85 encoding support for Python 3

TL;DR: Allow using Base85 text encoding on Python 3.
Details
This doesn't remove base64 encoding support for Python 3; rather, it makes base85 the default but still allows overriding the default to only use base64 for backwards compatibility with Python 2. (Python 2 doesn't support base85, nor does there appear to be a backport for it.)
Why
It's a more compact text encoding than Base64, and some manual experimentation gives about a 10% space savings for randomized binary data.
Closes #250.

Sweet, this looks perfect except for one little trivial tweak that I'll fixup here before pushing out the merge. I'm going to rename the variables from prefer_base85 to use_base85, for consistency with the existing use_decimal.

Hi,
Has anyone done any perf mesurement after switching to base85?

Oh, good point. All of my testing has been on relatively simple stuff.

We haven't tagged a release yet so changing this default is still fair game.

I looked at the Python 3.6 source code and it appears that there's significant overhead on the first call to b85encode because it builds some tables, but subsequent calls are faster. Still, it's noticeably slower than base64.
I'll open a PR to switch base64 to be the default later today. Thanks @cyberic99 for pointing out something I obviously should've done first. Sorry about this!

Done: https://github.com/jsonpickle/jsonpickle/pull/252

Thx @dargueta !
For my use case, the thoughput is more important than the file size, so I thought about the performance impact right away ;-)


CARBON-15518 - Adding unit tests.

This unit test is related to the following PR [1] and red mine feature [2].
[1] - https://github.com/wso2/carbon-kernel/pull/550
[2] - https://redmine.wso2.com/issues/4308

Please get this reviewed by the team lead

Reviewed, Please merge.


feat: Not touched tags optimization

Use special set for storing not yet touched tags.
The problem is that now only at least once touched tags are stored.
If cachalot does not find tags in storage it assumes the tag is actual.
It potentially causes to invalid cache result.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Klog logging

switch to use k8s.io/klog for logging and harmonize log level parameters across all plugins

@grahamwhaley - could you take a look?

Sure. We probably want to consult with @pohly to ensure we align or prepare for future k8s infra logging changes - I'm thinking in particular wrt to https://github.com/kubernetes/enhancements/pull/1367 for instance.

It looks like the direction in Kubernetes now is to enhance klog incrementally, so starting to use it is a good first step.

Going to make some notes as I do some prelim investigation...
First note then, is that afaict all components (framework and existing plugins) today use fmt.Print directly. That means all logs end up in their relevant container logs, just like a normal container.
Second note - from this page, we see it says:

On machines with systemd, the kubelet and container runtime write to journald. If systemd is not present, they write to .log files in the /var/log directory. System components inside containers always write to the /var/log directory, bypassing the default logging mechanism. They use the klog logging library. You can find the conventions for logging severity for those components in the development docs on logging.

That reads to me that our components, being system components inside containers, should use klog, and should write directly to /var/log.
I had a look on my minikube cluster, and did not see this - but, if we go look at the kubernetes kube-proxy daemonset as an example system component container, we see:
        command:
        - /bin/sh
        - -c
        - kube-proxy {{cluster_cidr}} --oom-score-adj=-998 {{params}} 1>>/var/log/kube-proxy.log 2>&1
        env:
        - name: KUBERNETES_SERVICE_HOST
          value: {{kubernetes_service_host_env_value}}
        {{kube_cache_mutation_detector_env_name}}
          {{kube_cache_mutation_detector_env_value}}
        securityContext:
          privileged: true
        volumeMounts:
        - mountPath: /var/log
          name: varlog
          readOnly: false

That makes me think we should probably pursue mounting /var/log into the plugins and redirecting their klog output by default, but do this via our kustomize methods, so it is easily over-rideable...

That reads to me that our components, being system components inside containers,

I don't consider our plugins as system components and would prefer we don't add any extra hostPath mounts. kubectl logs works.


Breaks instructions into paragraphs for challenges/english/10/create-a-circular-queue

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes  #40425

Hey @AndreThompson-Atlow
Thank you for opening this pull request.
This appears to be a duplicate of #40428, which already has an approving review. Additionally, it appears that you've added a new challenge file at the root level of the repository, rather than modifying the existing challenge file.
We are going to close this pull request. We welcome future contributions from you. 🙂

Hey @AndreThompson-Atlow
Thank you for opening this pull request.
This appears to be a duplicate of #40428, which already has an approving review. Additionally, it appears that you've added a new challenge file at the root level of the repository, rather than modifying the existing challenge file.
We are going to close this pull request. We welcome future contributions from you. 🙂


Add contact info to provider

Context
Additional provider contact info
Changes proposed in this pull request
Add email, contact_name and telephone
Guidance to review
/api/v1/providers

 Add additional contact info to provider endpoint


Add an info alert about the need to log in to engage with the examples

Issues
Resolves #48
Description

Add an info alert about the need to log in to engage with the examples
Update list styling

Screencast from 27-06-2024 11:08:28.webm

@fjsj Here is the up-to-date behavior:
Screencast from 27-06-2024 12:11:19.webm


Faulty singleton dependency behavior demo.

See discussion #619.

Ok, thanks. Will look a bit later

Done some work, explained in #620


bad request when i send with attachment

Issue Summary
I just follow the attachment docs, but bad request error is occurred.
+a ) i want attach json object to files. What should i do?
Steps to Reproduce

I sign up sendgrid.
I receive apikey and copy the code, paste in my workplace.
without attachment, it works fine. but with attachment it isnt work.

  const sgMail = require('@sendgrid/mail');
   process.env.SENDGRID_API_KEY='<my key>';
   sgMail.setApiKey(process.env.SENDGRID_API_KEY);

   const msg = {
     to<EMAIL_ADDRESS>     from<EMAIL_ADDRESS>     subject: 'Hello attachment',
     html: '
Here’s an attachment for you!
',
     attachments: [
       {
         content: 'Some base 64 encoded attachment content',
         filename: 'some-attachment.txt',
         type: 'plain/text'
       }
     ]
   };

sgMail.send(msg);

and this is my error console
Uncaught (in promise) ResponseError: Bad Request
at Request.http [as _callback] (C:\workspace\ShipSideApp\node_modules@sendgrid\client\src\classes\client.js:124:25)
at Request.self.callback (C:\workspace\ShipSideApp\node_modules\request\request.js:186:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request. (C:\workspace\ShipSideApp\node_modules\request\request.js:1163:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage. (C:\workspace\ShipSideApp\node_modules\request\request.js:1085:12)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:111:20)
Technical details:

sendgrid-nodejs Version: latest version
Node.js Version: 8.11.4
Using electron.

I believe you need to actually base64 encode the string you have in the content field.  Here's a StackOverflow with that information https://stackoverflow.com/questions/6182315/how-to-do-base64-encoding-in-node-js#6182519

Thanks you for your comment


Basic frontend collection management

While frontend collection handling forms the overarching story of this branch, it is a bit of a hodgepodge of small changes:

Fixed #224 (restores ability to list and display collections).

Adjusted existing models, views and other parts to the changed field names.
Changed the project menu to automatically switch to the project of the current collection, since each collection can now be associated with only one project.
Made the summary of a collection visible through a <small> insertion in the page header.
Abolished the conceptual difference between "my collections" and "all collections", because the backend endpoint will never list collections beyond the ones the user has access to.
Set the idAttribute of the Backbone model that represents a single VRE collection to uri.

Minimally implemented #225 (create and partial update only).

Added an inline form to the bottom of the collection menu that lets the user quickly whip up new empty collections.
Added an inline form that can be temporarily overlaid over the <small> in the page header in order to adjust the summary of a collection.

Created a separate, generic, reusable OverlayView in order to support this. It can do one thing: temporarily replace an arbitrary DOM element by an arbitrary view, based on a selector relative to a persistent root element.

Other fixes, refactorings, cosmetic changes and enhancements (mostly just to give myself an easier time while working on the above changes).

Enabled alt-click debugging for all views (with the exception of views that aren't reachable by mouse, such as OverlayView instances).
Set the idAttribute of the Project model to name. It appears that the idAttribute was never set to a correct value before this.
Added an .editorconfig.
Added temporary files generated by emacs (which I use) to the .gitignore.
Renamed the "annotation context" menu to just "project", because I felt this conveys the meaning of the menu better.
Wrote "Collection" instead of "Browse or search" in the header of the collection page, because I think this signals more clearly to the user what they are viewing.
Added a provisional auto dark mode.
Removed headlessChrome from the default browsers in the Karma config as discussed in https://github.com/UUDigitalHumanitieslab/EDPOP/pull/200#discussion_r1740803381.
Removed the project menu and associated collections from the GlobalVariables, using the vreChannel instead for loose coupling. This brings us a bit closer to #123 again.
Replaced the old, simple but faulty logic for appending trailing slashes to model URLs by the more sophisticated and thoroughly tested modelSlashUrl from backbone-util.

I will be on vacation from October 12 to 28, so I prioritized fast delivery over comprehensiveness. Hence, there are some omissions and rough edges that I am aware of:

Collections cannot be deleted. I think this should eventually be possible, but it needs to be designed carefully to minimize the risk that users accidentally lose a lot of work.
The name of a collection cannot be changed. I opted out of this because I did not want the name and the uri to diverge. In the future, users could conceivably work around this by adding all records from one collection to another and then deleting the source collection.
A project must be selected before you can create a collection. If no project is selected, collection creation silently fails, but an entry with the new name still appears in the menu.
There is no validation or error handing for the create and update actions.

There are also things that were already broken on develop and which are not fixed by this branch:

Collections created before #181 are not visible because of #226.
There is no way to add or list records in collections because the records endpoint still has to be updated.
Project selection should probably be more prominent.

For review, I suggest giving the frontend a quick spin and just scrolling through the code changes. There are lots of files with only minor changes, but I think you will be able to quickly identify repeating patterns and skip over those.

A project must be selected before you can create a collection. If no project is selected, collection creation silently fails, but an entry with the new name still appears in the menu.

When I try this, no new entry is added to the menu but an exception project is undefined is raised.


toc true no longer works to force the table of contents

toc true no longer works to force the table of contents on narrow/mobile view.

requested reminder

actually enableToc is already supported but this is unrelated to it being hidden on mobile (you need to adjust the layout for it to show up on mobile as its disabled on mobile by default)


Update signalfx-agent chart for 3.4.0 release

What this PR does / why we need it: Updates the SignalFx agent chart to use the latest release by default.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

/assign @lachie83

/assign @linki

/assign @foxish

Perhaps we could get merge privileges to this chart so that we can do updates ourselves?

@keitwb please sign the DCO and update the PR Title to match the app version looks like it is no more 3.4.2
thanks

/assign

FWIW, I have deployed this branch onto my AWS EKS cluster as part of a fix suggested by SignalFx support and can confirm that it works as expected.

@cpanato Done.  Can you take a look?

/ok-to-test

/assign @foxish

/assign @viglesiasce

/check-dco
/approve


Refs 4540: check for soft deleted template on update

Summary
On the template update task, check to see if the template has been softdeleted, and simple return from the task if so
Testing steps
With your server running
Create a repo with snapshotting
Run the server with just the api:
go run ./cmd/content-sources/main.go api
Create a template with the repo:
####
POST http://localhost:8000/api/content-sources/v1.0/templates/
x-rh-identity: eyJpZGVudGl0eSI6eyJvcmdfaWQiOiI5IiwgInR5cGUiOiJVc2VyIiwidXNlciI6eyJ1c2VybmFtZSI6ImZvbyJ9LCJhY2NvdW50X251bWJlciI6ImZvbyIsImludGVybmFsIjp7Im9yZ19pZCI6IjkifX19Cg==
Content-Type: application/json

{
  "name":"test5",
  "arch": "x86_64",
  "version": "9",
  "repository_uuids": ["cd79da0f-dea2-46d4-82c4-56d3012db8bb"],
  "date": "2024-08-09T14:04:05Z"
}

delete the repo:
####
DELETE http://localhost:8000/api/content-sources/v1.0/templates/08273910-70b5-45e0-99a6-57706f61efe5
x-rh-identity: eyJpZGVudGl0eSI6eyJvcmdfaWQiOiI5IiwgInR5cGUiOiJVc2VyIiwidXNlciI6eyJ1c2VybmFtZSI6ImZvbyJ9LCJhY2NvdW50X251bWJlciI6ImZvbyIsImludGVybmFsIjp7Im9yZ19pZCI6IjkifX19Cg==
Content-Type: application/json

Now stop the server and restart it with the worker:
go run ./cmd/content-sources/main.go api consumer
This will cause the update and delete task to run at the same time.  Monitor the server logs and look for Could not find template with UUID d95ee14e-00a1-40fa-be8f-27edfb5e043e, you shouldn't see it.

https://issues.redhat.com/browse/HMS-4540

Hi @jlsherrill
please rebase to pick up change in https://github.com/content-services/content-sources-backend/pull/788
Thank you

[test]

[test]


KAFKA-7655 Metadata spamming requests from Kafka Streams under some circumstances, potential DOS

Re-validate and make sure the topic either exists or it's gone by using a delay.
There is a bug in the InternalTopicManager that makes the client believe that a topic exists even though it doesn't, it occurs mostly in those few seconds between when a topic is marked for deletion and when it is actually deleted. In that timespan, the Broker gives inconsistent information, first it hides the topic but then it refuses to create a new one therefore the client believes the topic was existing already and it starts polling for metadata.
The consequence is that the client goes into a loop where it polls for topic metadata and if this is done by many threads it can take down a small cluster or degrade greatly its performances.
The real life scenario is probably a reset gone wrong. Reproducing the issue is fairly simple, these are the steps:
Stop a Kafka streams application
Delete one of its changelog and the local store
Restart the application immediately after the topic delete
You will see the Kafka streams application hanging after the bootstrap saying something like: INFO  Metadata - Cluster ID: xxxx
I am attaching a patch that fixes the issue client side but my personal opinion is that this should be tackled on the broker as well, metadata requests seem expensive and it would be easy to craft a DDOS that can potentially take down an entire cluster in seconds just by flooding the brokers with metadata requests.
The patch kicks in only when a topic that wasn't existing in the first call to getNumPartitions triggers a TopicExistsException. When this happens it forces the re-validation of the topic and if it still looks like doesn't exists plan a retry with some delay, to give the broker the necessary time to sort it out.
I think this patch makes sense beside the above mentioned use case where a topic it's not existing, because, even if the topic was actually created, the client should not blindly trust it and should still re-validate it by checking the number of partitions. IE: a topic can be created automatically by the first request and then it would have the default partitions rather than the expected ones.
Committer Checklist (excluded from commit message)

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

Retest this please

@mjsax @guozhangwang any reason why this hasn't been merged?

@dguy No reason -- thanks for the reminder!
@Pasvaz Thanks for the patch! Merged to trunk and cherry-picked to 2.1 and 2.0 branches.

Thanks for the patch, @Pasvaz!


Suddenly stops updating

The plugin suddenly stops updating data and I have to restart Homebridge to make it work again. Happened twice since I installed the plugin two days ago. Anyone else experiencing the same?

I am having the same problem with my home ridge. I need to restart it twice a day

I know Tibber API had problems with instability lately, but I think it works better now.


Code example incorrect (Define logger message scope)

Type of issue
Code doesn't work
Description
Under the section "Define logger message scope", look at the code block following the statement "The scope wraps the logging extension calls in a using block:"
The code sample doesn't have a using block, nor does it call the ProcessingWorkScope extension method created in the previous step. (I think it's just a copy/paste of the code block from the example under the prior header).
Page URL
https://learn.microsoft.com/en-us/dotnet/core/extensions/high-performance-logging
Content source URL
https://github.com/dotnet/docs/blob/main/docs/core/extensions/high-performance-logging.md
Document Version Independent Id
3f5f1b6e-06ac-cc07-48cd-b8b957a4abbb
Article author
@IEvangelist
Metadata

ID: aa00c051-c047-bbcd-5e25-ca6a722b51c3
Service: dotnet-fundamentals

Good catch. I feel there are a couple of issues on this page related to the snippets and highlighting that I can track back to this commit.
I will open a PR to resolve it.


Make it build with ghc-9.10

On top of https://github.com/IntersectMBO/cardano-prelude/pull/196 .
Would like to remove the two SRPs before this is merged.

SRPs and allow-newers removed.


maven install failed

hello!
Thank you for your project. I made the following errors when compiling. I don't know C language. Please help me to have a look！

Hi,
looks like the WebRTC sources are missing. As the first step, the cmake build should have checked out and build WebRTC.
Please provide the full build log to understand what went wrong.
Regards,
Alex

I'll try another way
Copy your webrtc-java-demo (tag v0.2.0) code into my project and introduce webrtc-java(version 0.2.0)
In the use of new ScreenCapturer (); The error information is as follows
Please help me to see how to deal with it！

I tried to get in through the entrance DesktopSourcesPresenter, like this

But this is where the code goes wrong, Don't know what happened

An error is as follows

I have to note that screen/desktop sharing is not yet fully implemented. Same for the macOS video capture.
Should be fixed within few days.

I understand. Will a new version be released at that time

Will this project be updated in the future? Hope to integrate desktop sharing functionality!

Screen / desktop sharing has been enabled as of version 0.7.0.


Should we add enhanced sound to the testing matrix template?

Upon further thought, I don't think it needs to be added. @KatieWoe, please reopen if you disagree.

I would agree since it should be done as part of "testing all sound"


tower of hanoi problem added for the javascript

Added new folder in javascript "Miscellaneous->tower_of_hanoi" problem.

Please remove the .idea directory and update the README files.

.idea file has been removed and README files updated. Thanks

README in the JavaScript directory also.


[Bug]: Input Widget - When grouped "Text" field is resized larger minimizing the "Label" field

Is there an existing issue for this?

[X] I have searched the existing issues

Description
https://user-images.githubusercontent.com/104895602/166653069-b5c502cc-d322-4276-a2f8-ad647fe9ba3e.mp4
On Grouping two or more Input Widgets, label and test fields are resized.
Label field is minimized, whereas Text field is maximized inside the container.
Expected: Upon grouping Input widgets the sizing of fields inside Widget should be same
Actual: The fields in Input widget are resized when grouped.
Steps To Reproduce

Drag and drop two or more Input Widget
Select all the Input widget and click on "Group" or press ctrl + G
Notice that the Label field is minimized and the Text field is Maximized

Public Sample App
No response
Version
Production

Ok this happens for the following reason

There's a minimum width of the input widget - which is some Xpx for example
Once we create a group, it creates a container, in this container the input has to resize because of the relative width logic we have for containers.
Input resizes to min width and the rest of the space is occupied by the label, hence it truncates.

According to me this is not a bug because of the way containers work today. Closing this, please let me know if it needs to be reopened.


SEO

Hi team!
Hope you are doing great!
I just noticed one thing that you may want to improve: how CVL is found in search engines.

I found some unexpected things on those two searches:

CARTO VL Home is the first result, but the description shown on Google is JS code
The third result for "cartovl" is the built-in editor, since it is already discovered by Google, maybe it could be less hidden
Searching for "cartovl github" doesn't show this repo on the first Google's page. It just shows its forks.

Keep the :rocket::rocket::rocket: flying and see you around!

@davidmanzanares !!! hiiii! thank you for the information! hope you are well ❤


Return ImportId from Module::add_import_*

We have a number of functions on Module which allow adding an imported item which registers it with both the imports section as well as the appropriate section the item goes into. Currently only the target item's ID is returned, but we should also return the ImportId in addition to the item's actual ID.

This is my first time in walrus and I will try to work on this issue.
@alexcrichton Can you give more information? Like which files or structs should be examined or modified?

Oh sure yeah! This is targeted at these four functions where they return things like FunctionId now, but instead it'd be great if they all returned (FunctionId, ImportId)

@alexcrichton Thanks!


Add screenshots to readme

I suggest you add screenshots to your readme so people can see what your widget looks like.

oh lol right add the screenshots
On Mon, Jun 29, 2020, 01:54 Reuben Turner<EMAIL_ADDRESS>wrote:

I suggest you add screenshots to your readme so people can see what your
widget looks like.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tusharsadhwani/flutter_sidebar/issues/1, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ANMX6L6SBDMECULHNMVR3L3RY6RJNANCNFSM4OKWBAIQ
.

Yeah, I'm planning to do that as soon as I finalize the widget API.
Thanks for the suggestion though! Did you try using the package?

I did not. I browse pub a lot, and I don't try packages without screenshots or detailed readmes. Just wanted to help you guys out.

Thanks man, will do :)
On Mon, 29 Jun, 2020, 10:18 PM Reuben Turner<EMAIL_ADDRESS>wrote:

I did not. I browse pub a lot, and I don't try packages without
screenshots or detailed readmes. Just wanted to help you guys out.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tusharsadhwani/flutter_sidebar/issues/1#issuecomment-651237853,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKLGU4YEA54MSKY5GDPBUZ3RZDAWDANCNFSM4OKWBAIQ
.


Update README according to "accurate find" done in #179

Update README according to "accurate find" done in #179
Originally posted by @ronaldtse in https://github.com/fontist/fontist/issues/179#issuecomment-739459264

Done in #183 :)


Specification for what we need to have in the IndexConfig

We have new notions in IndexConfig.
Sources... (do we need  tenant)?
Define and implement what IndexConfig should look like.

Parameters related to indexing that need to be configured
The following features need some config parameters that we can add to IndexConfig:

commit policy: timeout and max docs count
source config: this is specific to a source type like kafka, file.
threads, heap size per indexer
indexer count
compaction policy: we need to make some merges with specific rules (like merging only splits with same tags) and demuxing tags from splits. This needs to be defined and is not yet treated here.

Questions

do we want to have multiple sources for one index? Handling checkpoints from different sources can add some complexity that we don't really want to handle right now.

Indexing config example
Note: timeout is in seconds.
{
  "indexing": {
      "commit_policy": {
        "timeout": 60,
        "num_docs_threshhold": 100000
      },
      "indexer_count": 3,
      "num_thread_per_indexer": 2,
      "heap_size_per_indexer": 1000,
      "source": {
        "type: "kafka",
       "...": "..."
      },
     "compaction_policy": {
     }
  }
}

Source config
File
{
  "type": "kafka",
  "path": "/home/quickwit/my-file-to-index",
}

Kafka
{
  "type": "kafka",
  "topic": "quickwit",
  "bootstrap.servers": "localhost:9092"
}


trying to implement OCPP to real charger

Hello i tried to connect to an ABB AC Terra Wallbox charger. On its URL field i set ws://<my_ip>:8080 but it didn't connect to my pc.
Below is some part of my code
server = await websockets.serve(
        on_connect,
        '<IP_ADDRESS>',
        8080,

        subprotocols=['ocpp1.6'],

    )

charge_point_id = path.strip('/')#'TACW2245120T0002'#
    cp = ChargePoint(charge_point_id, websocket)

    console_task = asyncio.create_task(console(cp))

    await cp.start()

    await console_task

async def console(cp):
    try:
        logging.info("Started console")
.....

If it works properly i have to see Started console at my console. Is there a problem with my code or maybe it is a firewall issue ?

You're assumption is not correct. await cp.start() 'blocks' until connection is cut by the charger or some other exception is raised.
If you want to run asyncio tasks in parallel you should use asyncio.gather() or asyncio.wait()

~~You're assumption is not correct. await cp.start() 'blocks' until connection is cut by the charger or some other exception is raised.
If you want to run asyncio tasks in parallel you should use asyncio.gather() or asyncio.wait()~~
I answered to quickly. The code seems fine.

So maybe it's a firewall problem ? Server is running on my laptop

I have recently tried to connect to a ENEL juice pump using the example central system code using 1.6j. When I tried to connect to it I got this error.
File "C:\Program Files\Python311\Lib\asyncio\base_events.py", line 1511, in create_server
raise OSError(err.errno, 'error while attempting '
OSError: [Errno 10049] error while attempting to bind on address ('<IP_ADDRESS>', 9000): the requested address is not valid in its
context.
Im fairly new to coding so Im not sure what the problem is. Ive connected to a simulated charger and the code worked just fine. Please let me know if you have any new information on your problem. Thank you.

So what this is presenting you is an operating system error. After a quick search, there appears to be lots of discussion around causes for Windows [Errno 10049]  - as this is outside the scope of this library and the age of the request, I'll close this issue for now.


Pulling still skipping even with --force

It seems that the client still skipping pulling newer files, even though the --force or -f was given. I'm not sure if this also happens when pushing, Any ideas?
This is tested on v1.6.4, both on Windows and Linux (GitHub Actions).
$ tx pull --all --force
# Getting info about resources

project.resource1 - Done
project.resource2 - Done
...
project.resource27 - Done
project.resource28 - Done
[##############################] (28 / 28)

# Pulling files

project.resource1 [ab] - Local file is newer than remote, skipping
project.resource1 [af] - Local file is newer than remote, skipping
project.resource1 [am] - Local file is newer than remote, skipping
project.resource1 [ar] - Doneting download job
project.resource1 [az] - Local file is newer than remote, skipping
project.resource1 [be] - Local file is newer than remote, skipping
project.resource1 [bg] - Local file is newer than remote, skipping
project.resource1 [ca] - Doneting download job
project.resource1 [ckb] - Local file is newer than remote, skipping
project.resource1 [cs] - Local file is newer than remote, skipping
project.resource1 [cy] - Local file is newer than remote, skipping
project.resource1 [da] - Local file is newer than remote, skipping
project.resource1 [de] - Doneting download job
project.resource1 [el] - Local file is newer than remote, skipping
project.resource1 [es] - Doneting download job
project.resource1 [et] - Local file is newer than remote, skipping
project.resource1 [eu] - Local file is newer than remote, skipping
project.resource1 [fa] - Local file is newer than remote, skipping
project.resource1 [fi] - Doneting download job
project.resource1 [fr] - Doneting download job
...

Do you have a minimum_perc set? It seems that skips with the same message about "Local file is newer than remote" even though it's actually the percentage causing the file to be skipped.

I do infact have minimum_perc set on 1%. If that's the case, the log should be changed.

@Hans5958 thanks for bringing this up, and @zerocrates for the clarification, you are spot on. 🙏
This is caused indeed due to wrong message logic. We will tackle it in a future release.

@Hans5958 The latest version v1.6.5 has a fix for the message.
I will close this one, but feel free to open it again if something still seems off. :)


implement Compatible Version Negotiation

https://www.ietf.org/archive/id/draft-ietf-quic-version-negotiation-14.html

The RFC is out: https://www.rfc-editor.org/info/rfc9368


[AutoPR resources/resource-manager] Add missing displayName and domains properties to response of Tenants_List call

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6473

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/5249


Does bless have a versionID that can be retrieved?

Describe the solution you'd like
Please support a __version__ so that the version of the used library can be printed in a logfile
Of course any other option serving the purpose is OK.
Describe alternatives you've considered
n/a.
Additional context
print(bless.__version__) is helpfull when debugging

Rather than hardcoding the version number, which could introduce human error if the version number is not updated with each new iteration. Would something like this work for you?
from importlib.metadata import version
version("bless")  # outputs: 0.2.4

Hi @kevincar
Thanks for this option; it sure works: logfile.Write(s % ('bless',        importlib_metadata_version("bless") ))
Do you have an explanation why this option works for numpy, but not the others?
       #logfile.Write(s % ('argparse',     importlib_metadata_version("argparse") ))
       #logfile.Write(s % ('binascii',     importlib_metadata_version("binascii") ))
       #logfile.Write(s % ('math',         importlib_metadata_version("math") ))
        logfile.Write(s % ('numpy',        importlib_metadata_version("numpy") ))
       #logfile.Write(s % ('os',           importlib_metadata_version("os") ))

PS. numpy.__version__ and version("numpy") both produce the same result (in my case 1.21.4).
I do not have the python (environment) knowledge to understand where the values come from and/or whether they are fundamentally identical.

The version("<pkg_name>") should work for install packages via pip or conda into your current python environment. Modules such as ok, math, argparse, etc are builtin modules that are part of the Python Standard Library, so you can roughly say that the version for os or math is the same as your current python version.

Closing this for now. Feel free to list ideas of this posted on is not sufficient.


BUG: Code leak #1964

Related Issue
Fixes:  #1964
Description
The which was creating this unnecessary code leak has been solved
Screenshots / videos (if applicable)
How it was

How it is

@PriyaGhosal please merge my PR for #1964

@PriyaGhosal please merge my PR for https://github.com/PriyaGhosal/BuddyTrail/issues/1964


DBDM Dump

Seeems that there is a GUObject array issue on the new update.

Seeems that there is a GUObject array issue on the new update.

Are u modding mobile dbd ?


Sign a transaction data via Wallet

Hi team,
I have integrated azure key vault as a custom wallet to node.js client sdk. We understand that currently gateway transaction submit method will fetch private key from wallet and sign the data and transaction is submitted. So, we are exploring on opportunities to enable wallet to sign a transaction and submit the same. This helps us to restrict private key details with wallet itself. Could some help me in this regards?
Thanks in Advance,
Kamesh p
@azure key vault @nodejs

Is this a question about how to make your Azure key vault integration work with the fabric-network package or the @hyperledger/fabric-gateway package?

No response so closing


Allow Bot web page minimization

Some scenes need web page minimization

Keep background audio or music playback
Keep webpage Picture-in-Picture playback
Floating window bot

I guess it’s complete already.


FROM ( ...  So that implies there's something wrong with the handling of subqueries.

Here's the playground link for the failing test case from #393

Fixed as of v1.22.0
-- Example queries for sqlc
CREATE TABLE authors (
  id   BIGSERIAL PRIMARY KEY,
  name text      NOT NULL,
  bio  text
);

-- name: SelectSubquery :many
SELECT test.name FROM (select * from authors) AS test;

https://play.sqlc.dev/p/7ba83ad9bcdfd91310cf9950c684a0d4d0ddbbe6f4861f7a0261e18ab439938a


Rework CLIs required by operator build process

Leftover from original #4326
There are certain dependencies that are required by CLIs used by internal development tooling:

github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749
github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd
gengo

In #4326 we tried to remove the tools in ''/cmd` directory but it turns out they are required. Goal of this issue is to rework those tools and either remove their usage or use supported dependencies in order to have a safer maintenance.

cc @gansheer

@squakez I will work on it

The real solution for this issue is solving #3384. We need to switch to the standard go:embed

Good for spotting it. I'm closing this in favor of the one you've identified. If you're still working on it, let me know and I'll assign it to you.

The real solution for this issue is solving #3384. We need to switch to the standard go:embed.
That brings me this question: what is the resources.go usage, why do we need it ?

Not really sure.

The resources.go stores files as byte representation for late retrieval, for example in master.go trait data, err := resources.TemplateResource(fmt.Sprintf("/addons/master/%s", name), params) it loads the embedded file.
See the list of embedded files
resources/traits.yaml
resources/builder/builder-service-account.yaml
resources/builder/builder-role.yaml
resources/builder/builder-role-binding.yaml
resources/builder/builder-role-binding-openshift.yaml
resources/builder/builder-role-openshift.yaml
resources/camel-catalog-2.16.0-SNAPSHOT.yaml
resources/addons/master/master-role-configmap.tmpl
resources/addons/master/master-role-lease.tmpl
resources/addons/master/master-role-binding.tmpl
resources/viewer/user-global-platform-viewer-role-binding.yaml
resources/viewer/user-global-kamelet-viewer-role-binding.yaml
resources/viewer/user-global-platform-viewer-role.yaml
resources/viewer/user-global-kamelet-viewer-role.yaml

I think they can be replaced by go:embed


Add support for profiles to Solvers

Configuring a solver currently requires a lot of tweaking to ensure the behavior feels right, and copying settings between solvers is an involved process.  By adding profiles to solvers, the configuration data becomes separated from the functionality and can easily be shared within and between projects. This allows for faster development and more consistency for consumers of the MRTK.  This also allows for default configurations to be packaged with the MRTK alongside common use cases.
To support backwards compatibility, these profiles will act as override values for the existing settings when both are present.  There will also exist an easy means to store preexisting settings as a profile for older projects to facilitate upgrading to this system.

Related to #2798

Why does copy component not work for this scenario? The serialized object is effectively a profile.

Closing as not planned; we won't be using profiles for solvers, but we may end up offering ScriptableObject support.