[BEAM-9449] Pass PipelineOptions through expansion service

Implemented in python (client) and Java (service).
Builds on changes from #11571
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---

---
---

Java

Python

---

---
---

XLang
---
---
---

---
---

Pre-Commit Tests Status (on master branch)

---
Java
Python
Go
Website

Non-portable

Portable
---

---
---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

R: @chamikaramj
The changes for this PR alone are in https://github.com/apache/beam/pull/11574/commits/67807f837daf78054eaafc35d0eb3b236f5bec2d

Synced this up now that #11571 is merged. This is ready for review now.
@ihji do you have time to review?

Thanks. Looks good to me overall.
I think we should also consider adding optional pipeline_options argument to ExternalTransform given that each different expansion service needs different pipeline options.

I think we should also consider adding optional pipeline_options argument to ExternalTransform given that each different expansion service needs different pipeline options.

I'm not sure I understand that. Shouldn't pipeline options be scoped per-pipeline?

I think we should also consider adding optional pipeline_options argument to ExternalTransform given that each different expansion service needs different pipeline options.

I'm not sure I understand that. Shouldn't pipeline options be scoped per-pipeline?

Make sense. I find myself that I have a mental model that external transforms are basically imported from different pipelines. If we assume that they are heterogeneous but still parts of a same pipeline, then it's okay to share a single pipeline option.


KAFKA-5473: handle ZK session expiration properly when a new session can't be established

(WIP: this commit isn't ready to be reviewed yet. I was checking the travis-ci build with the configuration changes in my account and opened the PR prematurely against trunk. I will make it consistent with Contribution guidelines once it's well tested.)
https://issues.apache.org/jira/browse/KAFKA-5473
Design:
zookeeper.connection.retry.timeout.ms => this determines how long to wait before triggering the shutdown. The default is 60000ms.
Currently the implementation only handles the handleSessionEstablishmentError by waiting for the sessionTimeout.

@prasincs : Thanks for the patch. A couple of things.
First, about the high level approach. Earlier, the proposal is to retry connecting for some time and then shut down the broker if the connecting fails. If we go with this approach, it seems that we could just reuse the existing zk.connection.time.ms instead of introducing a new one. An alternative approach is to just retry connecting forever until the ZK connection can be established w/o shutting down the broker. The benefit of the latter is that it can avoid expensive log recovery during server restart. So, it's worth considering this approach. In both approaches, it will be useful to have a metric that indicates the current state of ZK. Currently, we have a metric that reports the rate of various ZK events. However, it's hard to set an alert based on that. We will need a KIP to add the new ZK state metric.
Second, @onurkaraman has been working on a PR (https://github.com/apache/kafka/pull/3765) that will replace ZkUtils with a better ZK wrapper ZookeeperClient. We expect to merge the PR in the next couple of weeks. So, sequencing wise, it would be better for Onur's PR to get in first and then for your PR to use the new ZookeeperClient wrapper. This means that the patch will only be for trunk.
For the 1.0.0 branch, if needed, potentially we could just back port the new ZK state metric. That way, if the issue occurs, the admin at least be alerted.
Does that sound good to you?

Thanks @junrao, reusing zk.connection.time.ms sounds good to me. I think a more sustainable approach is what @onurkaraman is doing too. The sequence makes sense to me, get Onur's patch in and then I can update my patch accordingly to work with the new ZK state metric.

potentially we could just back port the new ZK state metric. That way, if the issue occurs, the admin at least be alerted.
Are you suggesting to create a Gauge when session expiry event is received?

I don't think retrying forever by default is good idea, especially for cloud where you can have network partitions that manifest in unpredictable ways, between ZK and Kafka and between Kafka brokers. Ideally they're transient and go away but the default behavior should be to shut down quickly when clearly unhandle-able state is encountered and allow systems to alert/restart the service.

@prasincs : As for monitoring, yes, I was thinking of a Gauge that tracks the current KeeperState. It seems that we already have such a gauge sessionStateGauge in kafka.server.KafkaHealthcheck. In the case when the new ZK session can't be established, that gauge will show DISCONNECTED. So, there is no need to add this to the 1.0.0 branch. We just need to maintain it properly using the new ZK wrapper.
As for retrying forever. I agree that network issue in the cloud is the common cause for ZK session expiration. When this happens, it's likely going to affect multiple and potentially all brokers. So, if we shut down the broker after the connection timeout, we could potentially bring down the whole cluster, which may not be ideal. On the other hand, if we retry forever, the cluster may still be able to work in the current state until the ZK issue is fixed. Note that bringing down a broker is not going to fix the ZK connectivity issue. So, the only benefit of bringing down the broker is just for notifying the admin. However, this can be achieved if the admin monitors the sessionStateGauge metric. The benefit of retrying forever is that (1) it allows the cluster to continue to operate when there is ZK session expiration, (2) it avoids the expensive log recovery due to a forced shutdown.

On another thought, perhaps we could just introduce a new config zookeeper.reconnection.timeout.ms and wait for that amount and then shuts down the broker. An admin can set it to infinite if needed.

Yeah, zookeeper.reconnection.timeout.ms where 0 or -1 can mean infinite wait that the admin can wait if they choose to makes sense. The caller for ZK Client can just wait for that amount of time since a Session Expiry event until it receives a reconnect.
I want to avoid the expensive log recovery if possible because of transient connection issues. If ZK cannot be connected to after the time out, cleanly shutting down is preferable to a rapid shutdown. Hopefully admins are monitoring sessionStateGauge and taking actions regardless.

@prasincs : Since the new config requires a KIP, do you want to get the KIP discussion started? Thanks.

@prasincs : Onur's PR (#3765) just got merged. Do you plan to resume the work on this PR soon? If so, there are a couple of things to be aware of.

Could you submit a KIP (for the new config? See https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals

The creation of a new ZK session is now moved to ZookeeperClient.initialize(). So, we need to pass in the new timeout config there. After a new session is created, it's probably better to complete the broker re-registration as the first thing in kafkaController.newSession() before it goes through controller election.

@junrao another thing to consider is that ZK doesn't re-resolve hosts when connection attempts fail:
https://issues.apache.org/jira/browse/ZOOKEEPER-2184
Looks like the new ZookeeperClient will recreate a ZooKeeper instance from scratch under certain cases, so maybe it works around the issue in ZOOKEEPER-2184, but we'd want to verify that.

@ijuma : If a ZK client can't connect to ZK servers because it can't resolve hots, its session will be expired by the ZK server, but I am not sure if the client will be informed of the session expiration. So, the logic for handling session expiration probably won't cover that case.
What could happen is that if that client is the Kafka controller and it needs to access ZK, the operation will just block. The controller state will then be in a non-idle state. So, at least the admin can monitor and get alerted on such a state.

@junrao Do you know if DNS errors are propagated in some way? Because if they are, we could detect that and reinitialize the ZooKeeper instance. This is one of the most common issues in the cloud, so it would be good to have a solution.

I am not sure, but my guess is that this is just propagated as a disconnect error.

@prasincs : Do you think you could submit a KIP on the new config in the next couple of days? If not, I can submit one for you. Thanks.

FAILURE
No test results found.
--none--

FAILURE
No test results found.
--none--

FAILURE
7959 tests run, 5 skipped, 1 failed.
--none--

@junrao Is the intent of KafkaZkClient to completely replace ZKUtils in 1.1.0? In that case I can implement the registerBrokerInZk that's in ZKUtils into KafkaZkClient  and use the same callback mechanism that @onurkaraman has to handle re-registering brokers/controllers on disconnects.

@prasincs : Yes, the intent is to replace ZkUtils with KafkaZkClient. So, we want to add the re-creation logic to ZookeeperClient.initialize(). Once initialize() completes, ideally, we want to register the broker id before the controller does the re-election logic. So, one way to do this is to create a new ControllerEvent sth like RegisterBrokerAndReelect that first registers the broker id and then executes the logic in Reelect. In KafkaController, when calling zkClient.registerStateChangeHandler(), we enqueue the RegisterBrokerAndReelect event instead of the Reelect event in afterInitializingSession().

FAILURE
No test results found.
--none--

FAILURE
No test results found.
--none--

@junrao I don't see methods to create Ephemeral Znodes in the ZookeeperClient, and I don't think that re-registering BrokerId should be an async operation here. It's also likely I'm missing something here. I think the fastest to implement is to reuse ZKUtils and re-register the BrokerID in the initialize method in KafkaZKClient the way you have described?
This wont remove ZKUtils in 1.1.0 but should pave path for future? If @onurkaraman thinks otherwise, I can implement that too.

@prasincs : Your idea sounds good. Note that even though we use the async ZK api in ZookeeperClient, ZookeeperClient.handleRequest() is actually blocking. So, we could implement the broker registration logic using ZookeeperClient.handleRequest() and call it after waitUntilConnected() in the construction of ZookeeperClient and after initialize().

FAILURE
8067 tests run, 5 skipped, 2 failed.
--none--

@junrao that makes sense for implementing. The only problem I see is the current clean separation of concerns we have with KafkaZKClient and ZookeeperClient classes, where KafkaZkClient contains all the Kafka specific work. So, to keep the separation of concerns, I'm thinking of adding the reference to KafkaZKClient in ZookeeperClient that's only used in initialize time and implement all the Broker registration and Kafka specific work inside KafkaZKClient class.
If this sounds reasonable, I'll move forward and implement the relevant parts in KafkaZKClient itself from ZKUtils.

FAILURE
No test results found.
--none--

FAILURE
No test results found.
--none--

SUCCESS
8081 tests run, 5 skipped, 0 failed.
--none--

@prasincs it seems to me that adding a reference to KafkaZkClient in ZooKeeperClient means you haven't separated concerns.

@onurkaraman yeah, it's still murky, that's why I just mocked the methods. Best way is to do everything Kafka related, including reconnects in KafkaZkClient. So could run another thread in KafkaZkClient that's subscriber of the ZK state changes and handle the reconnects? That'd likely be cleaner.

@prasincs can you not use a modified StateChangeHandler? Generally, you want to rely on some form of callback instead of circular references.

@ijuma yeah, that's what I'm thinking now too, references kind of solved my immediate problem but makes the code lot more brittle for maintenance. The current code does the broker id registration in KafkaHealth, leaning towards implementing it as callback there itself. So it can take KafkaZkClient instance and register the StateChangeHandler to bring it back to healthy state.

@prasincs : Thanks for following up on this. There are a couple of issues with registering a separate StateChangeHandler. (1) There is no ordering guarantee. Currently, multiple state change handlers are executed in an arbitrary order. However, we want the broker registration to happen before the controller re-election process. (2) In general, we can't make any ZK call directly in the handler. This is because the handler is called inside ZooKeeperClientWatcher by the ZK event thread. If we make a ZK call there and get a ConnectionLossException, we need to call waitUntilConnected() and wait on isConnectedOrExpiredCondition. This condition is only notified inside ZooKeeperClientWatcher by the ZK event thread. So, we will deadlock in the case.
Given the above, it seems that the simplest approach is still what I recommended initially. Create a new ControllerEvent sth like RegisterBrokerAndReelect that first registers the broker id and then executes the logic in Reelect. In KafkaController, when calling zkClient.registerStateChangeHandler(), we enqueue the RegisterBrokerAndReelect event instead of the Reelect event in afterInitializingSession(). This means that the broker registration will be asynchronous. However, this is fine since this only thing we want to guarantee is that the controller election will only happen after the broker id is registered in ZK.

@prasincs : Do you still plan to work on this PR any time soon? This is the last one needed before we can completely switch to the new ZK wrapper on the server side. Thanks.

@junrao I'm somewhat unfamiliar with the interaction of ControllerEvent and haven't gotten chance to look at it in detail. I tried a few things locally but haven't tested to update the PR. If someone can do this quicker than I can, feel free to assign to them.

@junrao I'm taking a stab at it this and next week, but I'm not sure if I can put a lot of time into it after next week. I added BrokerId registration using KafkaZKClient in the latest push. I'm not sure if the approach for what I'm doing in KafkaController is good yet.
I have commented out the parts in KafkaHealthCheck pertaining to ZKClient state because I'm not certain if that code is superseded by the changes in #4265 cover it already or not.

@junrao yeah the pause and resume idea sounds good -- I I'll try with doing that and testing session expires -- like have 30 second expiry for Zookeeper Session and wait 31 seconds to send continue for the broker.

@prasincs, when do you think you'll be able to address the feedback? We're eager to complete the conversion to the new async zk client so that there's enough time to catch issues before the 1.1.0 release next month. Thanks!

@ijuma I'm aiming for next week. I saw the ZK metrics have been merged so the changes here should be relatively small now.

The metrics change that was merged is just for the latency metric. The session state is best done after this PR is merged.

@ijuma @junrao I have updated with the suggestions. KafkaHealthCheck seemed unnecessary unless I put the session state there (tests are disabled too for no) but I didn't delete the file. BrokerInfo is created in KafkaServer and passed to KafkaController to Reelect.
I tested with two brokers and single zk instance locally with kill -STOP <zk pid> and kill -CONT <zk pid> Do we have a place for tests like this?

@junrao for testing, I've bin/zookeeper-server-stop.sh now takes a SIGNAL env variable that can be used to send the STOP and CONT signal, a simple system test could be to do something like this
start zk
start kafka-server-0
start kafka-server-1
send STOP signal
wait 30 seconds
make sure neither of kafka servers die
send CONT signal
make sure brokers are registered and controller is elected

@junrao thanks, I saw a lot of tests fail, I'll look at the remaining ones. For this particular one, since it was catching base RuntimeException, and that doesn't fit with new ZKClient's exceptions, I'm changing the test instead to be NodeExistsException. Since the intent is to check for broker metadata collision, I'm assuming that's fine because the alternate is to catch it and wrap as RuntimeException.

@prasincs : Thanks for the update. There seems to be the following test failure in the recent build.
kafka.server.ServerStartupTest > testConflictBrokerStartupWithSamePort FAILED
    kafka.common.KafkaException: Socket server failed to bind to localhost:35900: Address already in use.
        at kafka.network.Acceptor.openServerSocket(SocketServer.scala:348)
        at kafka.network.Acceptor.<init>(SocketServer.scala:273)
        at kafka.network.SocketServer$$anonfun$startup$1.apply(SocketServer.scala:99)
        at kafka.network.SocketServer$$anonfun$startup$1.apply(SocketServer.scala:91)
        at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
        at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
        at kafka.network.SocketServer.startup(SocketServer.scala:91)
        at kafka.server.KafkaServer.startup(KafkaServer.scala:241)
        at kafka.utils.TestUtils$.createServer(TestUtils.scala:135)
        at kafka.server.ServerStartupTest.testConflictBrokerStartupWithSamePort(ServerStartupTest.scala:63)

        Caused by:
        java.net.BindException: Address already in use
            at sun.nio.ch.Net.bind0(Native Method)
            at sun.nio.ch.Net.bind(Net.java:463)
            at sun.nio.ch.Net.bind(Net.java:455)
            at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
            at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
            at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
            at kafka.network.Acceptor.openServerSocket(SocketServer.scala:344)
            ... 9 more

@prasincs : Thanks for the latest patch. LGTM


[TUTORIAL] Tutorial for inline micro-kernel ASM

Background, inline asm is supported by #1276, according to @ajtulloch 's experiment, it can be very useful to get to the state of art performance on certain platforms.
Like https://github.com/dmlc/tvm/pull/1774 we would like to have a tutorial introducing this feature to the user. I think it would also be very helpful to have a plan forward to include some of the useful inline asm kernels.

@tqchen sure, I can contribute this. Would something like a tutorial that modifies opt_gemm.py to hit peak performance on AVX2 would be reasonable?

@ajtulloch I am also interested in ARM / ARM64 platform. If you could leverage this tutorial: https://docs.tvm.ai/tutorials/autotvm/tune_nnvm_arm.html which would be nice.

We are working on custom compute engines that have instruction sets that represent the universe of linear algebra. So we have instructions for dot, matvec, matmul, but also cg, bicgstab, cholesky, etc.. Think what Tensilica did for custom instructions in a von Neumann machine, we do for distributed data flow machines.
Would this be the environment/discussion/tutorial in which these approaches to accelerate bottleneck operators could be introduced and expanded?

@Ravenwater this issue is around the specific aspect of using micro-asm kernels. Your proposal seems to be bigger and could be related to the general high level IR in tvm, and we would love to see contributions on that front as well

revive this thread a bit cc @ajtulloch @cowanmeg

Try to revive this thread a bit. @FrozenGene  would you be interested in contributing a tutorial?

@tqchen Ok. What hardware we would like to focus on? However, I have to say I am busing in our internal dsp things. But I will try to do it as soon as possible.

I think the idea is to demonstrate the feature(of inline asm and how to do so), so we just have to do it say for x86.

Is this still of interest? Are contributions welcome?Is


On successful nupic build on master create a link to the "latest" release on S3

See http://boto.readthedocs.org/en/latest/ref/s3.html#boto.s3.key.Key.set_redirect. I would like to have https://s3-us-west-2.amazonaws.com/artifacts.numenta.org/numenta/nupic/releases/latest always point to the most recent tarball uploaded to S3.
CC @oxtopus

Replaced by https://github.com/numenta/nupic.core/issues/428


Bump Circe + Akka-http + Scala 2.12 Support

Add support for Scala 2.12 (cross built against Scala 2.11 as well)
Bumped Circe to 0.7.0
Bumped Akka-Http to 10.0.4
Note that due to the changes in Circe 0.7.0, there will be much better performance when streaming the JSON, see https://github.com/circe/circe/releases/tag/v0.7.0-M1 for more info
@knutwalker I think you need to do the version bumping yourself, let me know when you publish

Codecov Report

Merging #10 into master will decrease coverage by 0.28%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
- Coverage   80.88%   80.59%   -0.29%
==========================================
  Files           4        4
  Lines          68       67       -1
  Branches        4        6       +2
==========================================
- Hits           55       54       -1
  Misses         13       13

Impacted Files
Coverage Δ

...in/scala/de/knutwalker/akka/http/JsonSupport.scala
100% <ø> (ø)
:white_check_mark:

...nutwalker/akka/http/support/CirceHttpSupport.scala
100% <ø> (ø)
:white_check_mark:

...a/de/knutwalker/akka/stream/JsonStreamParser.scala
85.71% <ø> (ø)
:white_check_mark:

...alker/akka/stream/support/CirceStreamSupport.scala
58.82% <33.33%> (-2.29%)
:x:

Continue to review full report at Codecov.

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

Thank you for taking care of this!

@mdedetrich I have released a version 3.2.0 for 2.12 and 2.11, the former might take a while until it's synced to maven central.

@knutwalker Thanks!


Create the MeasurementLink Instrument:Instrument interface

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
AB#2519927

Add a MeasurementLink Instrument.lvlib library that contains the Instrument.lvclass interface.
Add the 4 interface methods: Initialize MeasurementLink Session.vi, Close MeasurementLink Session.vi, Read Instrument Type ID.vi, and Read Provided Interface.vi. All of these are required overrides except for Read Provided Interface.vi, which will return a blank string by default.
Add a Remote Connection Options.ctl. This typedef matches the gRPC device options cluster that the MI drivers use, but is named such that it could be generically used to connect to any remote server.

Why should this Pull Request be merged?
The Instrument interface is a key building block for supporting other hardware.
What testing has been done?
None.

I have been cleaning up the front panel by using "ctrl u" before submitting any VIs. That will lay out the front panel in a reasonable way and also save it in the upper left corner. I noticed in the VIs you touched that you didn't do that.

I can't approve my own PR, so consider this comment my approval.


HCAP-1493 add MHSU employer role

Add MHSU employer user role to user management and access management dialogs

could we get the keycloak realm export for it too?


#290 filter components

PR Checklist:

[x] Link to related issues: #290
[x] Add changelog entry linking to issue
[x] Add tests (if needed)
[ ] If dependent on server-side changes: link to PR on atomic-data-rust
[ ] If new feature: added in description / readme

Passing locally on latest dev branch of atomic-server, merging


access rights issue

if there is not write access (miror for instance), the scipt fails without logged error.

logged error is not set for v1, people will have to read the terminal window


Plugin not executed

I use GatsbyJS for my site and added this plugin to my postcss.config.js but it does not work or even gets executed. I tried to add console.log directly to the code in node_modules and also tested the same with autoprefixer but this plugin prints nothing.
Here is a sandbox:
https://codesandbox.io/s/gatsby-starter-default-y8slq?fontsize=14

Okay, it seems it is just not working with Scss.

@muuvmuuv Can you close this?


Figure out wasm type errors popping up on a mac.

This has only been confirmed on a Mac with an Apple chip so far.
After the near-workspaces = "0.12" update store performance tests started throwing errors.
"Link Error: \"function types incompatible: expected func of type `(i64) -> ()`, found func of type `(i32) -> ()`\"")) })) }

The problem does not present itself on near-workspaces = "0.11". This deserves thorough investigation.
I've seen people facing similar errors on the net. Unsure if this is related, gotta dig into the changesets to figure that out.

I’m Kevin from Dojo Coding, and I would like to propose a solution for the issue related to the type compatibility error in near-workspaces = "0.12". My approach involves investigating the differences in function implementations between versions 0.11 and 0.12, focusing on function signatures and changes in type handling. I would also test explicit type conversions to ensure compatibility. I am committed to conducting a thorough analysis and proposing fixes to maintain stability across all platforms, including Macs with Apple chips.

@ruseinov  I want to work on this

this has been fixed by fix of https://github.com/near/nearcore/issues/12062 after it landed into near-workspaces


:sparkles:  move provider interface into the manager

Summary
Moving the provider interface and all needed definitions out of the "Provider folder"
In the future provider implementation will be in different repositories
Related issue(s)
Fixes #

This is a step in the right direction.  LGTM.

/lgtm


Allow set a channel topic by moderators

Closes #1474
Closes #2669

@Sheikah45 Fix tests on develop branch, please 😄

Ah, I see it is alredy fixed

There is some error in the code. The changeTopicButton button is still visible in edit mode.

I was playing around with this and I think we can do better with the notification that the topic has changed. Rather than just telling the user that the topic has changed we should state in the message what the topic has changed to. Maybe a from to but at  least the to.
Also the topic change event from the kitteh chat service contains the actual setter of the topic so we should use that rather than our own user name for the message about the topic change.

The setter info is in event.getNewValue().getSetter() in the ChannelTopicEvent

The setter info is in event.getNewValue().getSetter() in the ChannelTopicEvent

event.getNewTopic().getSetter().map(Actor::getName).orElse("") returns<EMAIL_ADDRESS>value.

@Sheikah45 I cannot push. Do I need to recreate the token with workflow scope? It used to work without it.

It is probably because you rebased onto master where I updated it so yes remake the token with workflow scope.


Add SH1106 OLED driver

This PR adds a driver for the SH1106 OLED display.
The SH1106 is functionally equivalent to the SSD130x, but uses a 132x64 display buffer. This means that we need to override the Update method to render into the larger display buffer correctly.

I can approve that this works on actual hardware, thanks for the work.


TouchAction is always set to "none"

Please set it to auto in order to accommodate mobile users

+1


How to use the Sanity api to upload and reference a mux video

Hey! I'm migrating content from another CMS to Sanity, and so far so good.
Now I need to migrate MP4 files, and we are using the mux plugin for videos. I couldn't find any docs stating how to use the Sanity api to upload a video to mux. I could use the native mux api but then how do I create a reference to Sanity?
So in short, how do I correctly populate a field of type mux.video with the Sanity api? Thanks!

The only way I found:

upload straight to mux using the api. The call will get you back playbackId and assetId
create a document in sanity with the following structure, using the sanity client

_type: "mux.videoAsset",
playbackId,
assetId

create and set the mux.video field, like

const _muxVideo = {
  _type: "mux.video",
  asset: {
    _type: "reference",
    _ref: document._id, // <- you get this back from calling client.create({_type: "mux.videoAsset", ....}) in step 2
    _weak: true,
   },
};


'database' parameter in config

Coming from airnotifier, I know mongodb database is used to store airnotifier's data and a url to the mongodb database needs to be specified in airnotifer config file.
But I couldn't understand what 'database' parameter in this project's config does. Can I put-in link to mongodb running on my local machine? @clsource please hint me on the 'database' parameter...
https://github.com/NinjasCL-labs/airnotifier-moodle-plugin-firebase-api/blob/2153732f167fedc527cf5f9bac1ade3f541027a0/index.js#L45-L50

It's the common database config for Firebase https://firebase.google.com/docs
This is a solution that works with Firebase only. Air notifier is not needed 👍


Is the size of the input images dynamic?

Is the size of the input images dynamic?
resize to (1000,600)?
If I change the config ,what may happen?

Yes. Please check the code.


fix: response extensions should be optional

#1394 made SubscriptionData json always containing extensions. Now extensions in json are only present if response contained them.

@vincenzopalazzo Hi, I've noticed that after merging #1394, tests were failing due to extensions being always present. Sorry for that, here is the fix for that.

Hi @kamilkarp
No problem :) my fault that I did not catch it during review, but can you fix the formatting of the code?

@vincenzopalazzo Analyzer fixed


generate cloudbreak certificate for TLS setup

@lalyos
Cloudbreak will require a TLS client certificate after https://github.com/sequenceiq/cloudbreak/pull/730 is merged.

lgtm


feat(RingTheory/Smooth): formally smooth iff H¹(L_{R/S}) = 0 and Ω_{S/R} is projective

For the record: I think in this case the large import label is not a problem, since

this is a leaf file
the import bump is mostly a consequence of the development of this file over multiple PRs.

Very nice! So do I understand correctly that smooth being local is significantly easier than formally smooth being local, because in the former case Ω_{S/R} is f.p. and hence https://github.com/leanprover-community/mathlib4/pull/18131 applies?

Exactly.

Did you follow Iversen here?

The main sources are stacks project and Iversen.

The main sources are stacks project and Iversen.

You could please then add these to the module docstring? If you have the stacks tag at hand, also a @[stacks] would be great.

Could you please then add these to the module docstring? If you have the stacks tag at hand, also a @[stacks] would be great.

I didn't follow the proof in stacks so the auxiliary lemmas don't have stacks equivalents but the final result got a tag.

Thanks!
maintainer merge

Thanks!
bors merge


Ability to Use Different Router IDs per VRF defined in Network Services

Enhancement summary
Within a VRF defined under the Network Services data model, a user should be able to specify the pool used to assign router IDs from.  This way, different VRFs can have unique router IDs.
Which component of AVD is impacted
eos_designs
Use case example
During a recent project, one of the requirements was to create a BGP peering between two different VRFs on the same device through a firewall.  Since this BGP peering was between two VRFs on the same device, AVD originally generated the configuration for both VRFs with the same router id.  This prevented the BGP peering from coming up and some additional tweaks were necessary.
Describe the solution you would like
In my example, the unique router IDs per VRF were only required on a single set of switches connected to the firewall.  One solution that would've resolved my needs would be if there were a dictionary under VRF's bgp key where the dictionary itself had keys for nodes, eos_cli, structured_config.  For example,
<vrf-name>:
  bgp:
    nodes:
      - [<node-1>, <node-2>]
         eos_cli:
         structured_config:

Another more seamless solution could be a router_id_pool field under the VRF from which Router ID addresses for the VRF are automatically allocated. For example,
<vrf-name>:
  router_id_pool: <router-id-pool>

Describe alternatives you have considered
No response
Additional context
No response
Contributing Guide

[X] I agree to follow this project's Code of Conduct

Hi Joe - thanks for opening the issue
As of today indeed network_services code will use the router_id of the switch in all the VRFs indeed.
https://github.com/aristanetworks/ansible-avd/blob/devel/ansible_collections/arista/avd/roles/eos_designs/python_modules/network_services/router_bgp.py#L159
To clarify, the issue was that you were not able to limit to a single host the allocation of a structured_config? As of now in each VRF, AVD supports raw_eos_cli and structured_config under tenants[tenant_name].vrfs[vrf_name].bgp (https://avd.sh/en/stable/roles/eos_designs/doc/network-services.html#tenant-network-service-definitions):
        bgp:
          # EOS CLI rendered directly on the Router BGP, VRF definition in the final EOS configuration
          raw_eos_cli: |
            < multiline eos cli >
          # Custom structured config added under router_bgp.vrfs.<vrf> for eos_cli_config_gen
          structured_config: < dictionary >

Though that would apply to all the hosts (nodes) on which the VRF is defined so I guess this is what was not working for you?
Regarding the router_id pool. What would you expect the formula to be to allocate a router_id

Hey Guillaume,
The fact that the raw_eos_cli or structured_config gets applied on all nodes is exactly the issue here.
With regards to the formula for allocating router_ids, I believe it would be just like allocating a router_id in the underlay where a device's id + an offset is used to allocate an address from a pool of addresses assigned to the VRF by the AVD user.

Instead of adding another pool, we already have the vtep_diagnostic_loopback which supports ip pools etc, and it will create a loopback inside the VRF. We could have a simple boolean to use this loopback IP as the router_id. So under OSPF and BGP have use_vtep_diagnostic_loopback_as_router_id: true.

New suggested model:
...
    vrfs:
      - name: myvrf
        bgp:
          # Router ID to use for BGP in this VRF.
          # This can be an IP address, "main_router_id", "none", "vtep_diagnostic"
          # - "use_main_router_id" will reuse the main BGP Router ID which is the IP address of Loopback0.
          # - "none" will not configure a BGP Router ID for this VRF. EOS will use the main BGP Router ID. <--- TODO: Verify this.
          # - "vtep_diagnostic" will use the IP address of the VRF Diagnostic Loopback interface.
          router_id: <str; default="main_router_id">
        ospf:
          router_id: <same>


add configurationTarget when updating settings

Currently all settings updates must be done at the workspace level, this adds the option to target the global level while remaining backwards compatible

Don't forget to update the args example/description: https://github.com/AndreasArvidsson/andreas-vscode/blob/da5b873a2c85dee27b2efea83a8c17dbae757934/src/commands/commands.ts#L156


nuke wl_list

the code need updated after this https://github.com/swaywm/wlroots/pull/3002

Hi, that issue is about wlr_list, which is part of wlroots, but this code does not use wlroots. This code uses wl_list, which is part of libwayland.
On July 1, 2021 12:22:20 p.m. MDT, mozartilize @.***> wrote:

the code need updated after this
https://github.com/swaywm/wlroots/pull/3002
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tadeokondrak/anthywl/issues/6

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

thanks, didn't know about that


What if rasterizer is (always) slower than 16ms, seems that we will have a too-full queue and are wasting time

may need some experiments

see code
void Animator::BeginFrame(
    std::unique_ptr<FrameTimingsRecorder> frame_timings_recorder) {
  if (!producer_continuation_) {
    FML_DLOG(INFO) << "hi Animator::BeginFrame call producer_continuation_ := "
                      "pipeline->Produce";
    // We may already have a valid pipeline continuation in case a previous
    // begin frame did not result in an Animation::Render. Simply reuse that
    // instead of asking the pipeline for a fresh continuation.
    producer_continuation_ = layer_tree_pipeline_->Produce();

    if (!producer_continuation_) {
      // If we still don't have valid continuation, the pipeline is currently
      // full because the consumer is being too slow. Try again at the next
      // frame interval.
      TRACE_EVENT0("flutter", "PipelineFull");
      RequestFrame();
      return;
    }
  }

Maybe add bool DownstreamPipelineFull()?

have solved this before?


Print status when running dlite

It would be great if the output of dlite said whether it is installed or not, and if it is, what settings were used (cpus, memory, disk, dhyveos, ...).

+1

that's a good idea, i'll get it added in the next release


docs: fix bullet lists by adding trailing whitespace

I noticed these aren't rendered as bullet lists since they are missing trailing whitespace (for some reason github's renderer doesn't care):
https://github.com/johannesjh/req2flatpak/blob/847406f3afabee316059f3a484466c70651541a8/docs/source/development.rst?plain=1#L29-L33
Originally posted by @real-yfprojects in https://github.com/johannesjh/req2flatpak/issues/55#issuecomment-1512657372

Bulleted lists are broken in many (if not all) places in the documentation.
For example, here as screenshots of the README, as rendered by github, correctly rendered with bullets:

... and the same content rendered by sphinx, broken without bullets:

Yes its basically everywhere. Adding a trailing line after each bullet point should fix it.

Adding newlines between the bullet points did not work.
I found this stackoverflow question: https://stackoverflow.com/q/67542699
The answers suggest that it is a bug in sphinx-rtd-theme


How can I make links relative?

Classes

<?js classes.forEach(function(c) { ?>

<?js= self.linkto(c.longname, c.name) ?>

<?js if (c.summary) { ?><?js= c.summary ?><?js } ?>

        <?js }); ?>

generates this:

Classes

Image

How do I make the links relative like this:

Classes

Image

(slash at the beginning)
Is there any info on how the templates work or what the values passed to them are? I don't understand what a  element is or what c is equal to, I don't see anything about it in the JSDoc docs.

Not an ideal solution, but I found if I force my /documention link to be /documention/, those links become prefixed with that, which makes them work.
Still wish it was less impossible to change within the template.


added base for sealedsecrets

Description
Short summary of what is the issue and the solution.
Dependencies

Ex. Other PRs.

Breaking Change

[ ] Yes
[ ] No

Testing Notes
What I did:
What did you do to validate this PR?
How you can replicate my testing:
How can the reviewer validate this PR?
Links
Issues links or other related resources

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


When storage provider is LOCAL and path is set still uses tmp directory

🐛 Bug Report
When using STORAGE_PROVIDER: "LOCAL" and STORAGE_PATH: "/my/custom/path". The turborepo remote cache server prefixes the system tmp drive onto the path
The bug can be seen here: https://github.com/ducktors/turborepo-remote-cache/blob/d81d7ef79b55bd9f01fd29419074725b5435b08d/src/plugins/remote-cache/storage/local.ts#L10
path is filled with what I sent however it's prefixed by tmpdir()

Hi! This is a good point.
Maybe adding another parameter to the options of the createLocal function:
export type LocalOptions = {
  path: string,
  useTmp: boolean
}

and an env var TURBO_CACHE_USE_TMP_FOLDER (boolean) that defaults to true (for backside compatibility), and that is assigned to that useTmp value (https://github.com/ducktors/turborepo-remote-cache/blob/d81d7ef79b55bd9f01fd29419074725b5435b08d/src/plugins/remote-cache/storage/index.ts#L40).
What do you think?

@fox1t I issued a PR from your comments it seemed good to me


Environment search: start with 'between' fields populated with max/min for variable

Allowing user to adjust to a specific range.
Right now, if you don’t know much about environment, you might not know what a “reasonable” range is, or in what format numbers should be entered.

I've done this - not sure if the 'all values' option is now necessary. @kirbykat can you check this and let me know?

@stefelisabeth I just tried a few variables, and I'm not sure this change has been pushed to the server (is that the right terminology?) When I pick a variable, the default option is "between" and the min/max boxes are still blank. Interestingly, if I select "between" AFTER selecting "all values", it keeps the "max" value filled in ("min" is blank). Same happens with "outside".
One possible solution would be to start with "all values" displayed, allowing users to choose "between" from the dropdown menu. But, I think my first choice would be to start with "between" displayed (as it is now) but with min/max boxes populated (but editable).
I would keep the "all values" option - that way if a user edits the "between" entry, but then changes their mind, they can select "all values" to repopulate the min/max.

@kirbykat "I just tried a few variables, and I'm not sure this change has been pushed to the server (is that the right terminology?)" :: [correct terminology ;) ] - it was pushed, but you should empty your browser's cache or press "Reload" 5 times :) - for me at least it works - tested for mean temperature etc.

@stefelisabeth @Bibiko thanks, it works perfectly now that I've cleared the cache. Also, now that I see how it works, I agree 'all values' is not needed - it seems like a user can just re-select "between" and the min-max will reset. Great!

Done in #187  and #214 . I left the 'all values' option because if the user edits any fields, min and max will not reset (as it's kind of annoying to edit something and then have it reset!) ( @kirbykat ).

@stefelisabeth great!


Designing & conducting a survey

Mellisa is an honors student in sociology.  She wants help developing questions and designing her own survey.  She has a few scholarly articles on the topic and has a well developed research question.  She is not aware of all the challenges related to IRB as well as developing a random sample method for the population she wants to survey.  She says she is interested in surveying Penn State students.  She is working through some of these challenges with her faculty adviser.

Problem: What is the right method to collect the data. How to use the method to collect the data


feat: Allow more characters in release labels

I have a release label
version: x.y.z

and helmfile cmd w/ --selector whatever=dog,version=x.y.z
Malformed label: version=x.y.z. Expected label in form k=v or k!=v in ...[mytemplate.yaml]...

Looking at:
https://github.com/roboll/helmfile/blob/c68fc5bc50ea80f5782381f1f4a1ce975ad98e06/pkg/state/release_filters.go#L51
Why are there any character restrictions on helmfile release selectors/labels anyway? They just are used to control what releases helmfile processes, and are not necessarily labels that end up in k8s so I don't see the need to comply with a specific character restriction format?

@bitsofinfo Good point! Yeah maybe we can loosen this restriction, assuming you won't use helmfile labels for propagating to k8s resources somehow.
But to be extra sure - why are you trying label releases with version numbers? Maybe we can focus on your specific use-case and the goal first, so that we may come up with a good solution anyway.

thats just one use case i have, a helm release per distinct app artifact version, they rotate through quite frequently, the helmfile can generate many releases and I have an upstream deployment tool that invokes helmfile, where I only want to force helmfile to process one of N releases and not all.

Hello here, our organization is using labels with prefixes like org.com/label-name: value.
Therefore we just cannot reference this label.

Our organization is also using labels with prefixes to help prevent collisions on generic terms likely to be in different charts, like "name".  We use the same reverse domain notation as sshishov and get the same error about malformed label.
Easy way to test/reproduce is with something like helmfile -l com.example/name=something status
If we need to change the format on our end from dot.notation to camelCase or something, I suppose that would work too but gets a little messy.

@mumoshu I can try to fix the issue, if you want and create PR. Please let me know as I am not professional in go but you added label that it is good issue for newcomers 🤣

@sshishov Yes, I'd appreciate it if you could do so!


RefreshDatabaseTrait without initial import of fixtures

Is it possible to use the RefreshDatabaseTrait on my tests, without truncating the database and importing al fixtures? As long as the trait is used on all tests, the final state of the database is OK to start with in the next test run. This would speed up my test runs.

Hey!
Just spent some time playing around with the database traits, so I might be able to help you.
I'm not sure what you mean, you'd like to prevent the trait from loading the fixtures before the first test and then have it work normally (reload the database before each test)? Doing so would only save a second.

My database has 318 tables, with many foreign keys between them. Truncating all tables takes like 15 seconds and inserting all fixtures also takes some time. All my tests use the RefreshDatabaseTrait and don't use the static::$fixtures-array.
While developing, I'ld like to run the tests for a specific class very often (and almost a minute waiting time is a pain). Because the trait prevents modifications to the database, it is not necessary to bring the database back to the initial state, since it's in that state already.
So I really want to get the advantages of the 'start transaction' and 'rollback' in the bootkernel and ensurekernelshutdown-hooks, but I don't need the DB initialization at that moment. When I need initialization, I can do that manually using the bin/console-command.
PS. Using delete-statements is faster, but unfortunately many tests depend on the ID's of objects, which change in each reload without truncate.

Then how about making your own DatabaseTrait?
RefreshDatabaseTrait is fairly simple, I had no trouble changing the logic to my tastes:

Replaced TRUNCATE with DELETE (which apparently you can't do)
Made it so that populateDatabase() would only be called after a test has altered the db.

It's fine for my small project but I understand it's not enough for yours.
I haven't tried START TRANSACTION and ROLLBACK so I won't be of any help, sorry.
However, I'm not sure it's still related to how RefreshDatabaseTrait works.

The relation is that the trait does the START TRANSACTION and ROLLBACK. Of course, overriding is an option, but I don't want to do that if it's an existing feature. Hence my question.

I think rolling your own trait would be the solution here. I'm not too keen to add different ways to use such a small trait, even more so because it's a trait which is brittle by nature


device not found

The app is showing ESP device not found. but in bluetooth settings it is showing ESP00. I am using ESP wroom module.

same problem

Check the App permissions to see if it has location access.


milliseconds as argument does not work.

Hey,
just tried the countdown with milliseconds as a end time. Seems not to be working (at least for me).
tried it with this:
$('div.clock').countdown(30*60000, function(event) {
   $(this).html(event.strftime('%M:%S'));
});

workaround:
$('div.clock').countdown(new Date(new Date().getTime() + 30*60000), function(event) {
   $(this).html(event.strftime('%M:%S'));
});

Torben

@baminc the code is working properly, let's take a closer look at the given milliseconds in the first function:
new Date(30*60000)
-> Wed Dec 31 1969 21:30:00 GMT-0300 (BRT)

This won't start the default countdown because the given time is in the past, so the it's already finished. Now the latter:
new Date(new Date().getTime() + 30*60000)
-> Wed Oct 14 2015 10:21:34 GMT-0300 (BRT)

Much more like it, because the return date is in the future. That is the default behavior of the Date object in javascript, so the workaround is the right way of starting dates:

Creates a JavaScript Date instance that represents a single moment in time. Date objects are based on a time value that is the number of milliseconds since 1 January, 1970 UTC.

Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date
Hope it helped!

OK, maybe the documentation confused me here: The final date argument says it could take "The milliseconds" which I thought was just the time until final date (like in if you want 30 Minutes Countdown just put the milliseconds for 30 minutes in there).
Maybe update the documentation to be more clear, anyway thanks for the heads up!

:+1: I will improve it, thanks for the heads up!


aws-sso-cli: 1.13.0 -> 1.13.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/synfinatic/aws-sso-cli/releases.
meta.description for aws-sso-cli is: AWS SSO CLI is a secure replacement for using the aws configure sso wizard
meta.homepage for aws-sso-cli is: https://github.com/synfinatic/aws-sso-cli
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.13.1 with grep in /nix/store/br2jxrpkbim2y8mvl5gkva67q2s5c30d-aws-sso-cli-1.13.1
found 1.13.1 in filename of file in /nix/store/br2jxrpkbim2y8mvl5gkva67q2s5c30d-aws-sso-cli-1.13.1

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
aws-sso-cli

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/br2jxrpkbim2y8mvl5gkva67q2s5c30d-aws-sso-cli-1.13.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/br2jxrpkbim2y8mvl5gkva67q2s5c30d-aws-sso-cli-1.13.1
ls -la /nix/store/br2jxrpkbim2y8mvl5gkva67q2s5c30d-aws-sso-cli-1.13.1/bin

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

1 package built:

aws-sso-cli

Maintainer pings
cc @devusb for testing.

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

1 package built:

aws-sso-cli


Run lib/tests/misc.nix on ofborg

Description of changes
Run lib/tests/misc.nix on ofborg
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

The tests should already run with lib/tests/check-eval.nix, referenced from the release.nix

Confirmed.
I must have done something wrong when testing the tests.


kog patch 33

Continue now loads last hubzone visited.

everything looks good - if we need to modify the save file just lemme know


Environment Documentation Not Consistent for Execute(actions)

Hey,
I was going over the source code and testing out environments. In particular, I tried running a list of actions
env = OpenAIGym("CartPole-v0")
env.execute({'action0': 0, 'action1': 1})

fails to run. Going over the source code and stack trace for OpenAIGym reveals that it attempts to parse it in the code block
if isinstance(actions, dict):
            actions = [actions['action{}'.format(n)] for n in range(len(actions))]

but openai gym doesn't support stepping with a list of actions. Going over the documentation and various implementation for environments reveals further inconsistencies. In particular, the signature and documentation for Environment.execute
def execute(self, actions):
        """
        Executes action, observes next state(s) and reward.

        Args:
            actions: Actions to execute.

        Returns:
            (Dict of) next state(s), boolean indicating terminal, and reward signal.
        """

hints at being able to execute on multiple actions, but the implementations for Game2048 and Ale seem to hint at actions only being singular. But GymOpenAI and OpenAIUniverse hint at multiple options. Therefore, I must ask for some clarification on what exactly is the behavior.
Thanks

I fix this in #448 and only single actions can be given.


Throw on inaccessible constructor

LifetimeScope should throw on attempt to resolve any type without available constructors

Currently returns "default value", which is just null. This is ambiguous to a factory returning null (which maybe shouldn't be allowed either).


optimal chunks per core and rows per chunk

Description
150000 rows to be processed. All columns (13) are passed to func.
The func is mapping specific column values to prespecified numbers and evals a sympy equation returning a float.
I want to use all my 16 cores (includes hyperthreading).
Use case / motivation / context
What is the best way of dividing the chunks? And how do I know the optimal rows per chunk and max chunks per worker in this case?

Hi @player1024,
The only purpose of chunk_size is to avoid unnecessary multiprocessing. Most of the times (big dataframes), this value is ignored and the final chunk size is determined by max_chunks_per_worker.
The only reason to have max_chunks_per_worker>1 is to account for variations in time needed per row. If each row would take exactly the same amount of time (basically never the case due to clock speed variations), you could simply set max_chunks_per_worker=1 and trust that all of your 16 chunks (assuming 16 physical CPU cores and purely CPU bound computation) will finish at the same time. Empirically, I found a value of 8-16 suitable for most sizes of datasets. There's a trade-off when you have too many chunks, as there will be some overhead for splitting/concatenating and for transferring (pickling) data to/from the processes.
As for the task you describe: lookups (hashing) is mostly a CPU bound operation. If you're sure of the added value of additional processes on the hyperthreaded cores (e.g. the function does disk or network i/o), you can set your workers to 16. You can simply test with both 16 and -1 with a subset of data, and see if there's a significant speed up. If it's marginal or non-existent, it's most likely a CPU bound operation :)
Hope that helps!


[ROAD-222] Feat: description panel

Move description panel logic to separate wpf user control class.

@aldanchenko can you rebase this branch please, so that it's reviewable? Thank you 🙌

This PR has the same changes as https://github.com/snyk/snyk-visual-studio-plugin/pull/23 and the build failing. I'll wait until we finish with https://github.com/snyk/snyk-visual-studio-plugin/pull/23 before looking at this one, unless you can branch them that I don't see repeated changes here.

@michelkaporin now this changes ready for review.


Add support for 2FA authentication

It would be nice to support 2FA authentication to enhance security.

I would propose to pass a 2FA code to the signin command and if not provided but 2FA is activated then ask for a 2FA code to be entered.


Implement log compaction

Section 7 of the Raft paper describes a much-needed optimization: log compaction. With it, the cluster will be able to snapshot its state from time to time so that replicas in the future don't have to replicate the entire transition log and so that storage space is preserved.
Implementing this in Little Raft according to the paper is a good way to make Little Raft a production-grade library. This is a good feasible challenge for people that want to build important functionality of a real distributed system following a clear specification (the Raft paper section 7, in this case).

I'm working on this.


[adobepass] add verizon_hba mso and verizon saml improvements

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Turner extractors (AdultSwim, TNT, TBS, etc) use "Verizon_HBA" instead of "Verizon" as the MSO name, though the credentials are the same.
Also, I've encountered some additional login pipelines that are used by providers such as USA that have given me problems. This appears to also be flagged as issue #13848.

this is needed for disney jr now as well

@rg3 Could you consider merging this?  It's a very simple addition that fixes several popular sites for Verizon users.

Pinging the current maintainers: @dstftw

I merged this PR into master locally and confirmed that it does work for Turner services (e.g., TBS, Adult Swim).  Haven't tested other streaming services yet.

It's needed for truTV I found out last week.
Sent from my iPhone

On Apr 26, 2018, at 03:47, Paul Buonopane<EMAIL_ADDRESS>wrote:
I merged this PR into master locally and confirmed that it does work for Turner services (e.g., TBS, Adult Swim). Haven't tested other streaming services yet.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I unfortunately don't have Verizon FiOS TV services anymore to test any changes. I wouldn't feel comfortable updating this PR without it. Hopefully someone else out there with credentials is able to work it out with you.

This no longer appears to be relevant; Verizon_HBA has been replaced with Verizon everywhere I've checked.


Logging level needs to be improved

Once I import the jar into my project, all the logs are produced at INFO level, can you please change this accordingly so that my application doenst produces too much of logs.
eg-
18:50:07.874 [main] INFO org.jeasy.rules.core.DefaultRulesEngineListener - Engine parameters { skipOnFirstAppliedRule = false, skipOnFirstNonTriggeredRule = false, skipOnFirstFailedRule = false, priorityThreshold =<PHONE_NUMBER> }
18:50:07.881 [main] INFO org.jeasy.rules.core.DefaultRulesEngineListener - Registered rules:
18:50:07.891 [main] INFO org.jeasy.rules.core.DefaultRulesEngineListener - Rule { name = 'firstname rule', description = 'firstName should not be empty/blank', priority = '2147483646'}
18:50:07.893 [main] INFO org.jeasy.rules.core.DefaultRulesEngineListener - Rule { name = 'lastname rule', description = 'lastname should not be empty/blank', priority = '2147483646'}
18:50:07.893 [main] INFO org.jeasy.rules.core.DefaultRulesEngineListener - Known facts:
18:50:07.893 [main] INFO org.jeasy.rules.core.DefaultRulesEngineListener - Fact { myRowData : jeasyrule.MyRowData@27ddd392 }
18:50:07.893 [main] INFO org.jeasy.rules.core.DefaultRulesEngineListener - Rules evaluation started
beforeEvaluate firstname rule
18:50:07.905 [main] INFO org.jeasy.rules.core.DefaultRuleListener - Rule 'firstname rule' triggered
afterEvaluate firstname rule evaluationResult true
beforeExecute firstname rule
FirstName Valid:true
18:50:07.906 [main] INFO org.jeasy.rules.core.DefaultRuleListener - Rule 'firstname rule' performed successfully
onSuccess firstname rule
beforeEvaluate lastname rule
18:50:07.906 [main] INFO org.jeasy.rules.core.DefaultRuleListener - Rule 'lastname rule' has been evaluated to false, it has not been executed
afterEvaluate lastname rule evaluationResult false

This is fixed in #166. Please keep tuned for v3.3.


Indices.All vs Indices.AllIndicies

There's no docs on this that I can see. Any reason why there is both?

    public static Indices All { get; } = new Indices(new Indices.AllIndicesMarker());

    public static Indices AllIndices { get; } = new Indices(new Indices.AllIndicesMarker());

Sharp eye :)
It's for when you statically import Indices and Types and All becomes ambiguous.
using static Nest.Indices;

The preferred static import target though is
using static Nest.Infer;

for everything (Fields, Type(s), Index, Indices and Id(T))
We'll be more conservative how we expose this in 5.0 and write proper documentation around this (beyond the inferrence pages we already have https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/field-inference.html#nest-infer)

Thanks :). Could we use an import alias?

I just hit this again when trying to upgrade from 1.x to 5.x

There are no docs on this.

Did you see the indices paths documentation?
We're going to spend some time to go over the documentation to include elements that are not covered currently and to arrange the content in a more coherent fashion.

I did not, I always use up-to-date source as my docs most of the time. With this said I have a correction to my statement: There are no xml docs for this :)
Why not remove All and have AllIndicies then it would remove all confusion?


Not working with Semantic UI

Hello,
I was using react-waypoint with Twitter Bootstrap 3 => everything was working. Now I am migrating to the Semantic UI. Everything is working except the react-waypoint. It does not trigger onEnter action. If I does not include Semantic UI CSS file, react-waypoint works again.

Hi @FunProject! Will you please put together a repo with a simple repro case so we can help you debug?

Hello,
I have created sample repo. Hope you can help me. Thank you.

That's quite a big repro case, any chance you can slim it down?
One possible theory (without actually finding any support for it) is that Semantic UI has an overflow: auto|scroll somewhere which is causing the waypoint to use the "wrong" scrollable ancestor. You can try that theory by either inspecting the waypoint to see what its this.scrollableAncestor is. If it's not pointing at the right element (should be window in your case I think), that's probably where the problem is. You can manually override the scrollableAncestor through a prop passed to waypoint, e.g. <Waypoint scrollableAncestor={window}/>, though I would encourage you to dig deeper even if this helps you. You might be able to help others using Semantic UI as well.

Yes! You are right.
I checked event listeners and I have realized that in Bootstrap the scrollableAncestor is referencing to "Window":

but if I use Semantic UI CSS, it's referencing to "body" element.

Please can you help me? I'm not experienced enough to solve this problem by myself.
Thank You!

Ok, so update,
I have just added scrollableAncestor={window} to the Waypoint component (as @trotzig mentioned :-)) and everything is working now!

I'm glad you got things resolved. There might be a bug somewhere here (https://github.com/brigade/react-waypoint/pull/57 is related), but I'm not sure what it is. Do you happen to know where that id and class names come from? I'm thinking of #syno-nsc-ext-gen3.ext-webkit.ext-chrome.ext-max. To me it looks like a chrome extension, I doubt that it's something that Semantic UI is adding. It's definitely not added by the Semantic UI CSS, since that wouldn't manipulate the DOM (adding classes/id).


allow titles to start with attribute references

Changed the regular expressions for titles at all levels to allow a title to start with an attribute reference, e.g. == {attr} Rest of Title.

Can this get merged, please?!


wrong syntax highlighting for $((...) ....)

Steps to reproduce
$ cat << EOF > x.sh
x="$( (echo x; echo y) | grep x)"
x="$x z"    # expected
x="$((echo x; echo y) | grep x)"
x="$x z"    # wrong
EOF
vi x.sh
shows line 5 x=printed in purple
Expected behaviour
line 5 is printed in blue
Version of Vim
vim --version VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Aug 15 2022 17:07:37) Included patches: 1-99 Modified by Gentoo-9.0.0099 Compiled by portage@localhost
Environment
vim --version
VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Aug 15 2022 17:07:37)
Included patches: 1-99
Modified by Gentoo-9.0.0099
Compiled by portage@localhost
Logs and stack traces
No response

Duplicate of https://github.com/vim/vim/issues/3847

FWIW, shellcheck considers $(( as an error:
$ shellcheck x.sh

In x.sh line 6:
x="$((echo x; echo y) | grep x)"
   ^-- SC1102 (error): Shells disambiguate $(( differently or not at all. For $(command substitution), add space after $( . For $((arithmetics)), fix parsing errors.

For more information:
  <https://www.shellcheck.net/wiki/SC1102 -- Shells disambiguate $(( different...>

As lacygoill says, changing the "$((...  to "$( (... and the highlighting will be correct. Its a question of interpreting that double open parenthesis.


List all accounts in the service

Given the account listing endpoint
When a GET request is made
Then a list of all accounts is returned
And the response status is 200 OK


FocusableActionDetector DartPad sample is broken

The DartPad sample for FocusableActionDetector shows errors:
error: The name 'ShortcutActivator' isn't a type so it can't be used as a type argument. (non_type_as_type_argument at [tmp_focus_bug] lib/main.dart:53)
error: The name 'ShortcutActivator' isn't a type so it can't be used as a type argument. (non_type_as_type_argument at [tmp_focus_bug] lib/main.dart:54)
error: The keys in a const map literal must be constant. (non_constant_map_key at [tmp_focus_bug] lib/main.dart:55)
error: The method 'SingleActivator' isn't defined for the type '_FadButtonState'. (undefined_method at [tmp_focus_bug] lib/main.dart:55)
error: The argument type 'Map<dynamic, Intent>' can't be assigned to the parameter type 'Map<LogicalKeySet, Intent>?'. (argument_type_not_assignable at [tmp_focus_bug] lib/main.dart:103)

FYI @gspencergoog

I'm very confused. How did ShortcutActivator make it into a stable docs sample? That class is available on dev, but not on stable, and I wouldn't expect a sample to be merged before the class exists (mainly because it would fail analysis).
I would expect this to not work on master-api.flutter.dev because Dartpad doesn't use the dev channel, but anything on api.flutter.dev should be functional.

FocusableActionDetector's sample available at mentioned link is working fine. Hence closing this one!


Neomake doesn't show errors/warnings from wemake-python-styleguide

Expected behavior
I have a virtualenv with flake8 installed. I also have wemake-python-styleguide installed. The problem is, when I run flake8 on a file, it shows many warning from WPS, but none of them are presented with neomake.
Steps to reproduce
Neomake configuration:
" Neomake ------------------------------

" Run linter on write
autocmd! BufWritePost * Neomake

" Check code as python3 by default
let g:neomake_python_enabled_makers = ['flake8']
let g:neomake_python_python_maker = neomake#makers#ft#python#python()
let g:neomake_python_flake8_maker = neomake#makers#ft#python#flake8()
let g:neomake_python_python_maker.exe = 'python3 -m py_compile'

Some errors from flake8 are shown (the same ones that I get from cmd line, but without those in WPS). And I am sure that vim "catches" the virtualenv, since I don't have flake8 installed globally. And it even gets the settings from setup.cfg
Currently I switched to: https://github.com/nvie/vim-flake8, cuz when I run it, it shows WPS errors (so that's another proof, that it has nothing to do with my virtualenv or vim setup).
Are you experiencing the same problems? Is there some way to fix it?

Can you post a) the verbatim output when running it manually, and b) the logfile for when using it?  (see the issue template).

So that's the output from the command line:
tests/foo.py:19:9: WPS515 Found `open()` used without a context manager
tests/foo.py:19:14: WPS305 Found `f` string
tests/foo.py:52:9: WPS326 Found implicit string concatenation
tests/foo.py:53:9: WPS326 Found implicit string concatenation
tests/foo.py:54:9: WPS326 Found implicit string concatenation
tests/foo.py:55:9: WPS326 Found implicit string concatenation
tests/foo.py:59:9: WPS326 Found implicit string concatenation
tests/foo.py:60:9: WPS326 Found implicit string concatenation
tests/foo.py:61:9: WPS326 Found implicit string concatenation
tests/foo.py:62:9: WPS326 Found implicit string concatenation
tests/foo.py:66:1: D102 Missing docstring in public method
tests/foo.py:69:9: WPS437 Found protected attribute usage: _post
tests/foo.py:70:9: WPS437 Found protected attribute usage: _post
tests/foo.py:74:1: D102 Missing docstring in public method
tests/foo.py:76:49: WPS432 Found magic number: 500
tests/foo.py:78:20: WPS437 Found protected attribute usage: _post
tests/foo.py:78:74: WPS520 Found compare with falsy constant
tests/foo.py:80:1: D102 Missing docstring in public method
tests/foo.py:82:49: WPS432 Found magic number: 200
tests/foo.py:84:20: WPS437 Found protected attribute usage: _post
tests/foo.py:93:1: D102 Missing docstring in public method
tests/foo.py:94:34: WPS437 Found protected attribute usage: _do_something
tests/foo.py:105:1: D102 Missing docstring in public method
tests/foo.py:106:33: WPS437 Found protected attribute usage: _do_something_else
tests/foo.py:111:101: E501 line too long (111 > 100 characters)
tests/foo.py:121:1: D102 Missing docstring in public method
tests/foo.py:129:1: D101 Missing docstring in public class
tests/foo.py:142:9: WPS326 Found implicit string concatenation
tests/foo.py:143:9: WPS326 Found implicit string concatenation
tests/foo.py:144:9: WPS326 Found implicit string concatenation
tests/foo.py:145:9: WPS326 Found implicit string concatenation
tests/foo.py:149:9: WPS326 Found implicit string concatenation
tests/foo.py:150:9: WPS326 Found implicit string concatenation
tests/foo.py:151:9: WPS326 Found implicit string concatenation
tests/foo.py:152:9: WPS326 Found implicit string concatenation
tests/foo.py:156:1: D102 Missing docstring in public method
tests/foo.py:163:1: D102 Missing docstring in public method
tests/foo.py:164:33: WPS437 Found protected attribute usage: _do_something_else
tests/foo.py:169:101: E501 line too long (111 > 100 characters)
tests/foo.py:179:1: D102 Missing docstring in public method

This is the output from a log file:
12:07:26 5361 [D  +239] [2.-:4:1] Running makers: flake8.
12:07:26 5361 [V      ] [2.2:4:1] Starting async job: flake8 --format=default tests/foo.py.
12:07:26 5361 [D      ] [2.2:4:1] cwd: /home/dabljues/projects/foo.
12:07:27 5361 [D +0.68] [2.2:4:1] output on stdout: ['tests/foo.py:19:9: WPS515 Found `open()` used without a context manager', 'tests/foo.py:19:14: WPS305 Found `f` string', 'tests/foo.py:52:9: WPS326 Found implicit string concatenation', 'tests/foo.py:53:9: WPS326 Found implicit string concatenation', 'tests/foo.py:54:9: WPS326 Found implicit string concatenation', 'tests/foo.py:55:9: WPS326 Found implicit string concatenation', 'tests/foo.py:59:9: WPS326 Found implicit string concatenation', 'tests/foo.py:60:9: WPS326 Found implicit string concatenation', 'tests/foo.py:61:9: WPS326 Found implicit string concatenation', 'tests/foo.py:62:9: WPS326 Found implicit string concatenation', 'tests/foo.py:66:1: D102 Missing docstring in public method', 'tests/foo.py:69:9: WPS437 Found protected attribute usage: _post', 'tests/foo.py:70:9: WPS437 Found protected attribute usage: _post', 'tests/foo.py:74:1: D102 Missing docstring in public method', 'tests/foo.py:76:49: WPS432 Found magic number: 500', 'tests/foo.py:78:20: WPS437 Found protected attribute usage: _post', 'tests/foo.py:78:74: WPS520 Found compare with falsy constant', 'tests/foo.py:80:1: D102 Missing docstring in public method', 'tests/foo.py:82:49: WPS432 Found magic number: 200', 'tests/foo.py:84:20: WPS437 Found protected attribute usage: _post', 'tests/foo.py:93:1: D102 Missing docstring in public method', 'tests/foo.py:94:34: WPS437 Found protected attribute usage: _do_something', 'tests/foo.py:105:1: D102 Missing docstring in public method', 'tests/foo.py:106:33: WPS437 Found protected attribute usage: _do_something_else', 'tests/foo.py:111:101: E501 line too long (111 > 100 characters)', 'tests/foo.py:121:1: D102 Missing docstring in public method', 'tests/foo.py:129:1: D101 Missing docstring in public class', 'tests/foo.py:142:9: WPS326 Found implicit string concatenation', 'tests/foo.py:143:9: WPS326 Found implicit string concatenation', 'tests/foo.py:144:9: WPS326 Found implicit string concatenation', 'tests/foo.py:145:9: WPS326 Found implicit string concatenation', 'tests/foo.py:149:9: WPS326 Found implicit string concatenation', 'tests/foo.py:150:9: WPS326 Found implicit string concatenation', 'tests/foo.py:151:9: WPS326 Found implicit string concatenation', 'tests/foo.py:152:9: WPS326 Found implicit string concatenation', 'tests/foo.py:156:1: D102 Missing docstring in public method', 'tests/foo.py:163:1: D102 Missing docstring in public method', 'tests/foo.py:164:33: WPS437 Found protected attribute usage: _do_something_else', 'tests/foo.py:169:101: E501 line too long (111 > 100 characters)', 'tests/foo.py:179:1: D102 Missing docstring in public method', ''].
12:07:27 5361 [D      ] [2.2:4:1] exit: flake8: 1.
12:07:27 5361 [D      ] [-.-:4:1] Using setting filter_output=function('neomake#makers#ft#python#FilterPythonWarnings') from 'maker'.
12:07:27 5361 [D      ] [2.2:4:1] Processing 40 lines of output.
12:07:27 5361 [D      ] [-.-:4:1] Using setting postprocess=function('neomake#makers#ft#python#Flake8EntryProcess') from 'maker'.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 1 (postprocess): {'changed': {'nr': [102, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public method', 'D102 Missing docstring in public method']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 2 (postprocess): {'changed': {'nr': [102, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public method', 'D102 Missing docstring in public method']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 3 (postprocess): {'changed': {'nr': [102, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public method', 'D102 Missing docstring in public method']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 4 (postprocess): {'changed': {'nr': [102, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public method', 'D102 Missing docstring in public method']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 5 (postprocess): {'changed': {'nr': [102, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public method', 'D102 Missing docstring in public method']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 6 (postprocess): {'changed': {'nr': [501, -1], 'type': ['E', 'W'], 'text': ['line too long (111 > 100 characters)', 'E501 line too long (111 > 100 characters)']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 7 (postprocess): {'changed': {'nr': [102, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public method', 'D102 Missing docstring in public method']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 8 (postprocess): {'changed': {'nr': [101, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public class', 'D101 Missing docstring in public class']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 9 (postprocess): {'changed': {'nr': [102, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public method', 'D102 Missing docstring in public method']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 10 (postprocess): {'changed': {'nr': [102, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public method', 'D102 Missing docstring in public method']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 11 (postprocess): {'changed': {'nr': [501, -1], 'type': ['E', 'W'], 'text': ['line too long (111 > 100 characters)', 'E501 line too long (111 > 100 characters)']}}.
12:07:27 5361 [D      ] [2.2:4:1] Modified list entry 12 (postprocess): {'changed': {'nr': [102, -1], 'type': ['D', 'W'], 'text': ['Missing docstring in public method', 'D102 Missing docstring in public method']}}.
12:07:27 5361 [D      ] [2.-:4:1] Adding 12 list entries.
12:07:27 5361 [D      ] [2.-:4:1] Creating location list for entries.
12:07:27 5361 [D      ] list: call: set: [0, [], ' ', {'context': {'neomake': {'make_info': 'make_id=2'}}, 'items': [], 'title': 'Neomake[file]: t/p/a/i/foo.py (flake8...)'}].
12:07:27 5361 [D      ] list: got qfid (action=set): 4.
12:07:27 5361 [D      ] list: call: set: [0, [], 'a', {'id': 4, 'items': [{'lnum': 66, 'bufnr': 4, 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1, 'module': '', 'type': 'W', 'pattern': '', 'text': 'D102 Missing docstring in public method'}, {'lnum': 74, 'bufnr': 4, 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1, 'module': '', 'type': 'W', 'pattern': '', 'text': 'D102 Missing docstring in public method'}, {'lnum': 80, 'bufnr': 4, 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1, 'module': '', 'type': 'W', 'pattern': '', 'text': 'D102 Missing docstring in public method'}, {'lnum': 93, 'bufnr': 4, 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1, 'module': '', 'type': 'W', 'pattern': '', 'text': 'D102 Missing docstring in public method'}, {'lnum': 105, 'bufnr': 4, 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1, 'module': '', 'type': 'W', 'pattern': '', 'text': 'D102 Missing docstring in public method'}, '... (12 total)'], 'title': 'Neomake[file]: t/p/a/i/foo.py (flake8...)'}].
12:07:27 5361 [D      ] list: call: "get", returning items: [['getloclist', [0, {'id': 4, 'items': 1}]]].
12:07:27 5361 [D      ] [2.2:4:1] Processing 12 entries.
12:07:27 5361 [D      ] [2.-:4:1] File-level errors cleaned.
12:07:27 5361 [D      ] [-.-:4:1] Reused 12 signs.
12:07:27 5361 [D      ] [2.2:4:1] flake8: completed with exit code 1.
12:07:27 5361 [D      ] [2.2:4:1] Cleaning jobinfo.
12:07:27 5361 [D      ] [-.-:4:1] Cleaning 0 old signs.
12:07:27 5361 [D      ] list: call: "title": [0, [], 'a', {'id': 4, 'title': 'Neomake[file]: t/p/a/i/foo.py (flake8(12))'}].
12:07:27 5361 [D      ] [2.-:4:1] Cleaning make info.

As you can see, there are WPS warnings, but they are not displayed on the editor (I checked by going on the line with a warning, nothing pops up in the status bar)

This is because e.g. WPS123 does not match the used errorformat of %t%d (i.e. a single letter indicating a type, and then a number).
I've started revisiting the flake8 maker in https://github.com/neomake/neomake/pull/2527.
Currently it would assign type="W" to all WPSXXX codes.
Those could be further redefined using the table at https://wemake-python-stylegui.de/en/latest/pages/usage/violations/index.html - but it's an issue with flake8 (plugins) in general, which do not have a clear indication of issue levels (error, warning, info, …).


nginx.ingress return "503 Service Temporarily Unavailable" with external service

Useful
Info

Versions
Rancher v2.1.0 UI: v2.0.77

Route
authenticated.project.dns.index

Close in favor of https://github.com/rancher/rancher/issues/15809

The external hostname is not in my k8s cluster !
apiVersion: v1
kind: Service
metadata:
annotations:
field.cattle.io/creatorId: user-bwd57
field.cattle.io/ipAddresses: "null"
field.cattle.io/targetDnsRecordIds: "null"
field.cattle.io/targetWorkloadIds: "null"
creationTimestamp: 2018-11-13T06:25:20Z
labels:
cattle.io/creator: norman
name: test
namespace: palteform-dev
resourceVersion: "3702144"
selfLink: /api/v1/namespaces/palteform-dev/services/test
uid: e53f3c9d-e70c-11e8-a883-00163e0c682f
spec:
externalName: www.baidu.com
ports:

name: default
port: 80
protocol: TCP
targetPort: 80
sessionAffinity: None
type: ExternalName
status:
loadBalancer: {}

Please read https://github.com/rancher/rancher/issues/15809#issuecomment-433296055

Thanks ! it is working.....

@wuchencm cool
I think we can support user to input the port when creating the service for external hostname.
And change the port input in ingress page to a dropdown.


Added requestVerification to RecordService

Identical to the existing requestPasswordRequest method, except with a different path and docstring.

already merged as part of #57


Application getting crash with error Fatal Exception: java.lang.IllegalStateException Unbalanced enter/exit

I am using
"com.squareup.retrofit2:retrofit:2.8.1" and  "com.squareup.okhttp3:logging-interceptor:4.3.1" to make web request in my android application. I am using android studio 3.6.1. Is there any D8 related issue or something else?  I am getting this issue on most of the Samsung phone.
Below are the logs for references.
okio.AsyncTimeout.enter (AsyncTimeout.java:49)
okio.AsyncTimeout$source$1.read (AsyncTimeout.java:343)
okio.RealBufferedSource.read (RealBufferedSource.java:188)
okhttp3.internal.http1.Http1ExchangeCodec$AbstractSource.read (Http1ExchangeCodec.java:352)
okhttp3.internal.http1.Http1ExchangeCodec$FixedLengthSource.read (Http1ExchangeCodec.java:389)
okhttp3.internal.Util.skipAll (Util.java:336)
okhttp3.internal.Util.discard (Util.java:357)
okhttp3.internal.http1.Http1ExchangeCodec$FixedLengthSource.close (Http1ExchangeCodec.java:408)
okio.ForwardingSource.close (ForwardingSource.java:34)
okhttp3.internal.connection.Exchange$ResponseBodySource.close (Exchange.java:312)
okio.RealBufferedSource.close (RealBufferedSource.java:498)
okhttp3.internal.Util.closeQuietly (Util.java:462)
okhttp3.ResponseBody.close (ResponseBody.java:192)

I also encountered the same exception when using websocket. When the connection was disconnected, I reconnected for 2 seconds, using OKHttp version 4.7.2.

I encountered the same exception when using websocket, using OKHttp version 4.7.2. Delayed reconnection when the connection is disconnected, the shorter the set delay, the easier it is to reproduce.

Are you operating on that steam from multiple threads concurrently? Perhaps closing it while you're still reading?
Please provide an executable test case to reproduce this crash.

Reopen with a repro

I have the same problem， retrofit：2.8.1        okhttp:4.8.0

I have the same problem， retrofit：2.8.1 okhttp:4.8.0

I have the same problem， retrofit：2.8.1 okhttp:4.8.0


feat: add transaction_receipt

Closes #1883

Codecov Report

Merging #1919 (b21a3a0) into main (2bc4da5) will decrease coverage by 12.88%.
The diff coverage is 0.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             main    #1919       +/-   ##
===========================================
- Coverage   72.99%   60.11%   -12.88%
===========================================
  Files         418      417        -1
  Lines       51345    51387       +42
===========================================
- Hits        37479    30892     -6587
- Misses      13866    20495     +6629

Flag
Coverage Δ

integration-tests
19.61% <0.00%> (+0.01%)
:arrow_up:

unit-tests
53.82% <0.00%> (-13.47%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

crates/primitives/src/log.rs
16.66% <0.00%> (-83.34%)
:arrow_down:

crates/primitives/src/transaction/mod.rs
76.98% <ø> (-12.71%)
:arrow_down:

crates/rpc/rpc/src/eth/api/server.rs
94.73% <0.00%> (-3.84%)
:arrow_down:

crates/rpc/rpc/src/eth/api/transactions.rs
13.84% <0.00%> (-16.77%)
:arrow_down:

... and 130 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[1.12] [Duplicate] Strange/Unexpected Behavior When Removing A Chest From a Wolf

Issue Description
Storing items in the wolf's chest then removing the chest will not drop the items that were stored in the chest. It saves that information for when the chest is put back on the wolf. I mean, it doesn't delete the items so that is a plus but that is very weird behavior and not how it should logically behave. Players would likely think it deleted their items (as I did at first) and if they have a lot of dogs it would be very easy to mix up which to put the chest back on - even if they knew about this feature. Furthermore, it basically acts as a way to 'hide' items from other people (including staff of a server) which is problematic.
Reproduction Steps
Steps to reproduce the behavior:

Tame a wolf.
Place a chest on the wolf.
Store items in the chest.
Open the wolf's inventory and click the "Remove Chest" button.
Watch as it only drops the chest and not the items.
Open the wolf's inventory to confirm that there are no items stored there (because it has no chest on it).
Put the same chest back on the wolf and open the wolf's inventory.
Stare in confusion when the items are magically back in the storage of the wolf. :P

Expected Behavior
When the player removes the chest from the wolf I'd expect it to drop the items that were being stored in the chest.
Screenshots / Videos
GIF: https://gyazo.com/c5d96c66d2e1b4142d9765d9e33d846b
Version Information:

OS: Windows 10
Java: Java 8 Update 251 (64-bit) also Java SE Development Kit 8 Update 221 (64-bit)
Minecraft Version: Forge 1.12.2
Forge Version: forge-<IP_ADDRESS>47
Mod Version: wolfarmor-1.12.2-3.7.1-universal-signed.jar

Additional Context

I do have Quark installed but I disabled Quark's petting feature so it doesn't conflict with opening the dog's inventory. Also I am testing this in singleplayer before I add the mod to my serverpack and use it on a server.
As a side note, killing the wolf while the chest is on (or off of) the wolf DOES drop the items.

Hope this gets fixed! Awesome mod other than this issue! :)

Fixed this in #160, but I guess i haven't released that version yet, oops

Fixed this in #160, but I guess i haven't released that version yet, oops

Ah okay. Thanks!


every ten seconds we get: [0075] ERROR zulip: Response wasn't JSON, server down or restarting? sleeping 10 seconds

Describe the bug
Messages from zulip are not delivered to discord. Discord does receive messages from other sources. Messages from discord are entered in zulip but not the other way around and we get the following error every ten seconds:
[0075] ERROR zulip: Response wasn't JSON, server down or restarting? sleeping 10 seconds

To Reproduce
configure a zulip channel bridge
[zulip.rchain]
Token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Login="gov-bot@myserver"
Server="https://zulip.myserver/"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "

[[gateway]]
name="zulip"
enable=true

[[gateway.inout]]
account="discord.colab"
channel="ID:718083993513361468"

[[gateway.inout]]
account="zulip.rchain"
channel="general/topic:discord"

run matterbridge
Expected behavior
we expect messages from discord bridged to zulip channel and zulip messages bridged to discord.
Screenshots/debug logs
If applicable, add screenshots to help explain your problem.
Use logs from running matterbridge -debug if possible.
rchain@rhobot:~/matterbridge$ ./matterbridge --conf zulip.toml -debug
[0000]  INFO main:         [setupLogger:matterbridge.go:106] Enabling debug logging.
[0000]  INFO main:         [main:matterbridge.go:46] Running version 1.18.0 e3d8fe4f
[0000]  INFO router:       [Start:gateway/router.go:66] Parsing gateway zulip
[0000]  INFO router:       [Start:gateway/router.go:75] Starting bridge: discord.colab
[0000]  INFO discord:      [Connect:bridge/discord/discord.go:58] Connecting
[0000]  INFO discord:      [Connect:bridge/discord/discord.go:60] Connecting using token
[0000]  INFO discord:      [Connect:bridge/discord/discord.go:76] Connection succeeded
[0000] DEBUG discord:      [Connect:bridge/discord/discord.go:129] found channel &discordgo.Channel{ID:"257555931120795649", GuildID:"257555930173014017", Name:"Voice", Topic:"", Type:2, LastMessageID:"", LastPinTimestamp:"", NSFW:false, Icon:"", Position:0, Bitrate:64000, Recipients:[]*discordgo.User(nil), Messages:[]*discordgo.Message(nil), PermissionOverwrites:[]*discordgo.PermissionOverwrite{}, UserLimit:0, ParentID:"", RateLimitPerUser:0}
...
[0000] DEBUG discord:      [Connect:bridge/discord/discord.go:129] found channel &discordgo.Channel{ID:"718083993513361468", GuildID:"257555930173014017", Name:"zulipchat", Topic:"", Type:0, LastMessageID:"739530121731506237", LastPinTimestamp:"2020-06-24T20:23:01.763000+00:00", NSFW:false, Icon:"", Position:2, Bitrate:0, Recipients:[]*discordgo.User(nil), Messages:[]*discordgo.Message(nil), PermissionOverwrites:[]*discordgo.PermissionOverwrite{}, UserLimit:0, ParentID:"", RateLimitPerUser:0}
[0000]  INFO discord:      [joinChannels:bridge/bridge.go:77] discord.colab: joining ID:718083993513361468 (ID: ID:718083993513361468discord.colab)
[0000]  INFO router:       [Start:gateway/router.go:75] Starting bridge: zulip.rchain
[0001]  INFO zulip:        [Connect:bridge/zulip/zulip.go:41] Connection succeeded
[0001]  INFO zulip:        [joinChannels:bridge/bridge.go:77] zulip.rchain: joining general/topic:discord (ID: general/topic:discordzulip.rchain)
[0001]  INFO main:         [main:matterbridge.go:70] Gateway(s) started succesfully. Now relaying messages
[0001] ERROR zulip:        [handleQueue:bridge/zulip/zulip.go:111] Response wasn't JSON, server down or restarting? sleeping 10 seconds
[0011] ERROR zulip:        [handleQueue:bridge/zulip/zulip.go:111] Response wasn't JSON, server down or ...
[0061] ERROR zulip:        [handleQueue:bridge/zulip/zulip.go:111] Response wasn't JSON, server down or restarting? sleeping 10 seconds

**Environment **

OS: Ubuntu 18.04.4 LTS
Matterbridge version:   1.18.0 e3d8fe4f

Could you run matterbridge from master, you can also download binaries here by clicking on the artifacts on the right top

Some more fixes in master, going to close this for now.
Reopen if still an issue.

now it is not working either from or to zulip :(
[0027]  INFO main:         [main:matterbridge/matterbridge.go:70] Gateway(s) started succesfully. Now relaying messages
[0027] DEBUG mattermost:   [handleMatter:matterbridge/bridge/mattermost/handlers.go:67] Choosing login/password based receiving
[0070] DEBUG discord:      [messageCreate:matterbridge/bridge/discord/handlers.go:86] == Receiving event &discordgo.Message{ID:"747966904219467817", ChannelID:"718083993513361468", GuildID:"257555930173014017", Content:"test", Timestamp:"2020-08-25T23:53:26.519000+00:00", EditedTimestamp:"", MentionRoles:[]string{}, TTS:false, MentionEveryone:false, Author:(*discordgo.User)(0xc0008e0c00), Attachments:[]*discordgo.MessageAttachment{}, Embeds:[]*discordgo.MessageEmbed{}, Mentions:[]*discordgo.User{}, Reactions:[]*discordgo.MessageReactions(nil), Pinned:false, Type:0, WebhookID:"", Member:(*discordgo.Member)(0xc0001cc230), MentionChannels:[]*discordgo.Channel(nil), Activity:(*discordgo.MessageActivity)(nil), Application:(*discordgo.MessageApplication)(nil), MessageReference:(*discordgo.MessageReference)(nil), Flags:0}
[0070] DEBUG discord:      [messageCreate:matterbridge/bridge/discord/handlers.go:130] <= Sending message from jimscarver on discord.colab to gateway
[0070] DEBUG discord:      [messageCreate:matterbridge/bridge/discord/handlers.go:131] <= Message is config.Message{Text:"test", Channel:"zulipchat", Username:"jimscarver", UserID:"257479465091858432", Avatar:"https://cdn.discordapp.com/avatars/257479465091858432/7c041560acc056c6ab4747f9ab080431.jpg", Account:"discord.colab", Event:"", Protocol:"", Gateway:"", ParentID:"", Timestamp:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}, ID:"747966904219467817", Extra:map[string][]interface {}(nil)}
[0084] ERROR matterclient: error:websocket: close 1006 (abnormal closure): unexpected EOF
[0144] ERROR matterclient: error:websocket: close 1006 (abnormal closure): unexpected EOF


vdb file does not render in Blender

When I load my vdb file into blender it appears visible in the solid viewport shading, but disappears when I switch to render using cycles. I also get the following message in command prompt when I use zstacker:
TIFFReadDirectory: Warning, Unknown field with tag 65200 (0xfeb0) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 65200 (0xffdc) encountered.
Opening TIFF

Those are just warnings, if it's microscopy data the microscope is probably just using non-standard TIFF tags to store some metadata. If you see the object in the viewport then it created the VDB file correctly.
What does your Cycles node graph look like? You have to assign a material to the volume shader for the proper volume rendering to work. At simplest, you could just map something to the density entry and make sure you light the scene appropriately. If you want to go wild, you can make whatever material you can imagine, like in this example: https://blender.stackexchange.com/questions/202920/openvdb-file-and-blender-cycles

Hi, thank you for the quick response! Here's what I'm working with. I'm not exactly sure what module I would use as an input to the density node of the principled volume. I am also confused as to how multichannel images are processed using zstacker; is each channel processed separately and brought into blender as a separate vdb file? What I'm working with now is just a simple one channel image. The screen capture is showing the solid display mode, when I switch to rendered the object disappears.

Hi, thank you for the quick response! Here's what I'm working with. I'm not exactly sure what module I would use as an input to the density node of the principled volume. I am also confused as to how multichannel images are processed using zstacker; is each channel processed separately and brought into blender as a separate vdb file? What I'm working with now is just a simple one channel image. The screen capture is showing the solid display mode, when I switch to rendered the object disappears.
[cid:72b3c99f-601c-4484-9794-49966a338ca9]
John Day
Grad student
MIT BioEngineering

From: Christopher Johnstone @.>
Sent: Friday, May 19, 2023 12:51 PM
To: GallowayLabMIT/zstacker @.>
Cc: John Hickox Day @.>; Author @.>
Subject: Re: [GallowayLabMIT/zstacker] vdb file does not render in Blender (Issue #1)
Those are just warnings, if it's microscopy data the microscope is probably just using non-standard TIFF tags to store some metadata. If you see the object in the viewport then it created the VDB file correctly.
What does your Cycles node graph look like? You have to assign a material to the volume shader for the proper volume rendering to work. At simplest, you could just map something to the density entry and make sure you light the scene appropriately. If you want to go wild, you can make whatever material you can imagine, like in this example: https://blender.stackexchange.com/questions/202920/openvdb-file-and-blender-cycles
—
Reply to this email directly, view it on GitHubhttps://github.com/GallowayLabMIT/zstacker/issues/1#issuecomment-1554898378, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATO3SXLZAPLK5Y5D7FONVJLXG6QKBANCNFSM6AAAAAAYIAAFWQ.
You are receiving this because you authored the thread.Message ID: @.***>

I will note that you can use other Blender nodes to do a lot of tweaking. For example, from the linked stackexchange answer:

you could, say, use an attribute node (set to channelR) piped into a ColorRamp node to reduce background, then pipe directly into the density node on PrincipledVolume.