Remove extra mount for /proc

The workaround added for darwin support requires mounting /proc on top of the chroot:
https://github.com/rfratto/viceroy/blob/f99e9f9ec7d65392f698db47d78ac76d30a1245b/cmd/viceroyfs/main.go#L240-L267
Aside from feeling hacky, it's likely prone to deadlocking if the process only has one thread available to it (Go expecting all syscalls to support async I/O causes issues with FUSE, which is also why viceroyfs is launched as a child process of viceroyworkerd)
We currently need /proc because OSXCross expects it to be mounted. Unless I'm missing something, it should be possible to remove the requirement by adding in various fallbacks similar to the ones found in Clang.
At the moment, I don't see a reason to need /proc available in the viceroy chroot outside of this issue. It seems worthwhile to have OSXCross support chroots rather than finding a permanent way to add these extra mounts on top of the viceroy overlay chroot.

Closing with d47a107797c3ba23f2fa061c693695acf79833d4. While we still need /proc, I found a way to reliably make sure it's available and fixed some issues with how viceroyfs could cause FUSE ID collisions. I looked into OSXCross a bit and it would be non-trivial to remove its usage of /proc since it requires the ability to find the name of the parent process.


Make code-block margins same as print blocks

The current theme adds a 24px margin to the bottom of all styles except for code-highlight blocks. This makes for an awkward, inconsistent lack-of-space below pre-formatted text.
This has the codehilite class the same as the rest of the documents.
This is the docs repo equivalent to https://github.com/opensciencegrid/technology/pull/339.

Build failure due to something transient-looking on http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-102-5/?ca=drs-
That's the second time the yum external links have timed out.  Third time I'll try to dig up better links.


Update ocm-2.3 channel to hive 1.1.3.

@J0zi @mvalarh Please review ASAP as RHACM is blocked by this.  Thanks!


Need help setting up license model

I have a license model in mind where I need to combine features from a few different supported license models, but I can't work out quite how to do it.
First I want the user to be able to request an evaluation license, which I want to be node-locked and valid for 30 days.
I want this license to be issued without any human intervention: the user clicks Accept, and the license is auto-created.
I can accomplish this by setting the product to Auto-create customer, and configuring a Subscription module with a 30-day package set Default and Hidden, and in my code generating a licensee number based on some node-specific identifier.
But then I want the user to be able to buy either a node-locked or a floating license. Either one is to be valid for one year.
I want renewals to be offered at a discount, and extend the license by a year, counting from the time of the first purchase.
It would be nice if this could also be achieved without human intervention, but it's not critical.
The problem I'm having is that I don't see how to make either a node-locked or a floating license also be time-limited (ie combine it with a subscription model).
This seems like a possible way to do it:

Create an additional "paid" Subscription module with two packages, "Node-locked subscription" and "Floating subscription".
Create a node-locked module and a floating module. Make these hidden.
In my validation code, check that there is both a valid "Node-locked subscription" package and a valid node-locked module, or that there is both a valid "Floating subscription" package and a valid floating module.
When the customer purchases either a "Node-locked subscription" or a "Floating subscription" I create the new licensee, migrate the evaluation licensee to it, add a license for either the node-locked or the floating module to it, then e-mail the licensee number back to the customer.

Does this make sense?
Or is there a much simpler way?
Any help appreciated.

Hello @HappyPathAB ,
You suggested approach is definitely valid and can be used with the additional handling in the product.
The possible alternative option would be - 2 products, where configuration can be done as follows:
Product 1:

Subscription
Node-Locked

Product 2:

Subscription
Floating

PROS:

"less to no" additional handling on your side needed
better usage control and tracking per product

CONS:

LicenseeNumber need to be used with product suffix, as currently one single Licensee can be assigned to one product only


Error sending request with httpc, with array form

Describe the bug
Sending request with httpc,  with array form ?status=["Processing",  "Cancelled"]
Server got error:
fullName: `status`, error: `string: `[Processing Cancelled]`, error: `invalid character 'P' looking for beginning of value``

To Reproduce

The code is
API defination:

   type MyRequest struct {
	Status   []string `form:"status,optional"`
   }

code:

 req := types.MyRequest{
     Status: []string{"Processing",  "Cancelled"}
 }

 httpc.Do(ctx, "GET", "localhost:80", req)

The error is
server side got error:
fullName: `status`, error: `string: `[Processing Cancelled]`, error: `invalid character 'P' looking for beginning of value``

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environments (please complete the following information):

OS: [Linux]
go-zero version [1.6.3]
goctl version [1.5.6]

More description
The problem seems like happening here: fmt.Sprint(v)
https://github.com/zeromicro/go-zero/blob/d5302f2dbe1ea23812c4775bedcbe6626f7641fb/rest/httpc/requests.go#L60

Use json tag and post json instead.
 type MyRequest struct {
	Status   []string `json:"status,optional"`
   }


[W4.5c][F09-A2]Jonathan Weng

Add exception handler for file read write operations

Accepting this PR without a review because another of your PRs for this tutorial was reviewed in detail.
However, in general, it is not considered "good exception handling" if you only print the error message.
Think about what you could do given the situation at the point where the exception occurs.


Can't inspect views inside a clipped view

Took me a while to figure this out. If the view you are trying to introspect is inside a clipped view, the callback never gets called:
VStack {
    TextField("Name", text: $name)
        .introspectTextField { textField in
            textField.clearButtonMode = .whileEditing
        }
}
.clipped()

In this example, if you remove .clipped() everything works fine.

same here

Same with .cornerRadius(_:)

this happens when using a shadow(color:radius:x:y:)  modifier, too

I stumbled upon this yesterday.
@davebeck, thanks for the investigation - it drove me crazy that it "suddenly" stopped working.
Quick workaround is to implement a custom selector according to this guide while extending the search range to the superview:
import SwiftUI
import Introspect

struct SliderDemo: View {
    @State var position: Double = 50
    var body: some View {
        VStack{
            // normal slider
            Slider(
                value: $position,
                in: 0...100,
                step: 1
            )
            // modified slider
            Slider(
                value: $position,
                in: 0...100,
                step: 1
            ).introSpectSliderWithClipping { slider in
                slider.tintColor = .green
            }
        }
        .background(Color.white)
        .clipShape(RoundedRectangle(cornerRadius: 8))
        .padding(30)
        .shadow(color: .black, radius: 8)
    }
}

struct SliderDemo_Previews: PreviewProvider {
    static var previews: some View {
        SliderDemo()
    }
}

extension View {
    public func introSpectSliderWithClipping(customize: @escaping (UISlider) -> ()) -> some View {
        return inject(UIKitIntrospectionView(
            selector: { introspectionView in
                guard let viewHost = Introspect.findViewHost(from: introspectionView) else {
                    return nil
                }
                // first run Introspect as normal
                if let selectedView = Introspect.previousSibling(containing: UISlider.self, from: viewHost) {
                    return selectedView
                } else if let superView = viewHost.superview {
                    // if no view was found and a superview exists, search the superview as well
                    return Introspect.previousSibling(containing: UISlider.self, from: superView)
                } else {
                    // no view found at all
                    return nil
                }
            },
            customize: customize
        ))
    }
}

Result is now as expected:

This is now fixed when using the new SwiftUIIntrospect module:
VStack {
    TextField("Name", text: $name)
        .introspect(.textField, on: .iOS(.v13, .v14, .v15, .v16, .v17)) { textField in
            textField.clearButtonMode = .whileEditing
        }
}
.clipped()

Closing, but feel free to ask any follow up questions.


Unable to control (Acting read only)

Hi, everything appears to be working perfectly other than I'm unable to turn off my device (Hisense Laser TV) it will power on fine but turning off does nothing, toggling the power switch will also just turn straight back on. Powering on works fine.
EDIT: actually I've just done some more testing and I've totally lost the ability to control the TV in any way - volume control, source etc don't work however they do update perfectly I If I use the Phone app or remote. I Have no control from within Home assistant?

I've done some further testing and it doesn't seem to be an mqtt issue - I can still control the TV from home assistant by manually sending messages:

(in the example above I'd reset all the configuration and setup a topic other than the default hisense one hense the use of livin g room tv. I'm also imitating my phone app.
It seems as though the addon is subscirbing to the state topic but not actually trying to send any commands. Watching MQTT explorer nothing changes when trying to issue commands from the media_player controls.

It sounds like your prefix setup may not be correct.
Did you connect with the MQTT explorer to the broker of the TV or of HA?
Can you post your bridge config (without the password)?

I've tried it with the default prefix (which was working, it stopped without any changes) and the one I'm using now.
I connected MQTT explorer to both the TV and HA. When trying to issue commands from the media_player in HA there were no changes on either of the brokers. It was only when I tried with my phone that I could see changes on the TV.
I'm currently running with the livingroom_tv prefix which is working in the sense that status info is still updating and I can still control by my workaround solution of an mqtt switch configured the same as the above screenshot. (only changed from the default just to see if it made a difference)
connection hisensemqtt
address <IP_ADDRESS>:36669
username hisenseservice
password multimqttservice
clientid HomeAssistant
bridge_cafile /share/mosquitto/ssl/hisense.crt
bridge_certfile /share/mosquitto/ssl/rcm_certchain_pem.pem
bridge_keyfile /share/mosquitto/ssl/rcm_pem_privkey.key
bridge_insecure true
bridge_tls_version tlsv1.2
try_private false
start_type automatic
topic /remoteapp/# both 0 livingroom_tv ""

I do have the exact same problem, with the same configuration.
Prefix is the default one (hisense).
If it was a prefix problem, tv state would not update in HA.
Volume, source, state etc... update perfectly on the HA UI, but trying to control the TV from HA has absolutely no effect.
Only Switching the TV on works, like @tungmeister but I'm pretty sure it is because it uses wake on lan and not MQTT.
At this point, the integration is of no use...
TV is 55U7QF.
Additional question : what MAC address is it expecting ? the TV one ? the phone's one where the remote app is on ? that is totally unclear...

@NeeeeB Yeah it's turning on due to the wake on lan. It's the mac address of the TV hence your wake on lan working.

I'm no Python expert but isn't that "%s" supposed to be replaced with something in the MQTT command sent ?
When I have a look here, that %s seems to be replaced with something...
In the language I use, that kind of %s thing expects an argument to be passed to replace it.

Yeah, I would imagine the %s is replaced with whatever the integration identified itself as when initially registering with the TV. Even if this wasn't being substituted though I would still expect to see the message on one of the brokers, even if the topic was incorrect. The fact that I don't see any messages on either leads me to think that the integration isn't publishing any of the commands at all (based on my limited MQTT knowledge)

The %s is replaced in the called method. It uses a custom key which is authorized with the TV during setup (where you have to enter the PIN code displayed on the TV)
The integration is subscribing and publishing to MQTT. Which HA version are you using? I still have 2021.11.5 and it's working just fine.
Have you checked the release notes, if there are any breaking changes related to MQTT in the latest versions?

Could be related to this https://github.com/home-assistant/core/pull/58441 ?

I don't know, you are the developper ^^
I'm on the latest version available btw, 2021.12.6, and I had the problem too with 2021.12.1

That may be the issue. I've just been doing some debug logging and can see:
'''
2021-12-28 17:12:23 DEBUG (MainThread) [custom_components.hisense_tv.helper] _out_topic: livingroom_tv/remoteapp/tv/remote_service/HomeAssistant/actions/sendkey
this is when pressing the power button on the media_player, after though no MQTT message is sent.

compared to when I use my manual button you can see a message is actually published:

2021-12-28 17:11:08 DEBUG (MainThread) [homeassistant.components.mqtt] Transmitting message on livingroom_tv/remoteapp/tv/remote_service/1A:E0:6B:F6:5C:2F$normal/actions/sendkey: 'KEY_POWER', mid: 531
I've confirmed that the first topic does work fine if I manually publish it.

I pushed a possible fix (#11), but I can't test it right now. If someone can confirm that the fix is working, I'll release a new version. Otherwise you have to wait until I upgrade my setup - which could take a while 😁

I would happily test it, but I don't know how to do...
I installed your integration with HACS

@sehaas it's working fine for the most part however the browse media button results in an error (not that it's a feature I'd ever use)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/media_player/__init__.py", line 1168, in websocket_browse_media
    payload = await player.async_browse_media(media_content_type, media_content_id)
  File "/config/custom_components/hisense_tv/media_player.py", line 566, in async_browse_media
    return await self._build_library_node()
  File "/config/custom_components/hisense_tv/media_player.py", line 490, in _build_library_node
    payload = json.loads(msg[0].payload)
  File "/usr/local/lib/python3.9/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/lib/python3.9/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Thanks for the feedback. I'll recheck that part.
Ad update: why should I waste time to upgrade a system that is working completely fine if there isn't any security consern? Doing an update right (reading release notes, checking custom configurations/integrations for compatibility, etc.) is more work than just increasing the version number.

@tungmeister I don't think that the problem with the browse button is related.
Could you manually publish this topic livingroom_tv/remoteapp/tv/platform_service/HomeAssistant/actions/getchannellistinfo
and post the result of livingroom_tv/remoteapp/mobile/HomeAssistant/platform_service/data/getchannellistinfo ?
This should return something like this (my TV is connected to a twin-satellite receiver):
[{
	"list_name":	"ASTRA1 19.2°E",
	"list_para":	"sl5824ec82-db05-4acf-85d1-404b560ac198",
	"list_version":	"5",
	"dtv_flag":	1
}, {
	"list_name":	"Hot Bird 13°E",
	"list_para":	"sl3bd84cb6-680d-4113-ad06-1ed8e1c62707",
	"list_version":	"2",
	"dtv_flag":	1
}]

I did not understand what needs to be done to solve the problem ... can you give me some help?
I have the bridge on home assistant.

@wifi75 you have to wait until @sehaas releases a new version with the fix included.
Or you can modify the files manually in your installation.
See https://github.com/sehaas/ha_hisense_tv/pull/11 to know what files need to be replaced/modified but if you're not used to such modifications, I strongly suggets that you wait for the update.

If you just download the zip of the mqtt fix branch
https://github.com/sehaas/ha_hisense_tv/tree/fix_mqtt_api_changes and replace the contents of your hisense_tv directory in your custom_compments folder in your config directory you'll be good to go.

There doesn't seem to be any data In that topic (nothing showing in mqtt explorer anyway) - I don't actually use the TV tuners in mine though as I don't really watch live TV so would that be the issue? Though I was under the impression that Apps should be returned?

Thanks for the feedback.
The Media-Explorer shows both: TV Channels (grouped by the satellite receiver) and applications.
I'll handle this case as well and will release a new version.

It looks like the remotenow app requests gettvinfo which returns a load of data:

Thanks for the feedback. The Media-Explorer shows both: TV Channels (grouped by the satellite receiver) and applications. I'll handle this case as well and will release a new version.

so you can confirm that at the moment only the switching on and off works?

New version was released. Thanks for the support.

It looks like wrong version number (21.11.28 instead of 21.12.28).

It looks like wrong version number (21.11.28 instead of 21.12.28).

Thanks. Fixed.


Added a new tarball and updated subgraphs

Testing is done on local since travis is in maintenance down.


Scaling HBoxContainer children results in loss of alignment

Godot version:

OS/device including version:

Issue description:
When scaling a child of HBoxContainer, the item no longer matches the HBox alignment.
Steps to reproduce:

Create a HBoxContainer
Set the layout to Top Wide
Add a child MenuButton
Scale the MenuButton rect rect.scale to (0.1, 0.1)

The MenuButton will now be half way across the HBoxContainer
Other information

From what I can see, the rect_scale property on the MenuButton in this case is not editable and resets if you toggle visibility. Alignment is also displayed correctly after the toggling.

This is the expected behavior. Children of containers get their size and position (which are proxies of the margins values), overridden by the container itself. Changing those values should not be done and might lead to unexpected behaviors.
I think there is already a PR somewhere to fix that by disabling the edit of those properties, but I could not find it.

Here it is: #30623

Exactly, thanks ! :)

Oh, in fact I just realized that I am probably wrong. rect_scale is not rect_size and thus is not overridden by the parent container.
But this make this issue a duplicate of #19068.

Thanks guys!
Glad to know it's not a bug. It had me confused for a while so I'm glad there's a PR to prevent editing of the properties.


New term glossary

Based on Sonali's spreadsheet

There are several pages referencing glossary headlines which needs fixing:
docs/3.5/graphs-traversals-example-data.html
  hash does not exist --- docs/3.5/graphs-traversals-example-data.html --> appendix-glossary.html#edge-collection
docs/3.5/appendix-deprecated-simple-queries-fulltext-queries.html
  hash does not exist --- docs/3.5/appendix-deprecated-simple-queries-fulltext-queries.html --> appendix-glossary.html#fulltext-index
docs/3.5/graphs-traversals-using-traversal-objects.html
  hash does not exist --- docs/3.5/graphs-traversals-using-traversal-objects.html --> appendix-glossary.html#edge-collection
docs/3.5/programs-arangorestore-examples.html
  hash does not exist --- docs/3.5/programs-arangorestore-examples.html --> appendix-glossary.html#database-name
  hash does not exist --- docs/3.5/programs-arangorestore-examples.html --> appendix-glossary.html#edge-collection
docs/3.5/graphs-edges.html
  hash does not exist --- docs/3.5/graphs-edges.html --> appendix-glossary.html#document-handle
  hash does not exist --- docs/3.5/graphs-edges.html --> appendix-glossary.html#document-handle
  hash does not exist --- docs/3.5/graphs-edges.html --> appendix-glossary.html#edge-collection
docs/3.5/programs-arangoexport-examples.html
  hash does not exist --- docs/3.5/programs-arangoexport-examples.html --> appendix-glossary.html#database-name
docs/3.5/data-modeling-collections.html
  hash does not exist --- docs/3.5/data-modeling-collections.html --> appendix-glossary.html#collection-name
  hash does not exist --- docs/3.5/data-modeling-collections.html --> appendix-glossary.html#collection-identifier
docs/3.5/programs-arangodump-examples.html
  hash does not exist --- docs/3.5/programs-arangodump-examples.html --> appendix-glossary.html#database-name
docs/3.5/http/database.html
  hash does not exist --- docs/3.5/http/database.html --> ../appendix-glossary.html#database-name
docs/3.5/http/bulk-imports-importing-headers-and-values.html
  hash does not exist --- docs/3.5/http/bulk-imports-importing-headers-and-values.html --> ../appendix-glossary.html#edge-collection
docs/3.5/http/batch-request.html
  hash does not exist --- docs/3.5/http/batch-request.html --> ../appendix-glossary.html#database-name
docs/3.5/http/indexes-fulltext.html
  hash does not exist --- docs/3.5/http/indexes-fulltext.html --> ../appendix-glossary.html#fulltext-index
docs/3.5/http/database-database-endpoint.html
  hash does not exist --- docs/3.5/http/database-database-endpoint.html --> ../appendix-glossary.html#database-name
docs/3.5/http/traversal.html
  hash does not exist --- docs/3.5/http/traversal.html --> ../appendix-glossary.html#edge-collection
docs/3.5/http/collection.html
  hash does not exist --- docs/3.5/http/collection.html --> ../appendix-glossary.html#collection-identifier
docs/3.5/http/indexes.html
  hash does not exist --- docs/3.5/http/indexes.html --> ../appendix-glossary.html#document-key
  hash does not exist --- docs/3.5/http/indexes.html --> ../appendix-glossary.html#edge-collection
docs/3.5/http/document-address-and-etag.html
  hash does not exist --- docs/3.5/http/document-address-and-etag.html --> ../appendix-glossary.html#document-key
  hash does not exist --- docs/3.5/http/document-address-and-etag.html --> ../appendix-glossary.html#document-handle
  hash does not exist --- docs/3.5/http/document-address-and-etag.html --> ../appendix-glossary.html#document-revision
  hash does not exist --- docs/3.5/http/document-address-and-etag.html --> ../appendix-glossary.html#document-handle
  hash does not exist --- docs/3.5/http/document-address-and-etag.html --> ../appendix-glossary.html#document-key
  hash does not exist --- docs/3.5/http/document-address-and-etag.html --> ../appendix-glossary.html#document-revision
  hash does not exist --- docs/3.5/http/document-address-and-etag.html --> ../appendix-glossary.html#database-name
  hash does not exist --- docs/3.5/http/document-address-and-etag.html --> ../appendix-glossary.html#document-revision
docs/3.5/http/edge-address-and-etag.html
  hash does not exist --- docs/3.5/http/edge-address-and-etag.html --> ../appendix-glossary.html#document-handle
  hash does not exist --- docs/3.5/http/edge-address-and-etag.html --> ../appendix-glossary.html#database-name
docs/3.5/indexing-index-basics.html
  hash does not exist --- docs/3.5/indexing-index-basics.html --> appendix-glossary.html#document-key
  hash does not exist --- docs/3.5/indexing-index-basics.html --> appendix-glossary.html#edge-collection
docs/3.5/aql/operations-update.html
  hash does not exist --- docs/3.5/aql/operations-update.html --> ../appendix-glossary.html#collection-name
docs/3.5/aql/functions-document.html
  hash does not exist --- docs/3.5/aql/functions-document.html --> ../appendix-glossary.html#document-handle
  hash does not exist --- docs/3.5/aql/functions-document.html --> ../appendix-glossary.html#document-handle
  hash does not exist --- docs/3.5/aql/functions-document.html --> ../appendix-glossary.html#collection-name
docs/3.5/aql/operations-remove.html
  hash does not exist --- docs/3.5/aql/operations-remove.html --> ../appendix-glossary.html#collection-name
  hash does not exist --- docs/3.5/aql/operations-remove.html --> ../appendix-glossary.html#document-key
docs/3.5/aql/operations-upsert.html
  hash does not exist --- docs/3.5/aql/operations-upsert.html --> ../appendix-glossary.html#collection-name
docs/3.5/aql/examples.html
  hash does not exist --- docs/3.5/aql/examples.html --> ../appendix-glossary.html#collection-name
  hash does not exist --- docs/3.5/aql/examples.html --> ../appendix-glossary.html#edge-collection
docs/3.5/aql/operations-replace.html
  hash does not exist --- docs/3.5/aql/operations-replace.html --> ../appendix-glossary.html#collection-name
docs/3.5/aql/data-queries.html
  hash does not exist --- docs/3.5/aql/data-queries.html --> ../appendix-glossary.html#collection-name
docs/3.5/aql/operations-insert.html
  hash does not exist --- docs/3.5/aql/operations-insert.html --> ../appendix-glossary.html#collection-name
  hash does not exist --- docs/3.5/aql/operations-insert.html --> ../appendix-glossary.html#edge-collection
docs/3.5/data-modeling-documents-document-address.html
  hash does not exist --- docs/3.5/data-modeling-documents-document-address.html --> appendix-glossary.html#document-key
  hash does not exist --- docs/3.5/data-modeling-documents-document-address.html --> appendix-glossary.html#document-handle
  hash does not exist --- docs/3.5/data-modeling-documents-document-address.html --> appendix-glossary.html#document-revision
  hash does not exist --- docs/3.5/data-modeling-documents-document-address.html --> appendix-glossary.html#document-handle
  hash does not exist --- docs/3.5/data-modeling-documents-document-address.html --> appendix-glossary.html#document-key
  hash does not exist --- docs/3.5/data-modeling-documents-document-address.html --> appendix-glossary.html#document-revision
docs/3.5/programs-web-interface-graphs.html
  hash does not exist --- docs/3.5/programs-web-interface-graphs.html --> appendix-glossary.html#edge-collection

@cla-bot check


Interchain accounts packet timeout fails next sequence recv verification

Summary of Bug
The following is a summary of an issue encountered when testing an interchain-accounts timeout scenario.
Scenario: Register an interchain account using controller chain A on host chain B. Kill the relayer process. Send an interchain accounts packet from chainA -> chainB. Wait for 1 min timeout period. Restart the relayer process.
Expected behaviour: The packet should timeout gracefully and the ordered channel should be closed. The channel is expected to be able to be reopened and operational.
Upon packet timeout the relayer attempts to send a MsgTimeout to the sender chain A and fails proof verification on 04-channel/keeper/timeout.go#L110 - VerifyNextSequenceRecv()
Both channel ends remain in an OPEN state and the channel becomes unusable as further packets sent do not contain the expected sequence.
Version
interchain-accounts demo repo 30113be
ibc-go v3.0.0-rc0
hermes v0.12.0
Steps to Reproduce

Checkout the following interchain-accounts demo branch: interchain-accounts/pulls/86

Following the demo scenario as documented on the interchain-accounts README.md.

Initialise two test chains (chain A and chain B) where chain A assumes the role of ICA controller and chain B assumes the role of ICA host.

# bootstrap and start the two test chains
make init

# start the hermes relayer v0.12.0
make start-rly

# store the demo wallet addresses in the current env
export DEMOWALLET_1=$(icad keys show demowallet1 -a --keyring-backend test --home ./data/test-1) && echo $DEMOWALLET_1;
export DEMOWALLET_2=$(icad keys show demowallet2 -a --keyring-backend test --home ./data/test-2) && echo $DEMOWALLET_2;

# register an interchain account on host chain B from controller chain A
icad tx intertx register --from $DEMOWALLET_1 --connection-id connection-0 --chain-id test-1 --home ./data/test-1 --node tcp://localhost:16657 --keyring-backend test -y

# when handshake is successful, send some funds to the interchain account
icad tx bank send $DEMOWALLET_2 $ICA_ADDR 10000stake --chain-id test-2 --home ./data/test-2 --node tcp://localhost:26657 --keyring-backend test -y

Stop the relayer, submit a new interchain-accounts tx and wait approx. 1 min for the timeout to elapse.

icad tx intertx submit \
'{
    "@type":"/cosmos.staking.v1beta1.MsgDelegate",
    "delegator_address":"cosmos15ccshhmp0gsx29qpqq6g4zmltnnvgmyu9ueuadh9y2nc5zj0szls5gtddz",
    "validator_address":"cosmosvaloper1qnk2n4nlkpw9xfqntladh74w6ujtulwnmxnh3k",
    "amount": {
        "denom": "stake",
        "amount": "1000"
    }
}' --connection-id connection-0 --from $DEMOWALLET_1 --chain-id test-1 --home ./data/test-1 --node tcp://localhost:16657 --keyring-backend test -y

Restart the relayer and observe the retry loop by hermes with the following error:

2022-02-28T10:39:58.514253Z ERROR ThreadId(20) send_tx_check{id=OYUT2Twsoz}:send_tx{id=test-1}:estimate_gas:
failed to simulate tx. propagating error to caller:
gRPC call failed with status: status: Unknown, message: "failed to execute message; message index: 1:
timeout packet verification failed: failed next sequence receive verification for client (07-tendermint-0):
chained membership proof contains nonexistence proof at index 0.
If this is unexpected, please ensure that proof was queried from a height that contained the value in store
and was queried with the correct key.
The key used: /ibc/nextSequenceRecv%2Fports%2Ficahost%2Fchannels%2Fchannel-0: invalid proof",
details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc", "x-cosmos-block-height": "501"} }

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

"failed to execute message; message index: 1:
timeout packet verification failed: failed next sequence receive verification for client (07-tendermint-0):
chained membership proof contains nonexistence proof at index 0.

This means that there does not exist a value for the key that you queried. Are you 100% sure that the portID and channelID are correct?
If you're timing out because a message was not executed in time, then shouldn't we be querying the controller side and submitting to the host side? So it looks to me like the query:
ibc/nextSequenceRecv%2Fports%2Ficahost%2Fchannels%2Fchannel-0
is wrong.
We need to be querying with port icacontroller. I would double check that we are actually querying the right chain (controller chain), and if we are then we should be querying with portID: icacontroller and the channelID on the controller side

The MsgTimeout should be submitted to the source chain (chain A - controller), with a proof and nextSequenceRecv queried from the destination chain (chain B - host), correct?
From what I could dig through the hermes source the query seems to be initiated here: https://github.com/informalsystems/ibc-rs/blob/v0.12.0/relayer/src/link/relay_path.rs#L1102

the problem is that hermes (still) doesn't set properly the relay path ordering (so we send the non-existence proofs as if it's an unordered channel). I thought we fixed this. Could you try anca/ordered_fixes branch of hermes?

Tested using anca/ordered_fixes branch and appears to work like a charm. Will run some more manual QA on this, but looks good. Thanks so much again @ancazamfir!
Shall I leave this issue open until the hermes fix is delivered in a patch release? Otherwise I am happy to close it. cc. @crodriguezvega @AdityaSripal

As a final check, can we please also test with https://github.com/informalsystems/ibc-rs/pull/1887 ? This PR is a superset of Anca's patch, so I'd expect it to work, but it also includes modifications for a corner-case with packet clearing on ordered channels that should be take into account. Thank you in advance Damian for any feedback/review of 1887!

I think we can close the issue, since there are no changes needed in ibc-go for now.
Thanks everyone for the quick response!


Openpilot unavaiable "communication issue between processes" with ubuntu 20.04 simulator

Totally a newbie to this, but I'm super interest in this project.
Need some help to get simulator working.
Describe the bug
followed calar wiki
https://github.com/commaai/openpilot/wiki/CARLA
but gets error message
Openpilot unavaiable "communication issue between processes"
when attempt to key in "1", "2"
How to reproduce or log data
using master branch code, follow wiki
Install drivers and start carla
sudo INSTALL=1 ./start_carla.sh
Run openpilot
Open a second terminal window by pressing Ctrl + Alt + T
cd openpilot/tools/sim
sudo ./start_openpilot_docker.sh
Expected behavior
expected to be able to dive like the video
https://www.youtube.com/watch?v=lPQHv3z3MWY
Additional context
launch_openpilot.sh log
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
getting pilotauth
preimporting selfdrive.thermald.thermald
Building panda firmware
preimporting selfdrive.loggerd.uploader
preimporting selfdrive.loggerd.deleter
preimporting selfdrive.controls.controlsd
preimporting selfdrive.controls.plannerd
preimporting selfdrive.controls.radard
preimporting selfdrive.monitoring.dmonitoringd
preimporting selfdrive.logmessaged
preimporting selfdrive.locationd.locationd
preimporting selfdrive.tombstoned
preimporting selfdrive.pandad
preimporting selfdrive.locationd.calibrationd
preimporting selfdrive.locationd.paramsd
preimporting selfdrive.updated
preimporting selfdrive.rtshield
manager start
{'environ': environ({'SHELL': '/bin/bash', 'NVIDIA_VISIBLE_DEVICES': 'all', 'PYENV_HOOK_PATH': '/root/.pyenv/pyenv.d:/usr/local/etc/pyenv.d:/etc/pyenv.d:/usr/lib/pyenv/hooks:/root/.pyenv/plugins/pyenv-virtualenv/etc/pyenv.d:/root/.pyenv/plugins/pyenv-which-ext/etc/pyenv.d', 'PYTHONUNBUFFERED': '1', 'TMUX': '/tmp//tmux-0/default,8,0', 'HOSTNAME': 'iotlabtpe-Z390-AORUS-PRO-WIFI', 'LANGUAGE': 'en_US:en', 'PYENV_VERSION': '3.8.2', 'PWD': '/openpilot/selfdrive', 'NVIDIA_DRIVER_CAPABILITIES': 'compute,utility,display', 'NOBOARD': '1', 'HOME': '/root', 'LANG': 'en_US.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:*.xspf=00;36:', 'PYENV_DIR': '/openpilot/selfdrive', 'SIMULATION': '1', 'PYTHONPATH': '/openpilot:', 'TERM': 'screen', 'TMUX_PANE': '%0', 'DISPLAY': ':1', 'SHLVL': '1', 'PASSIVE': '0', 'PYENV_ROOT': '/root/.pyenv', 'LC_ALL': 'en_US.UTF-8', 'PATH': '/root/.pyenv/versions/3.8.2/bin:/root/.pyenv/libexec:/root/.pyenv/plugins/python-build/bin:/root/.pyenv/plugins/pyenv-virtualenv/bin:/root/.pyenv/plugins/pyenv-update/bin:/root/.pyenv/plugins/pyenv-installer/bin:/root/.pyenv/plugins/pyenv-doctor/bin:/root/.pyenv/plugins/python-build/bin:/root/.pyenv/plugins/pyenv-virtualenv/bin:/root/.pyenv/plugins/pyenv-update/bin:/root/.pyenv/plugins/pyenv-installer/bin:/root/.pyenv/plugins/pyenv-doctor/bin:/root/.pyenv/bin:/root/.pyenv/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'DEBIAN_FRONTEND': 'noninteractive', 'OLDPWD': '/openpilot/tools/sim', 'BASEDIR': '/openpilot', 'DONGLE_ID': '5ea1436c928739d2'})}
selfdrive/loggerd/loggerd.cc: bootlog to /data/media/0/realdata/2021-01-05--08-52-34--0
starting daemon manage_athenad
starting python selfdrive.pandad
starting python selfdrive.thermald.thermald
Connecting to panda
starting python selfdrive.logmessaged
starting process ui
starting python selfdrive.loggerd.uploader
fatal: not a git repository (or any of the parent directories): .git
starting python selfdrive.loggerd.deleter
uploader_fn
{"event": "uploader_netcheck", "is_on_wifi": false}
to upload ('2021-01-05--08-04-18--0/qlog.bz2', '/data/media/0/realdata/2021-01-05--08-04-18--0/qlog.bz2')
{"event": "upload", "key": "2021-01-05--08-04-18--0/qlog.bz2", "fn": "/data/media/0/realdata/2021-01-05--08-04-18--0/qlog.bz2", "sz": 46751744}
checking '2021-01-05--08-04-18--0/qlog.bz2' with size 46751744
uploading '/data/media/0/realdata/2021-01-05--08-04-18--0/qlog.bz2'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
PulseAudioService: pa_context_connect() failed
PulseAudioService: pa_context_connect() failed
PulseAudioService: pa_context_connect() failed
PulseAudioService: pa_context_connect() failed
PulseAudioService: pa_context_connect() failed
PulseAudioService: pa_context_connect() failed
PulseAudioService: pa_context_connect() failed
PulseAudioService: pa_context_connect() failed
PulseAudioService: pa_context_connect() failed
QDBusArgument: read from a write-only object
QDBusArgument: read from a write-only object
QDBusArgument: read from a write-only object
OpenGL version: OpenGL ES 3.2 NVIDIA 455.38
OpenGL vendor: NVIDIA Corporation
OpenGL renderer: GeForce GTX 1080/PCIe/SSE2
OpenGL language version: OpenGL ES GLSL ES 3.20
resize 1920x1080
upload_url v1.3 https://commadata2.blob.core.windows.net/qlog/5ea1436c928739d2/2021-01-05--08-04-18/0/qlog.bz2?se=2021-01-12T08%3A52%3A35Z&sp=cw&sv=2018-03-28&sr=b&sig=7f4HgATg22GGHYjsioSYnsYacJ7E%2BMEkniAqnQE0rVY%3D {'x-ms-blob-type': 'BlockBlob'}
pandad thermald logmessaged ui uploader deleter
{"event": "STATUS_PACKET", "count": 0, "health": null, "location": null, "thermal": {"thermal": {"cpu0DEPRECATED": 0, "cpu1DEPRECATED": 0, "cpu2DEPRECATED": 0, "cpu3DEPRECATED": 0, "memDEPRECATED": 0, "gpuDEPRECATED": 0, "batDEPRECATED": 0, "freeSpace": 0.8811560273170471, "batteryPercent": 100, "batteryStatus": "Charging", "fanSpeed": 0, "started": false, "usbOnline": false, "startedTs": 0, "thermalStatus": "green", "batteryCurrent": 0, "batteryVoltage": 0, "chargingError": false, "chargingDisabled": false, "memUsedPercent": 21, "cpuPerc": 25, "pa0DEPRECATED": 0, "networkType": "wifi", "offroadPowerUsage": 0, "networkStrength": "unknown", "carBatteryCapacity": 4753818, "cpu": [0.0], "gpu": [0.0], "mem": 0.0, "bat": 0.0, "ambient": 0.0}, "logMonoTime":<PHONE_NUMBER>5742, "valid": true}}
pandad thermald logmessaged ui uploader deleter
pandad thermald logmessaged ui uploader deleter
pandad thermald logmessaged ui uploader deleter
pandad thermald logmessaged ui uploader deleter
pandad thermald logmessaged ui uploader deleter
pandad thermald logmessaged ui uploader deleter
pandad thermald logmessaged ui uploader deleter
pandad thermald logmessaged ui uploader deleter
frame: Reader was evicted, reconnecting
sensorEvents: Reader was evicted, reconnecting
pandad thermald logmessaged ui uploader deleter
health: Reader was evicted, reconnecting
driverState: Reader was evicted, reconnecting
dMonitoringState: Reader was evicted, reconnecting
health: Reader was evicted, reconnecting
pandad thermald logmessaged ui uploader deleter
Setting up UNO fan handler
{"event": "Startup blocked", "startup_conditions": {"ignition": true, "time_valid": true, "up_to_date": true, "not_uninstalling": true, "accepted_terms": true, "fw_version_match": true, "free_space": true, "completed_training": true, "not_driver_view": true, "not_taking_snapshot": true, "device_temp_good": true, "hardware_supported": true}}
pandad thermald logmessaged ui uploader deleter
starting python selfdrive.controls.controlsd
starting python selfdrive.controls.plannerd
Waiting for CAN messages...
controlsState: Reader was evicted, reconnecting
carParams: Reader was evicted, reconnecting
starting process loggerd
plannerd is waiting for CarParams
starting python selfdrive.controls.radard
Getting VIN & FW versions
starting python selfdrive.locationd.calibrationd
start radard_thread....
radard is waiting for CarParams
starting python selfdrive.locationd.paramsd
liveCalibration: Reader was evicted, reconnecting
starting process camerad
paramsd is waiting for CarParams
starting process modeld
starting process proclogd
starting python selfdrive.locationd.locationd
starting process clocksd
starting process sensord
pandad thermald logmessaged ui uploader deleter controlsd plannerd loggerd radard calibrationd paramsd camerad modeld proclogd locationd clocksd sensord
Warning, evicting all subscribers!
Warning, evicting all subscribers!
selfdrive/sensord/sensors/bmx055_accel.cc: Reading chip ID failed: -1
selfdrive/sensord/sensors_qcom2.cc: Error initializing sensors
uiLayoutState: Reader was evicted, reconnecting
ubloxGnss: Reader was evicted, reconnecting
selfdrive/loggerd/loggerd.cc: logging to /data/media/0/realdata/2021-01-05--08-52-49--0
selfdrive/loggerd/loggerd.cc: rotated to /data/media/0/realdata/2021-01-05--08-52-49--0
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
platform[0] CL_PLATFORM_NAME: NVIDIA CUDA\00
vendor: NVIDIA Corporation\00
platform version: OpenCL 1.2 CUDA 11.1.110\00
profile: FULL_PROFILE\00
extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_device_uuid\00
name :GeForce GTX 1080\00
device version :OpenCL 1.2 CUDA\00
max work group size :1024
type = 4 = CL_DEVICE_TYPE_GPU
model: Reader was evicted, reconnecting
cameraOdometry: Reader was evicted, reconnecting
modelV2: Reader was evicted, reconnecting
modelV2: Reader was evicted, reconnecting
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
platform[0] CL_PLATFORM_NAME: NVIDIA CUDA\00
vendor: NVIDIA Corporation\00
platform version: OpenCL 1.2 CUDA 11.1.110\00
profile: FULL_PROFILE\00
extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_device_uuid\00
name :GeForce GTX 1080\00
device version :OpenCL 1.2 CUDA\00
max work group size :1024
type = 4 = CL_DEVICE_TYPE_GPU
vin query retry (1) ...
cameraOdometry: Reader was evicted, reconnecting
vin query retry (2) ...
selfdrive/modeld/modeld.cc: models loaded, modeld starting
selfdrive/modeld/modeld.cc: visionstream connect failed
Assertion failed: ok (src/mailbox.cpp:99)
vin query retry (3) ...
selfdrive/modeld/modeld.cc: visionstream connect failed
cameraOdometry: Reader was evicted, reconnecting
width 1164, height 874, rgb_stride 3492
vin query retry (4) ...
selfdrive/modeld/modeld.cc: visionstream connect failed
width 816, height 612, rgb_stride 2448
selfdrive/camerad/main.cc: client start fd 148
pandad thermald logmessaged ui uploader deleter controlsd plannerd loggerd radard calibrationd paramsd camerad modeld proclogd locationd clocksd sensord
vin query retry (5) ...
selfdrive/camerad/main.cc: client start fd 156
selfdrive/modeld/modeld.cc: connected with buffer size: 1526004
_modeld: selfdrive/modeld/runners/onnxmodel.cc:62: void ONNXModel::pwrite(float *, int): Assertion `err >= 0' failed.
vipc_recv err: Connection reset by peer
selfdrive/camerad/main.cc: client end fd 156
pandad thermald logmessaged ui uploader deleter controlsd plannerd loggerd radard calibrationd paramsd camerad modeld proclogd locationd clocksd sensord
pandad thermald logmessaged ui uploader deleter controlsd plannerd loggerd radard calibrationd paramsd camerad modeld proclogd locationd clocksd sensord
pandad thermald logmessaged ui uploader deleter controlsd plannerd loggerd radard calibrationd paramsd camerad modeld proclogd locationd clocksd sensord
pandad thermald logmessaged ui uploader deleter controlsd plannerd loggerd radard calibrationd paramsd camerad modeld proclogd locationd clocksd sensord
VIN<PHONE_NUMBER>0000000
fingerprinted HONDA CIVIC 2016 TOURING
ECU Camera Simulated: True
ECU Gas Interceptor: True
paramsd got CarParams
Parameter learner resetting to default values
model: Reader was evicted, reconnecting
liveCalibration: Reader was evicted, reconnecting
liveLocationKalman: Reader was evicted, reconnecting
{"event": "alert_add", "alert_type": "startupMaster/permanent", "enabled": false}
liveLocationKalman: Reader was evicted, reconnecting
plannerd got CarParams: honda
radard got CarParams
radard is importing honda
plan: Reader was evicted, reconnecting
pathPlan: Reader was evicted, reconnecting
radarState: Reader was evicted, reconnecting
received can message??
received can message??
received can message??
pandad thermald logmessaged ui uploader deleter
Operating system: Ubuntu 20.04

Duplicate of #2501

Duplicate of #2501

Hi @adeebshihadeh,
thanks for replying.
I did the same change in
https://user-images.githubusercontent.com/22060625/98455550-2e19d300-2140-11eb-9deb-454dfce0791d.png
but it seems not fixed the issue,
and in bridge.py: is already changed from "greyPanda" to "blackPanda"
but it still runs into the same issue.
kill and restart openpilot did not help too.
Is the fix in discord?
Thanks!


Prevent buildSrc build from hanging when included build is substituted as a dependency

Fixes #?
Context

Contributor Checklist

[ ] Review Contribution Guidelines
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ ] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@jjohannes could you take a look at this?
Here's what's going on:

We have a IncludedBuildControllers that manages the lifecycle of each IncludedBuildController
For the root build, we have a real implementation of this
For all other builds, we have a fake "empty" implementation

There are two mechanisms for included builds to get triggered to run tasks. One is tied to plugin resolution. The other is tied to discovering included build substitutions when building the task graph.
For the root build when we're about to execute tasks, the real IncludedBuildControllers prepares all of the included builds to execute.
For all other builds, nothing happens because the root build is managing the included builds.
For buildSrc, we get the empty IncludedBuildControllers that does nothing. Since it builds independently before the root build, this causes buildSrc to discover included build substitutions, but nothing ever prepares the included builds for execution. This causes buildSrc to wait for tasks that will never be executed.
This change makes it so buildSrc mostly reuses the root's IncludedBuildControllers so that it can manage the lifecycle of included builds before the root build gets involved.
I think I may be missing something WRT the buildFinished callback, but I'm going to check that later.  This fixes the test case I found that would just hang.

I can't say that I have particular expertise here. :) But what you write makes sense to me so I think this is the right solution.


Remove screenshot from microagent prompt

This removes the BrowserObservation screenshot from the microagent prompt.
Fixes https://github.com/OpenDevin/OpenDevin/issues/1545
This is based on what we do in MonologueAgent:
https://github.com/OpenDevin/OpenDevin/blob/91c8f1cb3f16904bac79f548bc1474c8601403f8/agenthub/monologue_agent/agent.py#L117
We might also consider making this a more general utility function in the future (converting history to text).
UPDATE: This is still buggy, will convert to an issue and ping when it's fixed.

We've done this in a few places now--we need a better solution 🙃
Actually--maybe we should put this in to_memory? I think that drops a few field


Added an Alternatives section

@toastdriven there's no link to https://github.com/maxbachmann/RapidFuzz

@graingert Correct. I dug through the source code of RapidFuzz. It forked from fuzzywuzzy at a time when it was still under the MIT license, and confirmed there was no GPL code in that version of fuzzywuzzy.
So at least from a forking/licensing perspective, it's a viable alternative to pylev. Given that it's a low(er)-traffic fork, I opted to leave it off in favor of a couple more if the libraries that motivated the creation of pylev.
Last, sorry for the rewording. I had a laugh at the original commit, because that's how I felt before making pylev. But I don't want to risk people misreading & believing I'm insulting other people's work or choice of license, which was never the intent.
Thanks for the help!

🤷


JedisCluster with jedisPoolConfig : Do we need to explicitely return/release jedis connection to pool???

Expected behavior
Write here what you're expecting ...
Actual behavior
Write here what happens instead ...
Steps to reproduce:
Please create a reproducible case of your problem. Make sure
that case repeats consistently and it's not random
1.
2.
3.
Redis / Jedis Configuration
Jedis version:
Redis version:
Java version:

Yes you do, or you can use try-with-resources
https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

I am using JedisCluster object and not Jedis object.
Can you please tell me how to do that?

With JedisCluster you don't need to close the connection as the JedisCluster does it for you automatically. If you're running out of connections have you tried getting a thread dump in that situation to see where the program is getting stuck?

Yes. It is waiting for connection in pool. I shall show you the exact
method where thread is blocked.
If JedisCluster closes connection or it just returns the connection to the
pool?
Because I have created a pool of 1000 connections and I believe they are
getting used and JedisCluster us not creating new connections apart from
pool
On Thursday, April 18, 2019, Marcos Nils<EMAIL_ADDRESS>wrote:

With JedisCluster you don't need to close the connection as the
JedisCluster does it for you automatically. If you're running out of
connections have you tried getting a thread dump in that situation to see
where the program is getting stuck?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xetorthio/jedis/issues/1975#issuecomment-484597765,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD45QDKOIY7ZOFVJ2NCMELTPRCUIRANCNFSM4HGS7LNA
.

--
Thanks,
Sagar Sitap

Yes. It is waiting for connection in pool. I shall show you the exact
method where thread is blocked.
If JedisCluster closes connection or it just returns the connection to the
pool?
Because I
On Thursday, April 18, 2019, Marcos Nils<EMAIL_ADDRESS>wrote:

With JedisCluster you don't need to close the connection as the
JedisCluster does it for you automatically. If you're running out of
connections have you tried getting a thread dump in that situation to see
where the program is getting stuck?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xetorthio/jedis/issues/1975#issuecomment-484597765,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD45QDKOIY7ZOFVJ2NCMELTPRCUIRANCNFSM4HGS7LNA
.

--
Thanks,
Sagar Sitap

Yes. It is waiting for connection in pool.
On Thursday, April 18, 2019, Marcos Nils<EMAIL_ADDRESS>wrote:

With JedisCluster you don't need to close the connection as the
JedisCluster does it for you automatically. If you're running out of
connections have you tried getting a thread dump in that situation to see
where the program is getting stuck?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/xetorthio/jedis/issues/1975#issuecomment-484597765,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD45QDKOIY7ZOFVJ2NCMELTPRCUIRANCNFSM4HGS7LNA
.

If JedisCluster closes connection or it just returns the connection to the pool?

It returns it to the pool.


Proof of concept for clearing the exposed state

Summary | Résumé
Proof of concept for clearing the exposed state

Closing this for the updated (based on latest master) https://github.com/cds-snc/covid-alert-app/pull/1240


preprocessing

Hello, may I ask you to provide the following preprocessing command,

How exactly should it be used?
What is the data set number? Is it the specific name of the data set?

nnUNetv2_plan_and_preprocess -d DATASET_ID --verify_dataset_integrity

umamba/nnunetv2/paths.py 你可以查看这个代码，DATASET_ID换成001-999的数字


Added various functions basic math classes. Also enabled math checks …

…only for debug builds.
Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly.
Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions.
Various other changes mostly cosmetic in nature.

Some references:
In #8214, @reduz suggested me to enable the mathematical sanity check (is_normalized check for Vector2 and Vector3) only in debug builds. This PR consistently aligns the rest of core/math by hiding mathematical checks behind MATH_CHECKS, only defined for debug builds.
Also addresses @n-pigeon request about is_normalized in #8214.

Also, I assume you ran -doctool prior/after you changed the docs?

Nope, I've never done that before, at all. Isn't that something the project members do at certain intervals, rather than whenever docs changed?

I just tried running doctool, and it's giving me some changes related to other stuff recently merged such as DLScript, AStar, etc. Do you prefer if I committed those nevertheless?

@tagcup Ah, sorry then. If you prefer you can do it in a seperate commit (to reduce noise to some extent), or you can just leave it as-is, and I (or someone else) would sync it later on.

Cool, although, let me quickly modify a comment about polar decomposition; I think it really deserves some explanation because it's a bit opaque for potential future contributors.

Done, just expanded a few code comments.

BTW, for future, I think it'd be nice if we could expose Quat::get_axis_angle(). Is there a way in GDScript to return multiple values, like passing reference (vector and real) arguments?

@akien-mga To clarify the title, this PR doesn't add any new math checks. It rather disables those checks for non-debug builds.

Please handle your TODO about get_rotation needing to be renamed soon, so that we don't forget :)

Yup, I just need @reduz's confirmation on that! I'll ask him over IRC

@akien-mga I actually have a TODO list I keep maintaining here, just added there to be safe


Remove support for date/time with =/!= expressions

Purpose or Intent
Currently if an =/!= expression is passed a relative datetime ("Today",
"Yesterday", etc.) it will error out because it is passing a mode of
nil to RelativeDatetime, which is not supported.
When selecting a date or datetime field from the UI the only operators
that are supported are IS, BEFORE, AFTER, FROM, IS EMPTY and IS NOT
EMPTY. Since neither = nor != are supported in the UI, support in the
back end can be removed which not only helps in simplifying the code,
but will circumvent the need to fix this bug.
@miq-bot add-label core
@miq-bot assign @gtanzillo
:fire: :scissors: :fire:

@imtayadeway
Is there a bugzilla for this fix?
Would it make sense to simply not pass mode and let MiqExpression::RelativeDatetime#normalize use it's default mode = beginning ?

@jvlcek there's no BZ for this, I just discovered it while trying to refactor some of this stuff. I'm hesitant to label it as a bug as it's not reachable in the UI - the only way you'd reach this is by building an expression from scratch in Ruby.

Would it make sense to simply not pass mode and let MiqExpression::RelativeDatetime#normalize use it's default mode = beginning

That would make #normalize happy but might not make sense in a wider context. If you had an expression like:
{"=" => {"field" => "Vm.last_scan_on", "value" => "Yesterday"}}

That behavior might be quite surprising - you'd want it to check for a value that was between a range of times, but it would only look for a time at the beginning of the day of yesterday.
With datetimes it's hard to imagine a sensible behavior for equality - would you ever know the seconds and microseconds and expect something to match that? Since we have an operator that handles these cases for ranges of time ("IS") I feel OK with losing this.

@imtayadeway Thank you for the detailed explanation! 👍  LGTM

@jvlcek thanks for checking this out! :heart:

✂ 🔥 ✂ 🔥 ✂ 🔥
🍰  🍪 👏 🙇 😍 🎉


Ruby 3.4.0preview1 - False positive for Style/FrozenStringLiteralComment cop

Ruby 3.4.0preview1 was released on May 16 and string literals are (finally) frozen by default. See release notes.
Expected behavior
With Ruby 3.4.0preview1
In a file without the string literal comment I would expect no offense.
In a file with the string literal comment I would expect an offense stating that the string literal comment is unnecessary
Note: As deprecation warnings are not emitted by default the cop comment may want to suggest using Warning[:deprecated] = true or enabling the flag with -W:deprecated
Actual behavior
"Style/FrozenStringLiteralComment: Missing frozen string literal comment" cop is triggered
Steps to reproduce the problem
With Ruby 3.4.0preview1:
$ touch file.rb
$ echo "str = 'foo'" > file.rb
$ echo "puts str.frozen?" >> file.rb
$ ruby file.rb
> true
$ rubocop file.rb # triggers cop

RuboCop version
$ bundle exec rubocop -V
1.63.5 (using Parser <IP_ADDRESS>, rubocop-ast 1.31.3, running on ruby 3.4.0) [x86_64-linux]
  - rubocop-capybara 2.20.0
  - rubocop-minitest 0.35.0
  - rubocop-performance 1.21.0
  - rubocop-rake 0.6.0
  - rubocop-sequel 0.3.4

I don't believe its time for this quite yet. While I'd love to finally get rid of these comments there are subtle differences during the migration time until Ruby 4.0:

Strings report frozen? == true but can still be modified (subject to change, see https://bugs.ruby-lang.org/issues/20205#note-45)
Modifying a string in a file without the pragma will emit a deprecation warning, like you said in the OP

It seems better for interested users to manually set EnforcedStyle: never until they are truly frozen.

The behavior is still unstable with the introduction of the new concept of "chilled string". It might be better to wait until the specifications stabilize.

I shall chill along with my strings :-)

FYI, The following is an article worth reading to understand the current state of frozen string literal.
https://gist.github.com/fxn/bf4eed2505c76f4fca03ab48c43adc72#can-i-delete-the-magic-comments-in-ruby-34


RingInfo Cannot Be Instantiated

Description: RDKit for Python fails to instantiate RingInfo module

RDKit Version: 2016.03.5
Platform: Ubuntu 18.04.2 TLS over Windows 10

Hi, I am trying to instantiate the RingInfo.cpp class in RDKit for Python as there are functions of interest, as well as ones I have created in RingInfo.cpp that I would like to call from a Python script. When I go to call it after importing it, it cannot be used because as the API notes, all RingInfo class functions can be called only after instantiating the object. So, I try to do this, but I see that the compiler cannot instantiate it.

>>> from rdkit.Chem import RingInfo
>>> m = Chem.MolFromSmiles('c1ccccc1C(=O)O')
>>> x = RingInfo(m)
Traceback (most recent call last):
   File "<stdin>", line 1, in module <module>
RuntimeError: This class cannot be instantiated from Python

Is this because RingInfo has not been added to the BOOST Library when RDKit was built? I installed my current RDKit by simply installing via the installation instructions' recommended one-line command:
sudo apt-get install python-rdkit librdkit1 rdkit-data

And I am using Python 2.7.15. I'm willing to try building from source on another PC that will actually achieve this (Ubuntu over Windows has not worked out for me after 3 days of trying to build from source) and modify the CMake instructions accordingly to include RingInfo in the Python wrapper if it hasn't been already--but my necessary and first questions are:
-Why is this happening? Why can't I instantiate RingInfo?
-Has RingInfo been properly included in the BOOST library that creates the C++ Pythonic wrapper?
-How can I go about fixing this myself? I'm really just a novice, unfamiliar with many high-level details, so please explain.
My thanks to all in advance.

You can get the ring info directly from the molecule:

m = Chem.MolFromSmiles('OC1C2C1CC2') >>> ri = m.GetRingInfo()
ri.NumAtomRings(0)
This is detailed in the starting guide.

https://www.rdkit.org/docs/GettingStartedInPython.html

Brian Kelley

On Jul 24, 2019, at 4:04 PM, complext<EMAIL_ADDRESS>wrote:
**Description: RDKit for Python fails to instantiate **
RDKit Version: 2016.03.5
Platform: Ubuntu 18.04.2 TLS over Windows 10
Hi, I am trying to instantiate the RingInfo.cpp class in RDKit for Python as there are functions of interest, as well as ones I have created in RingInfo.cpp that I would like to call from a Python script. When I go to call it after importing it, it cannot be used because as the API notes, all RingInfo class functions can be called only after instantiating the object. So, I try to do this, but I see that the compiler cannot instantiate it.

from rdkit.Chem import RingInfo
m = Chem.MolFromSmiles('c1ccccc1C(=O)O')
x = RingInfo(m)
Traceback (most recent call last):
File "", line 1, in module
RuntimeError: This class cannot be instantiated from Python
Is this because RingInfo has not been added to the BOOST Library when RDKit was built? I installed my current RDKit by simply installing via the installation instructions' recommended one-line command:

sudo apt-get install python-rdkit librdkit1 rdkit-data
And I am using Python 2.7.15. I'm willing to try building from source on another PC that will actually achieve this (Ubuntu over Windows has not worked out for me after 3 days of trying to build from source) and modify the CMake instructions accordingly to include RingInfo in the Python wrapper if it hasn't been already--but my necessary and first questions are:
-Why is this happening? Why can't I instantiate RingInfo?
-Has RingInfo been properly included in the BOOST library that creates the C++ Pythonic wrapper?
-How can I go about fixing this myself? I'm really just a novice, unfamiliar with many high-level details, so please explain.
My thanks to all in advance.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

 Thank you sir!!!
As a final follow-up, does this mean if I introduced my own method into RingInfo.cpp and RingInfo.h, I have to rebuild from this "newly edited" source so that the wrapper will include the method, assuming I wish to call it from Python? And perhaps edit the cmake config file too?

No you would have to expose it manually in the boost python wrappers.  It’s not terribly hard but it is initially confusing.
The wrapper is here:
https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/Wrap/RingInfo.cpp

Brian Kelley

On Jul 24, 2019, at 4:56 PM, complext<EMAIL_ADDRESS>wrote:
Well, this is the simplest answer to meet a dumb question that wasted the most time on it. Thank you sir!!!
As a final follow-up, does this mean if I introduced my own method into RingInfo.cpp and RingInfo.h, I have to rebuild from this "newly edited" source so that the wrapper will include the method, assuming I wish to call it from Python? And perhaps edit the cmake config file too?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

@complext if you have any more questions on this, feel free to reopen the issue or open a new one.


Update stable releases for v1.7.9

Smoke test hit #12279, clearly unrelated to current changes. Marked as ready to merge.


When deleting an item in a container, how to retain active.data.current?

I'm trying to create a situation where you drag and drop items into a board.

On first click, it's hovering over nothing, so nothing shows on the board. I'm using a custom collisionDetectionStrategy to detect this.
Only once it enters the board, the item will appear on the board via a state update
Once the item is placed on the board, and I hover back OUTSIDE of the board, it gets deleted. Cool.
The issue: The active data in the collisionDetection loses all the data props. So now it doesn't detect anything further and it can't go back INSIDE the board.

How can I assign the active data back in my collisionDetection once I delete an item on the board or how do I avoid nulling the active data in the first place? Where does the collisionDetection args data pull from? Somehow I'm updating the state and nullifying the data in the active item...

Oh wow....... so in these cases, you're not supposed to be using args.active in the collisionDetection, nor the active prop in onDragOver because those are null... so it's actually recommended in situations like this to have an activeItem state and use that in the collisionDetection as well as onDragOver.


no module named models.rnn

Traceback (most recent call last):
File "./experiments/testing/ROLO_network_test_all.py", line 30, in
from tensorflow.models.rnn import rnn, rnn_cell
ImportError: No module named models.rnn

did you manage to solve it ?

This issue is solved for me by replacing  this
from tensorflow.models.rnn import rnn_cell  with
from tensorflow.python.ops import rnn_cell

create a folder named models/rnn in your tensorflow environment packages then put two files 'rnn.py','rnn_cell.py' in folder update/src then you can solve it.


Implement non-function type alias support in Kythe

This issue tracks support of the non-function type alias feature.  See the enclosing meta-issue for details.
cc @davidmorgan @mit-mit @franklinyow

Thanks; b/179969218

This is tracked internally and my understanding is that we will not block on this - indexing will land after we turn this on internally.


Update w2tooltip.js Problem in calendar if weekStarts = 'M'

If weekStarts == 'M' in settings and the month start with a Sunday it will show Monday as red day

Thank you for your PR. With next PR, please review https://github.com/vitmalina/w2ui/wiki/Contribution-Requirement, as there were formatting issue. I fixed it this time. Thanks.

There are es lint rules defined, you can just run eslint src demos --ext js --fix to fix them all


add absolute url for issue template and pull request template

Correct the url for FAQ and known issues in issue template
Add url for contributing.md in pull request template
Both of them work fine in preview model of github.

@chucklu,
Thanks for your contribution.
To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla.microsoft.com.
It will cover your contributions to all Microsoft-managed open source projects.
Thanks,
Microsoft Pull Request Bot

@chucklu, thanks for signing the contribution license agreement. We will now validate the agreement and then the pull request.
Thanks, Microsoft Pull Request Bot

As far as I can tell, these links are never clickable or even visible as hyperlinks. I wonder if it would make more sense to use absolute URLs so the can at least be copy/pasted from the PR/Issue TextBox.

I agree with @markekraus that we probably should use absolute URLs in those places.

@markekraus  When you remove the comment mark in markdown,then preview it,you can click the url.
The template with comment mark is weird,since it was written in markdown. But it‘s invisible in preview model.
I suggest you check the issue template of git for windows.Here is the link.

@markekraus  Hi,I have add absolute url for it,and force push to my fork repository.

You can check it,thanks.

Looks good to me! Thanks!


document link bug(?)

Description
In readme.md last sentence, timeline link and trigger link are wrong. I don't know what it was actually linking, so I opened an issue.
Unicode characters are supported throughout, through the use of the helpers in the
resources/regexes.js file. However timelines
and log event triggers may be incorrect if names that appear in the
ACT log events are different.

we should either remove both links or point both to /ui/raidboss/data
The original links are simply not valid as in the OG days trigger and timeline files had theire respective folders inside ui/raidboss/data
@quisquous do you prefere removing both links, change both to the same location or rephrase the sentence to reflect the current setup?

I think we could just remove both of those sentences that Jaehyuk-Lee quoted in the original issue.  I don't think they really add much.  Also unicode is...just supported in general, and the mess of unicode helpers got removed some time back, so that's not accurate either.


Vehicle ammo crates

[ ] LTB Cannon magazines (x6) Cost: $3000
[ ] LTAA-AP Minigun magazines (x3) Cost: $3000
[ ] AC3-E Autocannon magazines (x5) Cost: $3000
[ ] DRG-N Offensive Flamer Unit fuel tanks (x3) Cost: $3000
[ ] PARS-159 Boyars Dualcannon magazines (x5) Cost: $3000
[ ] M92T Grenade Launcher magazines (x5) Cost: $2000
[ ] M34A2-A Multipurpose Turret smoke screen magazines (x4) Cost: $2000
[ ] TOW Launcher magazines (x3) Cost: $3000
[ ] M56 Cupola magazines (x2) Cost: $2000
[ ] LZR-N Flamer Unit fuel tanks (x2) Cost: $2000
[ ] Bleihagel RE-RE700 Frontal Cannon magazines (x2) Cost: $2000
[ ] M-87F Flare Launcher magazines (x4) Cost: $2000

not doing vehicles anytime soon


Update HOW_TO_CREATE_A_PLAN.md

Updated out-of-the-box to outside-of-the-box

Details
Updated out-of-the-box to outside-of-the-box, that's it
Fixed Issues

$ GH_LINK
Tests

Make sure outside-of-the-box shows and not out-of-the-box

[ ] Verify that no errors appear in the JS console

QA Steps

[ ] Verify that no errors appear in the JS console

Tested On

[ ] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @mountiny in version: 1.1.33-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @sketchydroide in version: 1.1.34-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Update documentation about using the addon-jest

Hi,
Thank you for the great job here guys. Just a small typo that can frustate new user because if you follow the Documentation you got a Red screen error with no enough information to know what is going on.
You should change:
import withTests from '@storybook/addon-jest';
For this:
import { withTests } from '@storybook/addon-jest';
At https://github.com/storybooks/storybook/tree/master/addons/jest
Kind Regards.

Another typo I noticed, but in the code, is when no file found for a story that has tests configured on it, it says: 'This story has tests configures, but no file not found', it should say:
'This story has tests configures, but no file was found'
This is in components/Panel.js line 101.
Thank you

Hi sandinosaso! Can you please send a PR? If you need to change only one file, you can do that right from GitHub UI, using pencil icon: https://github.com/storybooks/storybook/blob/master/addons/jest/README.md

Hi Hypnosphi !! Sure: https://github.com/storybooks/storybook/pull/2376


build: update to latest angular and nx

Updates:

Nx
Angular
NgRx
Anything else that Nx updates automatically.
Min Node version (16 is EOL soon and v17 won't even support it)

Sets the peer deps to ^15 || ^16 to get rid of warnings when installing this library (which does work for 16)
 >  NX   Report complete - copy this into the issue template

   Node   : 18.17.0
   OS     : darwin-arm64
   yarn   : 1.22.19

   nx                 : 16.9.0
   @nx/js             : 16.9.0
   @nx/jest           : 16.9.0
   @nx/linter         : 16.9.0
   @nx/workspace      : 16.9.0
   @nx/angular        : 16.9.0
   @nx/cypress        : 16.9.0
   @nx/devkit         : 16.9.0
   @nx/eslint-plugin  : 16.9.0
   @nrwl/tao          : 16.9.0
   @nx/webpack        : 16.9.0
   typescript         : 5.1.6
   ---------------------------------------
   Community plugins:
   @ngrx/component-store : 16.2.0
   @ngrx/eslint-plugin   : 16.0.1
   @ngrx/router-store    : 16.2.0
   @ngrx/store           : 16.2.0

✨  Done in 0.74s.

Thank you for your contribution, @yharaskrik 🙇♂
I'm glad that you found Router Component Store useful!
Currently, I'm writing hundreds of tests to cover a wide range of route configurations before releasing the first stable version which will be version 15.0.0. Following that, a major version of the library will be released for each major version of Angular (16.x, 17.x).
Feel free to join the ngworkers Discord server and we can discuss the plans further. I'm considering whether any breaking changes are needed before/after the first stable version.

Thank you for your contribution, @yharaskrik 🙇♂
I'm glad that you found Router Component Store useful!
Currently, I'm writing hundreds of tests to cover a wide range of route configurations before releasing the first stable version which will be version 15.0.0. Following that, a major version of the library will be released for each major version of Angular (16.x, 17.x, ...) and NgRx Component Store.
Feel free to join the ngworkers Discord server and we can discuss the plans further. I'm considering whether any breaking changes are needed before/after the first stable version.

Feel free to close this if you already have plans with all this moving forward then!
No worries on my end.


chore: add an app image to README file

Add the application image to the Readme file.

Let's see what this looks like

Looks great, thanks!


[WEB-1343-221] test: Add specs for the VaultInterface

Closes https://github.com/yearn/yearn-sdk/issues/210
Add tests for the VaultInterface

@karelianpie what is the actual advantage of using that dependency? It just seems like it does the same thing as we do, just it is bassed of an interface

@karelianpie what is the actual advantage of using that dependency? It just seems like it does the same thing as we do, just it is bassed of an interface

It does what we do automagically, so we don't need to set random values ourselves. It looks at the type and generates a random value with that type. It might be tricky with this codebase though, because we have BigIntegers as strings, so I'm afraid it would just set a random string and not a number casted as string

@karelianpie yeah that's my concern as well, since we handle very specific web3/crypto things I think it's better for now to build our own factories, since we could get invalid data with this type of deps


fix parsing of identifiers after % symbol

Fixes a bug in parsing 'c%d1where thed` was accidentally consumed.
Introduced in https://github.com/sqlparser-rs/sqlparser-rs/pull/913 released in sqlparser-rs 036.0
Closes https://github.com/sqlparser-rs/sqlparser-rs/issues/926

If/when this is merged, I plan to make a 0.36.1 release that includes this fix

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

25 of 27 (92.59%)  changed or added relevant lines in 3 files are covered.
81 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.03%) to 87.158%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tests/sqlparser_common.rs
16
18
88.89%

Files with Coverage Reduction
New Missed Lines
%

src/test_utils.rs
4
88.0%

tests/sqlparser_common.rs
77
97.21%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
15494

Relevant Lines:
17777

💛  - Coveralls

@izveigor  or @ankrgyl  I wonder if you have a few moments to review this PR? It is a 2 line code change with some tests

Thanks for the reviews @izveigor  and @crepererum -- I should point out that I studied the rest of the change carefully and I did not find similar bugs in the handling of @ or #.


Allows overriding maven :local-repo

Not sure why the PR isn't reflecting this, but there is a green build here:
https://travis-ci.org/twosigma/waiter/builds/248220147

@shamsimam Any feedback on this?


fetchAll keys lower case

when I use the idb-pconnector. and fetch result, i would like getting the key in lower case.
Is there a parameter to set to choose case of the keys. Now all keys is returned as upper case

I understand that it returns them according to how you created the column, if you created it without using quotes, it will always be uppercase

Right, You can solve this creating the table with lower case fields using quotes as @jhonnattan123 mentioned.
CREATE TABLE TEST.Persons (
    PersonID int, -- will be stored as uppercase
    "LastName" varchar(255), -- will save case
    "firstname" varchar(255) -- will save case
)

INSERT INTO TEST.Persons VALUES(1, 'Doe', 'John')

SELECT * FROM TEST.Persons

Or You can use Th SQL AS keyword to return the fields as you desire:
SELECT PERSONID AS "personID" FROM TEST.Persons

Or from JS you can create a wrapper function that iterates over the result set and converts the key to lower case.


Brush Chart: ApexCharts is not defined

Bug report
Codepen
I'm trying to implement the following Brush Chart into my project:
https://codepen.io/apexcharts/pen/rqWeBX
Explanation

What is the behavior you expect? Be able to reproduce the Brush Chart
What is happening instead? Only first (top) graph is rendering. Second graph (bottom) does not render
What error message are you getting?

Uncaught (in promise) ReferenceError: ApexCharts is not defined
    at apexcharts.common.js:6
    at Array.forEach (<anonymous>)
    at t.value (apexcharts.common.js:6)
    at t.value (apexcharts.common.js:6)
    at t.value (apexcharts.common.js:14)
    at t.create (apexcharts.common.js:6)
    at apexcharts.common.js:14
    at new Promise (<anonymous>)
    at t.value (apexcharts.common.js:14)
    at HTMLDocument.<anonymous> (brush.js:129)

Usage
I'm using apexchartswith webpack
// brush.js
import ApexCharts from 'apexcharts';

document.addEventListener("DOMContentLoaded", function (event) {

    // Start: https://codepen.io/apexcharts/pen/rqWeBX
    ...
    var options1 = {
        chart: {
            id: "chart1",
        },
        ...
    };
    var chart1 = new ApexCharts(document.querySelector("#chart-area"), options1);
    chart1.render();
    ...
    var options2 = {
        chart: {
            id: "chart2",
            brush: {
                target: "chart1",
                enabled: true
            },
        },
        ...
    };
    var chart2 = new ApexCharts(document.querySelector("#chart-bar"), options2);
    // Error is triggered in the following line
    chart2.render();
    ...
    // End: https://codepen.io/apexcharts/pen/rqWeBX

});

Note: To avoid confusion, I've switched the chart-id's around so that they match the chart variables
Environment
ApexGraph: v3.26
OS: Fedora 33
Browsers Tested: Opera, Chrome, Firefox

Error disappeared after removing the following from options2:
brush: {
  target: "chart2",
  enabled: true
},

I'm guessing there might be a race condition, where chart1 (id: chart2) hasn't fully rendered and then chart2 (id: chart1) tries to access that element, causing it to error.
But then again, I don't know why it works in the codepen and fails in my project.

@kinekt4 - Did you ever find a way to get the brush working for you? I'm running into the same behavior in Svelte when I try to use the brush.

I'm running into the same problem also when using BrushChart together with Svelte...

A dirty workaround I found in svelte is to import the script tag version of ApexCharts instead of the module version. However this introduces other problems and is not a good solution in many cases.
<svelte:head>
	<script src="https://cdn.jsdelivr.net/npm/apexcharts" on:load={initCharts}></script>
</svelte:head>

@junedchhipa Can you reopen this issue?

@ash-davies had the right idea, using Sveltekit, this solved my problem.

Guys, this is still an issue when using Brush charts.  This was super annoying of a bug.
Please fix!!

Having the same problem with vue3.

Same problem using stimulus.js, anyone found a solution?


Interactive queries documentation

Problem
Documentation on interactive queries does not showcase an actual implementation of an interactive query, leaving the users scratching their heads for it.
Suggestion
A detailled explanation on how to interact with a store in the README, at least mentioning the autowiring of the KafkaStreamsInitializer class to retrieve the kafkaStreams instance
A link to a side project (?) showcasing the feature
Additional Context
Integrating @loicgreffier 's work on the subject for internal showcases to Kstreamplify is probably a very good addition to the library.

Linked with #141

Initialized by https://github.com/michelin/kstreamplify/pull/204


Github API changed - Bad Credentials

Just got this one:
[08:18:34] Error: {"message":"Bad credentials","documentation_url":"https://developer.github.com/v3"}
    at formatError (/Users/imp/code/js-multihash/node_modules/aegir/src/gulp-log.js:24:10)
    at Gulp.gulp.on (/Users/imp/code/js-multihash/node_modules/aegir/src/gulp-log.js:50:17)
    at emitOne (events.js:120:20)
    at Gulp.emit (events.js:210:7)
    at Gulp.Orchestrator._emitTaskDone (/Users/imp/code/js-multihash/node_modules/orchestrator/index.js:264:8)
    at /Users/imp/code/js-multihash/node_modules/orchestrator/index.js:275:23
    at finish (/Users/imp/code/js-multihash/node_modules/orchestrator/lib/runTask.js:21:8)
    at cb (/Users/imp/code/js-multihash/node_modules/orchestrator/lib/runTask.js:29:3)
    at /Users/imp/code/js-multihash/node_modules/conventional-github-releaser/src/index.js:108:15
    at _rejected (/Users/imp/code/js-multihash/node_modules/q/q.js:864:24)
    at /Users/imp/code/js-multihash/node_modules/q/q.js:890:30
    at Promise.when (/Users/imp/code/js-multihash/node_modules/q/q.js:1142:31)
    at Promise.promise.promiseDispatch (/Users/imp/code/js-multihash/node_modules/q/q.js:808:41)
    at /Users/imp/code/js-multihash/node_modules/q/q.js:624:44
    at runSingle (/Users/imp/code/js-multihash/node_modules/q/q.js:137:13)
    at flush (/Users/imp/code/js-multihash/node_modules/q/q.js:125:13)

Doesn't sound like a bug in aegir, this means your gh token is just not valid to publish on that repo. I just published fine this release with the "old" aegir: https://github.com/dignifiedquire/clean-documentation-theme/releases/tag/v0.5.0

you are right. Github blocked that token dunno why, will investigate. No problem then :)
Thanks!

Github blocked that token dunno why, will investigate

Could be that you accidentally published the token in a public place that Github indexes and disabled it.

Starting today you can commit more confidently, knowing that we will email you if you push one of your OAuth Access Tokens to any public repository with a git push command. As an extra bonus, we'll also revoke your token so it can't be used to perform any unauthorized actions on your behalf.

https://github.com/blog/1956-keeping-github-oauth-tokens-safe


Refactoring the API as part of Effect-Check/API audit

These should all be extremely trivial changes; just trying to separate from more meaningful changes in a later PR.

@gilbo Did data_reuse and delete_config changed their locations? What was the motivation for that?

I can’t recall, but I think the order made less sense to me. We’ll want to organize this better in the future regardless.

On May 10, 2022, at 2:04 PM, Yuka Ikarashi @.***> wrote:

@gilbo Did data_reuse and delete_config changed their locations? What was the motivation for that?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

@gilbo Sure, this change looks good to me!


[Bug] software emulation is enabled but still failed with /dev/kvm not found

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
software emulation is enabled for my testing kind cluster but after starting a new VM it still failed with /dev/kvm not found error:
  Normal   SuccessfulCreate  6m2s                  virtualmachine-controller  Created virtual machine pod virt-launcher-test-ngcfg-7cnmb
  Warning  SyncFailed        67s (x15 over 2m30s)  virt-handler               stat /proc/21406/root/dev/kvm: no such file or directory

What you expected to happen:
the /dev/kvm should not be required when the software emulation is enabled
How to reproduce it (as minimally and precisely as possible):

deploy the kind cluster with set kubevirt CR to

spec:
  configuration:
    developerConfiguration:
      useEmulation: true

deploy a simple VM and waiting for the to get up and running
VM is never ready because of the stat /proc/21406/root/dev/kvm error

Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version): v0.44.0
Kubernetes version (use kubectl version): v1.12.1
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

This will be fixed by https://github.com/kubevirt/kubevirt/pull/6190

#6190 has been merged to main, also backported to v0.44.1 via #6236.
Thanks for reporting @guangbochen!
/close


 Data from an image shared on discord.

Thanks for this suggestion! Added in version 1.95.


Purpose of home icon in dir segment?

Having updated this theme I now get a home icon in front of my dir segment, however this icon persists even when the path is truncated and thus does not include the home directory.  I guess my expected behaviour would be the home icon replaces ~, but it seems to be in addition to it and regardless of where you are in the tree?

@keirlawson Thanks for the report. Yes, you are right. The home icon is always shown, regardless of being in the home directory or not. When I implemented it, I haven't thought about it that way. The reason why this is an home icon is really profane: I just like icons :grinning:
Almost all other segments in awesome mode have icons and I find the home icon quite fitting for the directory segment.
It wouldn't be much work to show the home icon only if we are under the home directory. But I think there should be another icon for the case of being outside of the home folder. Do you have any idea which icon that could be?

@dritter I had a similar thought to @keirlawson when I started using powerlevel9k, I ended up adding POWERLEVEL9K_HOME_ICON="\ue818 " to my zshrc which is a folder icon. Looks like

I don't use the awesome icons, so I've actually never experienced this. That said, if I did use the awesome icons, I actually would want this behavior:

If in the home directory, instead of printing the directory, just show the home icon.
In all other directories, print the directory, without an icon.

@dritter - How hard would it be to implement the following:

If awesome fonts are in use, and we are in the home directory, print the home icon instead of the string directory.
Have another config env variable that enables / disables an icon for all other directories - perhaps the folder icon suggested by @rjorgenson?

@rjorgenson Great icon! Must have overseen that one. :+1:
@bhilburn Frankly I don't like the idea of have special code for the different modes. That would clutter up the code quite a bit (too bad that we have to do that for different OS).
Disabling the not-home directory would be rather easy, as users could just set the according icon variable to an empty string.
So, my favorite behavior would be:

if in the home directory (or deeper), print the home-icon and the path (even if it is just ~)
In all other directories print the folder icon (thx @rjorgenson ) and the path

@dritter - I actually didn't think we would need conditionalized code for separate modes - I was thinking we could do it purely with icon settings, but now I realize that's not possible. I agree, that would be very ugly.
I like your suggestion, as long as we add #3:

if in the home directory (or deeper), print the home-icon and the path (even if it is just ~)
In all other directories print the folder icon (thx @rjorgenson ) and the path
Add variable that allows you to disable printing icons in the dir segment (so it would disable #1 and #2).

@bhilburn I still don't understand why there is a need for that extra "disable all icons" variable:

This could be reached by setting the icon variables to an empty string. I.e. POWERLEVEL9K_HOME_ICON=''
We would need some ternary expressions here which could be avoided..

@dritter - Using the awesome icon set gives you access to glyphs you don't otherwise have, but I don't think that necessarily means people will necessarily want to use all of them. For example, someone might want to use the awesome-mode font to replace the 'normal' git glyph with the Github glyph, but perhaps doesn't want additional icons inserted into other segments he/she is already using. This would actually be the use case that applies to me, for what it's worth.
Ternary expressions suck, so yes, let's not do that. If that's the only other option, then I'm okay having the icons default to on. I would like to be sure that the dir segment docs are updated, though, so that people can easily figure out how to turn it off =)

If in the home directory, instead of printing the directory, just show the home icon.
In all other directories, print the directory, without an icon.

FWIW this would also be my preferred behaviour, but appreciate as discussed this would be a pain to implement.

@bhilburn IMHO it would be hard to tell which icons are printed and which are not.
Your example sounds like an idea of icons as "visual identifiers" (from the discussion in #157 ). If we distinguish between primary icons and others, that would be clear (but it would have other implications).
In my mind, we would either display the home icon or the folder icon, but never both at once. So an "disable other icons" won't be necessary. Or do you want to show the folder icon always, and the home icon only if the user is somewhere underneath of the home directory?

Fixed by merge of #160.


Add ability to highlight some emoji when generating html

This adds an argument to generate_emoji_html that specifies
a file listing codepoint sequences.  Emoji matching one of these
codepoint sequences are highlighted in the output.

LGTM


facts

Hey @dj110919871, closing this.  I will re-open if you can add some info in here or you can create a new issue.


Remove pyairports

What behavior of the library made you think about the improvement?
We currently rely on a poorly maintained package, pyairports. The way this package is structured has caused a few build / test issues

https://github.com/outlines-dev/outlines/issues/934
https://github.com/outlines-dev/outlines/pull/1010#issuecomment-2270397514
I've run into a few unreported headaches trying to test with pyairports as well.

The only use for pyairports in outlines is outlines.types.airports, in which we load AIRPORT_IATA_LIST. pyairports isn't maintained, so the list is presumably out of date.
How would you like it to behave?
We should remove the pyairports dependency and use a different package.
import airportsdata
IATA_CODES = sorted(airportsdata.load().keys())

Bump on this one. It's kind of an annoying issue, I often have to install setuptools and I believe it's the only package I need it for.