[AIRFLOW-1016] Allow HTTP HEAD request method on HTTPSensor

Dear Airflow maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-1016

Description

[x] Here are some details about my PR, including screenshots of any UI changes:
As commented on the JIRA ticket,  the HTTPSensor hardcodes the HTTP request method to GET, so this PR allows HEAD method as well.

Tests

[x] My PR adds the following unit tests

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #2175 into master will increase coverage by 0.07%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2175      +/-   ##
==========================================
+ Coverage    67.2%   67.28%   +0.07%
==========================================
  Files         142      142
  Lines       10823    10825       +2
==========================================
+ Hits         7274     7284      +10
+ Misses       3549     3541       -8

Impacted Files
Coverage Δ

airflow/hooks/http_hook.py
86.95% <100%> (+9.68%)
:arrow_up:

airflow/operators/sensors.py
67.84% <100%> (+0.35%)
:arrow_up:

airflow/models.py
86.87% <0%> (-0.06%)
:arrow_down:

airflow/jobs.py
73.35% <0%> (+0.41%)
:arrow_up:

Continue to review full report at Codecov.

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

@mistercrunch, @artwr, @gtoonstra anything missing here or to improve?

@gtoonstra should I move the import to the top? I didn't want to import a module in case of testing the other test cases independently that don't require it. But I'm ok to move it to the top if that's better.

I'd like to let the committer decide on that. I approved to indicate I looked at the code myself and don't see obvious improvements or issues and that the import in this way is not a big issue for me.

@gtoonstra ok, thanks for reviewing. Going to leave it like that and if @mistercrunch or @artwr or another reviewer seems that as unusual then I'll move it to the top.

LGTM.

All good then, @artwr, @gtoonstra

@mistercrunch, @artwr, @gtoonstra anything missing here?

@msempere LGTM but you seem to have merge conflicts now. If you can get those resolved, I will merge your PR.

@artwr I'm getting py27-cdh-airflow_backend_sqlite errors from Travis when running the tests, any idea?

@artwr done, go for it.


app.js is included in production build

This file is unused in the production build (app.min.js is used), so it can be removed.

Resolved by #783


Revert "Allow to enable allRules = true and buildUponDefaultConfig = true (#6844)"

This reverts commit 9366ed0716ed4ee5c9570140994bcb25c4417414.
Should fix test failure.

FYI @BraisGabin

Warnings

:warning:
This PR is approved with no milestone set. If merged, it won't appear in the detekt release notes.

  Generated by :no_entry_sign: dangerJS against 1b06227752509521f898a12503757dd4c3f9b07d


Add note about missing connections to demo footer

Closes https://github.com/mui/mui-toolpad/issues/1213.

Looks good to me.


Failed to configure Superwall

I randomly run into this error about 75% of the time when launching my app. Sometimes the superwall configures perfectly and the rest it comes back with this error and my pay wall won't show up anymore
flutter: Failed to configure Superwall: MissingPluginException(No implementation found for method configure on channel SuperwallBridge-e4a4029f-5346-4fe8-b6c0-fcee29cf47f7)

Hi @robss88, thanks for reporting that. This should be fixed in 0.0.6 – please be aware that Flutter for Superwall is in a developer preview state and not yet ready for production apps. We'll have more to announce by email later this week!


could not connect: Custom => invalid state

    extern crate lapin_async as lapin;
    ...
    let addr = "<IP_ADDRESS>:5672".to_string();
    let mut stream = TcpStream::connect(&addr).unwrap();
    stream.set_nonblocking(true).unwrap();

    let capacity = 8192;
    let mut send_buffer = Buffer::with_capacity(capacity as usize);
    let mut receive_buffer = Buffer::with_capacity(capacity as usize);
    let mut conn: Connection = Connection::new();

    conn.set_frame_max(capacity);
    conn.set_credentials("some_user", "some_password");

    loop {
        match conn.run(&mut stream, &mut send_buffer, &mut receive_buffer) {
            Err(e) => panic!("could not connect: {:?}", e),
            Ok(ConnectionState::Connected) => break,
            Ok(state) => println!("now at state {:?}, continue", state),
        }
        thread::sleep(Duration::from_millis(100));
    }
    println!("CONNECTED");

This produces following error:
ERROR 2018-07-30T19:04:41Z: lapin_async::io: error reading: Other
thread 'main' panicked at 'could not connect: Custom { kind: Other, error: StringError("invalid state") }', src\main.rs:74:23

This rust code compiled and run at Windows but <IP_ADDRESS> (virtual network) is on Linux (Debian 9, RabbitMQ v3.7.7)
I've enabled backtrace however, no backtrace provided by rust (interestingly)
Same machine with Ruby's Bunny gem is able to connect and publish successfully to this address.
Update: Tried with older version v3.6.6. Didn't worked either.

Well putting conn.connect().unwrap(); worked :) You should add this to README. However basic_consume screams for NotConnected even connection success before.

Well putting conn.connect().unwrap(); before loop worked :) You should add this to README. Anyway, basic_consume complaining for NotConnected even connection success before.

I am able to successfully run my sample using lupin-future. Wonder why async did not worked. (I do thread sleeps between process and declared in good order channel->queue->consumer)


Pending status although nodes healthy

After a few days of bringing a swarm cluster up, I end up getting 'pending' status on all nodes.
I'm running on aws using consul as the kv store.
In the swarm-master logs I see this:
time="2016-03-24T16:15:40Z" level=error msg="Discovery error: Unexpected watch error"
time="2016-03-24T18:15:42Z" level=error msg="Discovery error: Unexpected watch error"
time="2016-03-26T12:15:42Z" level=info msg="Removed Engine aws-prod-node-2"
time="2016-03-26T12:15:42Z" level=info msg="Removed Engine aws-prod-master"
time="2016-03-26T12:15:42Z" level=info msg="Removed Engine aws-prod-node-1"
time="2016-03-26T12:39:34Z" level=info msg="Removed Engine aws-prod-node-2"
time="2016-03-26T12:39:34Z" level=info msg="Removed Engine aws-prod-master"
time="2016-03-26T12:39:34Z" level=info msg="Removed Engine aws-prod-node-1"
time="2016-03-28T01:15:45Z" level=info msg="Removed Engine aws-prod-node-2"
time="2016-03-28T01:15:45Z" level=info msg="Removed Engine aws-prod-master"
time="2016-03-28T01:15:45Z" level=info msg="Removed Engine aws-prod-node-1"
time="2016-03-28T12:15:54Z" level=error msg="Discovery error: Unexpected watch error"

I've individually checked nodes 1 and 2 and they're fine. Also consul is reachable from both.
 We should see the reason of Pending in the Error message. Make sure you can run "docker -H node:port info" successfully from manager.

Completely forgot to add that.
I'm connecting using tls. Once I restart a host it goes back to health.
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: swarm/1.1.3
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 3
 aws-prod-master: xx.xx.xx.xx:2376
  └ Status: Pending
  └ Containers: 5
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 0 B / 1.018 GiB
  └ Labels: ec2.instance.type.t2.micro=true, executiondriver=native-0.2, kernelversion=3.13.0-79-generic, nodeindex=0, operatingsystem=Ubuntu 14.04.3 LTS, provider=generic, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-03-29T17:56:05Z
 aws-prod-node-1: xx.xx.xx.xx:2376
  └ Status: Pending
  └ Containers: 10
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 0 B / 2.051 GiB
  └ Labels: ec2.instance.type.t2.small=true, executiondriver=native-0.2, kernelversion=3.13.0-79-generic, nodeindex=1, operatingsystem=Ubuntu 14.04.3 LTS, provider=generic, role.infra=true, role.service=true, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-03-29T17:56:07Z
 aws-prod-node-2: xx.xx.xx.xx:2376
  └ Status: Pending
  └ Containers: 9
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 0 B / 2.051 GiB
  └ Labels: ec2.instance.type.t2.small=true, executiondriver=native-0.2, kernelversion=3.13.0-79-generic, nodeindex=2, operatingsystem=Ubuntu 14.04.3 LTS, provider=generic, role.infra=true, role.service=true, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-03-29T17:56:06Z
Plugins:
 Volume:
 Network:
Kernel Version: 3.13.0-79-generic
Operating System: linux
Architecture: amd64
CPUs: 0
Total Memory: 0 B
Name: aws-prod-master

docker info still showing pending
time="2016-03-29T18:13:03Z" level=debug msg="Initializing discovery service" name=consul uri="xx.xx.xx.xx:8500"
time="2016-03-29T18:13:03Z" level=info msg="Initializing discovery without TLS"
time="2016-03-29T18:13:03Z" level=debug msg="Initializing strategy" name=spread
time="2016-03-29T18:13:03Z" level=debug msg="Initializing filter" name=health
time="2016-03-29T18:13:03Z" level=debug msg="Initializing filter" name=port
time="2016-03-29T18:13:03Z" level=debug msg="Initializing filter" name=dependency
time="2016-03-29T18:13:03Z" level=debug msg="Initializing filter" name=affinity
time="2016-03-29T18:13:03Z" level=debug msg="Initializing filter" name=constraint
time="2016-03-29T18:13:03Z" level=debug msg="Initializing cluster" name=swarm
time="2016-03-29T18:13:03Z" level=debug msg="Registering HTTP route" method=HEAD route="/containers/{name:.*}/archive"
time="2016-03-29T18:13:03Z" level=debug msg="Registering HTTP route" method=GET route="/images/{name:.*}/get"
...
...
time="2016-03-29T18:13:03Z" level=debug msg="Registering HTTP route" method=DELETE route="/networks/{networkid:.*}"
time="2016-03-29T18:13:03Z" level=debug msg="Registering HTTP route" method=DELETE route="/volumes/{name:.*}"
time="2016-03-29T18:13:03Z" level=info msg="Listening for HTTP" addr="<IP_ADDRESS>:3376" proto=tcp
time="2016-03-29T18:13:03Z" level=debug msg="Watch triggered with 3 nodes" discovery=consul
time="2016-03-29T18:13:03Z" level=debug msg="Start monitoring events" id="5O3I:Z7DQ:WICB:T2S6:XQOE:XMYL:WB7C:AGMX:2IU4:NX53:EH6T:CC45" name=aws-prod-master
time="2016-03-29T18:13:03Z" level=debug msg="Start monitoring events" id="D53J:6IKO:WKGJ:ABI7:PSVV:NO4R:CJVC:67UB:GU5E:MLFP:ELXP:BXI7" name=aws-prod-node-2
time="2016-03-29T18:13:04Z" level=debug msg="Start monitoring events" id="ME3G:Z2UU:ZP2W:7QG6:WV2Y:WIX5:6EJB:2YQH:MZJG:52NE:EBJD:ESZF" name=aws-prod-node-1
time="2016-03-29T18:13:21Z" level=debug msg="Watch triggered with 3 nodes" discovery=consul

I run Swarm 1.1.3 on AWS and do not have a repro of your problem. When manager reaches the step of Start monitoring events, it means it can connect to the docker engine. But somehow it cannot finish validation. We have a backoff strategy that nodes failing validation need to wait some time before next validation. I wonder if that might be the case.

Once I reboot a host it goes back to health.

But I do not understand why rebooting a host would change it.
Can you post your commands to start docker manager and to start docker engine?

As I said before, this happens after some time, a few days.
I used docker-machine and the 'generic' driver to provision docker on my
servers. From inspecting the container, this is the swarm-manage command
line :
swarm -debug manage \
      --tlsverify \
      --tlscacert=/etc/docker/ca.pem \
      --tlscert=/etc/docker/server.pem \
      --tlskey=/etc/docker/server-key.pem \
      -H \
      tcp://<IP_ADDRESS>:3376 \
      --strategy \
      spread \
      --advertise \
      xx.xx.xx.xx:2376 \
      consul://yy.yy.yy.yy:8500

Here is the ps output of the daemon on the master
docker daemon -H tcp://<IP_ADDRESS>:2376 -H unix:///var/run/docker.sock
--storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert
/etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label
nodeindex=0 --label provider=generic
--cluster-store=consul://yy.yy.yy.yy:8500 --cluster-advertise=eth0:2376
--dns=<IP_ADDRESS> --label=ec2.instance.type.t2.micro=true

I run consul agent for dns and bind it to the docker bridge, hence the
--dns <IP_ADDRESS>
On 29 March 2016 at 22:54, Dongluo Chen<EMAIL_ADDRESS>wrote:

I run Swarm 1.1.3 on AWS and do not have a repro of your problem. When
manager reaches the step of Start monitoring events, it means it can
connect to the docker engine. But somehow it cannot finish validation. We
have a backoff strategy that nodes failing validation need to wait some
time before next validation. I wonder if that might be the case.
Once I reboot a host it goes back to health.
But I do not understand why rebooting a host would change it.
Can you post your commands to start docker manager and to start docker
engine?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/docker/swarm/issues/2044#issuecomment-203097784

Is it perhaps to do with the -H tcp://<IP_ADDRESS>:2376 along with --cluster-advertise eth0:2376?

Back to your original post, the following error means discovery (Consul) removes the nodes. If you keep seeing these messages, it means the discovery pipeline has problem. Either the nodes are failing to register themselves, or Consul is failing for some reason. From manager point of view, when Consul reports a node dropped, it'll remove it from cluster; when Consul puts it back again, the node would start from pending state again. You may take a look at Consul logs.
time="2016-03-24T16:15:40Z" level=error msg="Discovery error: Unexpected watch error"
time="2016-03-24T18:15:42Z" level=error msg="Discovery error: Unexpected watch error"
time="2016-03-26T12:15:42Z" level=info msg="Removed Engine aws-prod-node-2"
time="2016-03-26T12:15:42Z" level=info msg="Removed Engine aws-prod-master"
time="2016-03-26T12:15:42Z" level=info msg="Removed Engine aws-prod-node-1"
time="2016-03-26T12:39:34Z" level=info msg="Removed Engine aws-prod-node-2"

Is it possible to debug this via the values in the kv-store? I have one working cluster and one failing and I'm finding it hard to spot any differences.
From looking at the consul logs I do see that there is a re-election now and again due to small network outages, maybe once a day.
When you say that "when Consul puts it back, the node would start from pending", is there any confirmation I can look for ? Just a "Registered node" log in the swarm master logs?

This occurred again today where I restarted the master docker daemon. The master became healthy but the other nodes were now pending.

This appears in the docker daemon logs on the master a few days ago I see. It has appeared a few times since too:
...
INFO[556348] 2016/03/28 01:15:38 [INFO] serf: EventMemberJoin: aws-prod-node-2 <IP_ADDRESS>
INFO[556352] 2016/03/28 01:15:42 [INFO] serf: EventMemberFailed: aws-prod-node-1 <IP_ADDRESS>
INFO[556359] 2016/03/28 01:15:49 [INFO] serf: EventMemberJoin: aws-prod-node-1 <IP_ADDRESS>
WARN[556361] Registering as "<IP_ADDRESS>:2376" in discovery failed: cannot set or renew session for ttl, unable to operate on sessions

@byrnedo Thanks for the logs. I suspect there is reachability issue, either network or program in your cluster. How long does it take to resolve, nodes get back to healthy state after master restart? If it's long enough. I think you can debug each component separately. To test engine, use docker command docker -H engine:port info. To test discovery, use docker command docker run swarm list     consul://yy.yy.yy.yy:8500. And inspect corresponding logs.
I have a test cluster where restarting manager has no issue.

Thanks @dongluochen, going to try and debug further with swarm list etc.
I'm beginning to think this is related to https://github.com/docker/docker/issues/16572. I see that at the point which the swarm becomes unresponsive I tend to get eth0: renamed from vethfbb53ab. Will investigate further. Thanks for the help so far.

I got to the bottom of this in the end. It's related to https://github.com/docker/docker/pull/20686, some file limit is getting eat up and then all the nodes fall into pending (explains why it happens after a few days). Restarting the plugin (in my case rexray) sends nodes health again.
Thanks for the help @dongluochen.

I got to the bottom of this in the end. It's related to https://github.com/docker/docker/pull/20686, some file limit is getting eat up and then all the nodes fall into pending (explains why it happens after a few days). Restarting the plugin (in my case rexray) sends nodes health again.
Thanks for the help @dongluochen.

@byrnedo Thanks for sharing the root cause!

I am having the same issue I think. I have open an issue on stackoverflow because I am not sure if it is a bug or if I am doing something wrong.
I think it is a bug but anyway here is the issue: http://stackoverflow.com/questions/36637600/docker-swarm-tls-failed-to-validate-pending-node
Basically, when I set up my swarm cluster using aliases for my nodes host, I get this log than is actually looking up my node1 on the wrong network.
time="2016-04-15T02:47:59Z" level=debug msg="Failed to validate pending node: lookup node1 on <IP_ADDRESS>:53: server misbehaving" Addr="node1:2376"

It seems that docker is trying to lookup the node1 alias on the wrong bridge network?
my node1 is actually:
<IP_ADDRESS> node1

@casertap I just answered your question on stackoverflow. I paste it below.
Although you define node1 in your machine's /etc/hosts, the container that swarm manager is running doesn't have node1 in its /etc/hosts file. By default a container doesn't share the host's file system. See https://docs.docker.com/engine/userguide/containers/dockervolumes/. Swarm manager tries to look up node1 thru DNS resolver and fails.
There are several options to resolve this.

Use a resolvable FQDN so Swarm manager in the container can resolve the node
Or provide node1's IP in swarm join command
Or pass /etc/hosts file from host to the Swarm manager container using -v option. See the link above.


Retrieve all available correlations for a context

Hi,
I have a case which needed to retrieve a hash with all available correlations assigned for the current context,
I see that OpenTelemetry API and the SDK not supported to retrieve this but only a specific key.
Is there a reason behind this decision? how can I achieve it?

This is not my area of expertise, but it looks like we're missing an implementation of https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/correlationcontext/api.md#get-correlations in https://github.com/open-telemetry/opentelemetry-ruby/blob/master/api/lib/opentelemetry/correlation_context/manager.rb and https://github.com/open-telemetry/opentelemetry-ruby/blob/master/sdk/lib/opentelemetry/sdk/correlation_context/manager.rb
@mwear is this correct?


UI changes reported by Katreena Mullican

AWS Systems Manager Integration --> FIS SSM Start Automation Setup
The CLI commands provided to create the SSM document and export the document ARN do not run properly when copy/pasted into CloudShell as one block. The SSM document creation runs ok, but it echo's the document back in the output, requiring the user to type "q" to get back to a prompt, or press the space bar to page through. Therefore, subsequent commands (highlighted in red box) fail to run.
Recommend separating into two different copy/paste activities, or adjusting output of the SSM doc creation.

AWS Systems Manager Integration → FIS SSM Start Automation Setup → Create SSM Role
The iam-ec2-demo-policy.json and iam-ec2-demo-trust.json files already exist in CloudShell directory: ~/environment/aws-fault-injection-simulator-workshop/workshop/content/030_basic_content/040_ssm/050_direct_automation.
No need to create the file from scratch. You can just execute the CLI commands as shown to create the policy and role.
AWS Systems Manager Integration → FIS SSM Start Automation Setup → Create SSM Document
The file ssm-terminate-instances-asg-az.yaml already exists in ~/environment/aws-fault-injection-simulator-workshop/workshop/content/030_basic_content/040_ssm/050_direct_automation, no need to create a new file.
AWS Systems Manager Integration → FIS SSM Start Automation Setup → Create FIS Experiment Template
The file fis-terminate-instances-asg-az.json already exists in ~/environment/aws-fault-injection-simulator-workshop/workshop/content/030_basic_content/040_ssm/050_direct_automation, no need to create it.  You will need to open and edit the file and replace values with appropriate values for your environment, as shown in the workshop

Excellent and thorough workshop!  Customer enjoyed working through the scenarios.


Add athena plugin

Signed-off-by: Katrina Rogan<EMAIL_ADDRESS>Read then delete

Make sure to use a concise title for the pull-request.
Use #patch, #minor or #major in the pull-request title to bump the corresponding version. Otherwise, the patch version
will be bumped. More details

TL;DR
Please replace this text with a description of what this PR accomplishes.
Type

[ ] Bug Fix
[ ] Feature
[ ] Plugin

Are all requirements met?

[ ] Code completed
[ ] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
How did you fix the bug, make the feature etc. Link to any design docs etc
Tracking Issue
https://github.com/flyteorg/flyte/issues/
Follow-up issue
NA
OR
https://github.com/flyteorg/flyte/issues/

@katrogan - @EngHabu has a previous PR for this, should we merge this?

@kumare3 yes, I believe @EngHabu closed that PR (and it was quite old, so not worth resurrecting b/c of merge conflicts)


Video - Audio out of sync Display

Video and audio get out of sync when recording display and live streaming.
Used on recording video on youtube.. voice came faster.
I suppose it is caused from fps limiter.
it happens when using 30 fps encoder and limiter.
when limiter is on 60fps it is synced.

Ok pedro when you see this.
instead of setting lasttimestamp inside the limitfps()
i took lasttimestamp from last frame sent and seems to fixing video audio sync

private boolean limitFPS() {
if (System.currentTimeMillis() - lastFrameTimestamp > 1000 / fps) {
  return false;
}
return true;

}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
private void getDataFromSurfaceAPI21() {
thread = new Thread(new Runnable() {
@Override
public void run() {
while (!Thread.interrupted()) {
for (; ; ) {
if (limitFPS()) continue;
int outBufferIndex = videoEncoder.dequeueOutputBuffer(videoInfo, 0);
if (outBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
MediaFormat mediaFormat = videoEncoder.getOutputFormat();
getH264Data.onVideoFormat(mediaFormat);
getH264Data.onSPSandPPS(mediaFormat.getByteBuffer("csd-0"),
mediaFormat.getByteBuffer("csd-1"));
spsPpsSetted = true;
} else if (outBufferIndex >= 0) {
//This ByteBuffer is H264
ByteBuffer bb = videoEncoder.getOutputBuffer(outBufferIndex);
if ((videoInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) != 0) {
if (!spsPpsSetted) {
Pair<ByteBuffer, ByteBuffer> buffers =
decodeSpsPpsFromBuffer(bb.duplicate(), videoInfo.size);
if (buffers != null) {
getH264Data.onSPSandPPS(buffers.first, buffers.second);
spsPpsSetted = true;
}
}
}
videoInfo.presentationTimeUs = System.nanoTime() / 1000 - mPresentTimeUs;
lastFrameTimestamp = videoInfo.presentationTimeUs; <----
getH264Data.getH264Data(bb, videoInfo);
videoEncoder.releaseOutputBuffer(outBufferIndex, false);
} else {
break;
}
}
}
}
});
thread.start();
}

or maybe didnt :/

So the reason is skip frames. I will check it.

I tried a lot of things. On ffmpeg I got a message that it needed to add a bitstream filter cause of something missing. H264_mp4toannexb
Maybe it misses a key frame or something.

I hope this isnt something stupid.. but limitting OffScreenGlThreads instead of getSurface on VideoEncoder seems to be working.
i hope you can confirm this.

Yeap it seems to work fine! used limiter in encoder and render. Audio synced.

Where did you write limitfps, here?:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/view/OffScreenGlThread.java#L159

Tested fast by writing under While(running)

Also Streaming audio is synced! tried on 30 fps when screen rendered 54+ fps

Nice! I will add it after test in other off screen modes

Test in streaming Pedro cause there I heard some weird noise.. but I think it's ok.

Pedro if you import just test the fps created cause i think by using limiter everywhere lowers quality a lot fps and bitrates too. Maybe i do a bad use. I ll wait for ur solution.

Gonna test stream and record and if all good I 'll close the issue!

Work even better than my integration! will close it.


show blockchain log entries on errors

When experimenting with failing tests I guess t would be beneficial to see the log. Alternatively we can add another helper which do the job, leaving testNoErrors.

Looks like CI runs into OOM or something.

Thanks for your improvements to the lib so far. I will accept the PR if it pass CI.
Fixing the lint job is ok. It seems that build fails by out of resources exception on CI-node

Also thanks for docs update it's very helpful to keep it up to date.

@anton-k I fixed lint tips, and reworked the prettifier, now it looks far better.

Looks great!

Maybe it would be cool to have option to show short versions of hashes, like github does for commits


Switch to libvips C++ bindings

The new vips8 C++ bindings now expose all of the libvips' features this module uses so we can migrate away from the C bindings.
This will simplify the code and ease memory management.
Other benefits:

[x] Detach the alpha channel before applying a gamma correction - see 36ac882 - fixed in 4dfbf89

yeah, that would be awesome to migrate away from the C bindings

Commit 12d66ee on the mind branch is the first pass at this. It removed around 450 lines of code.

Lots of warnings and linker errors on Windows, sigh. https://ci.appveyor.com/project/lovell/sharp/build/304/job/rct60twmmp2gds1a

Thanks to the name mangling car crash that is cross-linking C++ libraries on Windows, we'll need to either include and compile libvips C++ wrapper from source or build libvips-cpp.dll via MSVC instead of mingw-w64.

The vips8 C++ bindings are now being built as a DLL on Windows machines at npm install time. Looking much happier as a result. https://ci.appveyor.com/project/lovell/sharp/build/322

v0.13.0 now available.

cool, well done!


Write about Chicken, perhaps the only Haskell app I'll ever write

Chicken solves a very minute problem, but hey, it's a Haskell app that I use everyday!
Maybe that's production? Atleast there's one user (me)
Why is it the only Haskell app I'll ever write?

I'm interested in many things. And I don't see myself writing production Haskell apps in the near future
However, the process of learning Haskell gave me a good interest in functional programming.
Hopefully, it improved how I write code.
I decided to learn other functional languages like Elixir, etc.

https://www.robinsloan.com/notes/home-cooked-app/

Closing this, again, I felt bored writing this


Provide more output on start failure

It would be great if we can show more output on Jupyter Notebook/JupyterLab or external Applications like Visual Studio Code if a Jupyter kernel cannot be started.

+1 !
Kernel doesn't start/connect and I don't know how to troubleshoot. No clues in the jupyterhub output.

The idea is to create a Jupyter kernel provisioner.
I have implemented this in the branch custom-kernel-manager.
@bjudkewitz What is your setup? Do you have a local JupyterHub instance running or are you using your institute's JupyterHub?

The kernel provisioner will be registered using the entry_points inside setup.py
Just install the package inside your environment with
python3 -m pip install git+https://github.com/pc2/slurm_jupyter_kernel.git@custom_kernel_manager
Check the start parameters with slurmkernel list -vand try out activate the debug mode using --debug

Thank you very much for your advice! I installed it and sadly still get "Unhandled Error" when I try to start the remote kernel, but I haven't been able to use --debug with slurmkernel. How do I activate debug mode?

How is your JupyterHub environment set up?
If you want to use Jupyter notebooks on your local machine you just need to install notebook and maybe jupyterlab as interface. JupyterHub is for multi-user purposes.
Start JupyterLab (with debug mode) using jupyter lab --debug and select your Slurm kernel.


Support for the official AWS SDK for Rust?

Any interest in supporting the official AWS SDK for Rust? Specifically, its implementation of AttributeValue?
If so, thoughts on how to approach it? As a feature, maybe? Perhaps there should be two mutually exclusive feature flags: rusoto and aws, with rusoto being the default. If aws is enabled, then it serializes/deserializes to/from the AWS AttributeValue type instead of rusoto_dynamodb::AttributeValue?

I did ran into an issue with this. I can't deserialize AttributeValue::B to a serde_json::Value.
let av = AttributeValue::B(Blob::new("this text is base64-encoded"));
let js_value: Value = from_attribute_value(av.clone()).unwrap();

Fails with:
thread 'aws_sdk_dynamodb::tests::value' panicked at 'called `Result::unwrap()` on an `Err` value: Error(Message("invalid type: byte array, expected any valid JSON value"))', src/aws_sdk_dynamodb/tests.rs:14:14

The error is from generic::de::DeserializerBytes::deserialize_bytes.
You can see this happen with the tests in #14. It's entirely possible that I'm just doing this wrong.
My original idea was to be able to serialize to DynamoDB JSON and back, and that's what those tests are built around.

I just released 3.0.0-alpha.1 of serde_dynamo to crates.io, which is more a more complete version of what I was thinking with regards to how to support different dynamodb clients and how to support future versions of both rusoto_dynamodb and aws-sdk-dynamodb without requiring a major version bump every time they bump their pre-1.0 versions.
[package]
name = "aws_sdk_example"
version = "0.1.0"
edition = "2021"

[dependencies]
aws-config = { version = "0.0.25-alpha" }
aws-sdk-dynamodb = { version = "0.0.25-alpha" }
serde = { version = "1", features = ["derive"] }
serde_dynamo = { version = "3.0.0-alpha.1", features = ["aws-sdk-dynamodb+0_0_25-alpha"] }
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }

use aws_config::meta::region::RegionProviderChain;
use aws_sdk_dynamodb::{Client, Region};
use serde::{Deserialize, Serialize};
use serde_dynamo::from_items;

type Result<T, E = Box<dyn std::error::Error + Send + Sync>> = std::result::Result<T, E>;

#[derive(Debug, Serialize, Deserialize)]
struct User {
    id: UserId,
    first_name: String,
    last_name: String,
}

#[derive(Debug, Serialize, Deserialize)]
#[serde(transparent)]
struct UserId(String);

#[tokio::main]
async fn main() -> Result<()> {
    let region_provider = RegionProviderChain::default_provider().or_else(Region::new("us-west-2"));
    let shared_config = aws_config::from_env().region(region_provider).load().await;
    let client = Client::new(&shared_config);

    let resp = client
        .scan()
        .table_name("users")
        .projection_expression("id, first_name, last_name")
        .send()
        .await?;

    if let Some(items) = resp.items {
        let items: Vec<User> = from_items(items)?;
        println!("{:#?}", items);
    }

    Ok(())
}

I think there is an issue with the features for aws_sdk_dynamodb_0_2.  Or it could be me.
[dependencies]
aws-config = "0.2.0"
aws-sdk-dynamodb = "0.2.0"
serde_dynamo = { version = "3.0.0-alpha.2", features = ["aws_sdk_dynamodb_0_2"] }

use aws_sdk_dynamodb::model::AttributeValue;
use serde_dynamo::{to_attribute_value};

let r: AttributeValue = to_attribute_value(String::from("Value")).unwrap();

Compiler returns this error.

the trait serde_dynamo::AttributeValue is not implemented for aws_sdk_dynamodb::model::AttributeValue

Am I making the mistake or is an implementation missing?  Thx!

I think there is an issue with the features for aws_sdk_dynamodb_0_2. Or it could be me.
[dependencies]
aws-config = "0.2.0"
aws-sdk-dynamodb = "0.2.0"
serde_dynamo = { version = "3.0.0-alpha.2", features = ["aws_sdk_dynamodb_0_2"] }

use aws_sdk_dynamodb::model::AttributeValue;
use serde_dynamo::{to_attribute_value};

let r: AttributeValue = to_attribute_value(String::from("Value")).unwrap();

Compiler returns this error.

the trait serde_dynamo::AttributeValue is not implemented for aws_sdk_dynamodb::model::AttributeValue

Am I making the mistake or is an implementation missing? Thx!

@ahornbeck The feature you need to enable is called aws-sdk-dynamodb+0_2, (not aws_sdk_dynamodb_0_2). If you change that, the example program works.
[dependencies]
aws-config = "0.2.0"
aws-sdk-dynamodb = "0.2.0"
serde_dynamo = { version = "3.0.0-alpha.2", features = ["aws-sdk-dynamodb+0_2"] }
                                                       # ^^^^^^^^^^^^^^^^^^^^
                                                       #        here

@bryanburgers - so, it was me.  I copied/pasted the module name rather than looking closely at the feature name. Thank you for the help!

Any chance this can be updated to use version 0.3 of the official sdk? Also are there plans to release v3.0.0 soon?

Hey @steveocr, as of https://github.com/zenlist/serde_dynamo/pull/19, the alpha branch on crates.io has been updated to the latest aws_sdk version
[dependencies]
aws-config = {version = "0.4", features=["rustls"]}
aws-types = {version = "0.4"}
aws-sdk-dynamodb = {version = "0.4", features=["rustls"]}
serde_dynamo = { version = "3.0.0-alpha", features = ["aws-sdk-dynamodb+0_4"] }

Thanks to everyone who has worked to keep the 3.0.0-alpha branch up-to-date!
I just released version 3.0.0 (non-alpha) to crates.io! https://crates.io/crates/serde_dynamo


Make post sunset filter more lenient

Currently we set the prediction for a timestep to zero if we calculate the sun to be below the horizon at that time. However, the timestamp we use for any period is at the end of that period. E.g. the timestamp for 18:00 actually covers the PV output from 17:30 to 18:00. Although the sun may have set at the end of the period, it may still have been up for part of it. We should loosen up the night time filter to allow for this

Title: Loosen nighttime filter for PV output predictions
Description:
Hi,
I hope this finds you well. I've addressed the issue regarding the nighttime filter for PV output predictions in this pull request. Currently, the code was overly restrictive in setting predictions to zero if the sun was calculated to be below the horizon at the end of each period. However, I've made adjustments to the code to account for the fact that the timestamp used for any period actually covers the PV output from the halfway point of the previous period to the end of the current period.
Changes Made:

Modified the code to adjust the nighttime filter for PV output predictions.
Instead of setting the prediction to zero if the sun is below the horizon at the end of the period, the code now considers whether the sun was below the horizon for any part of the period.
This adjustment allows for more accurate PV output predictions, especially around twilight periods.

Testing:

Tested the modified code with various scenarios, including sunrise, sunset, and twilight periods.
Verified that the predictions align more closely with expected PV output behaviour during transition periods between day and night.
Ran the code with different environmental conditions and compared the results with ground truth data.

Additional Notes:

No backward compatibility issues are anticipated with these changes.
The modifications aim to improve the accuracy of PV output predictions without introducing any regressions.

I'd appreciate your feedback on these changes. Please let me know if there are any further adjustments or tests you'd like me to perform.
Best regards,
Harsh Singh


Improve complie times by removing unused default features

There are low hanging fruit to significantly improve compile times by pruning the dependency tree.  This PR removes the default features of the image crate and the clap feature of bindgen which is not necessary when it is used in a build.rs file.  Removing the default features alone removes 88 dependencies and reduces compile time from 40 seconds to 25 seconds.
The bulk of the rest of the compile time is from the compilation of bindgen and the generation of the bindings necessary in the build.rs file.  The other msdfgen bindings get around this by building the bindings.rs file via an update-bindings feature and saving it to the repo.  Doing this prunes another 29 dependencies and reduces the total compile time to 8s on my laptop for a cargo clean && time cargo build.  The downside is that it appears that the bindings files need to be generated manually for each target triple.

The bindings file generation in cdd4f3e is just to demonstrate how it was done in the other msdfgen bindings.  It does reduce the compile time to 8s, but will also break the build on any non linux platform as it stands.


How to get the value of the build parameter ?

jenkins api:
http://xxxxxx/job/test/descriptorByName/net.uaznia.lukanus.hudson.plugins.gitparameter.GitParameterDefinition/fillValueItems?param=
result:
{"_class":"net.uaznia.lukanus.hudson.plugins.gitparameter.model.ItemsErrorModel","errors":[],"values":[{"name":"4b91af67 2020-10-25 18:11 xxxxx<EMAIL_ADDRESS>1. xxxxxxxxxxxxxxxxxxxx","value":"4b91af1111115df6212f1fdsfdsaf4223826f43434"}]}

to get parameters of build with following code
 paramters = build.get_parameters()

I want to get the optional value of the build parameter before the build, not after the build
similar to this:

try following code
params = []
for p in job.api_json()['property']:
    if 'parameterDefinitions' in p:
        params = p['parameterDefinitions']

but for your case, the "${commit}" is variable which will be evaluated during building, so you can't get an exact value for job.

Run the above code, the result is still "${commit}". Is there another way?

No, because the "${commit}" is bundled with build not the job

Well, thank you for your answer

Sorry, it was caused by my jenkins configuration error. Using job.api_json can get the value correctly
params = [] for p in job.api_json()['property']:     if 'parameterDefinitions' in p:         params = p['parameterDefinitions']         print(params)


Added feature level test coverage to FileSystem provider (#2413)

Adding more coverage to issue #2413

Added more cmdlet test coverage for FileSystem provider.
Changed common describe blocks into context blocks under 1 common describe block. (this is why the diff looks so messy)

Hi @ChrisUbben, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Christopher Ubben). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


Internationalization class error after upgrade to 3.0next

Describe the bug
I updated my project to Angualr 9.0.2 and clarity-3.0.0-next.8
I'm facing the following error.

How to reproduce
Please provide a link to a reproduction scenario using one of the Clarity Stackblitz templates. Reports without a clear reproduction may not be prioritized until one is provided.
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Versions
App

Angular: 9.0.2
Node: 12.13.0
Clarity: 3.0.0-next.8
typescript: 3.7.5

Device:

Type: [e.g. MacBook]
OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional notes
Add any other notes about the problem here.

Please be sure to also install @clr/core to address this problem. The update script for v3 will address this automatically for you in the future.
That should solve it for you, so will close this as resolved.

Yes, I added it manually.
Hope ng update command will add automatically from next release onwards.
Thanks for the response.

ng update @clr/angular for v3 has a schematic which will do this now!


update slack link

The #bacalhau channel doesn't currently exist in the bacalhau slack, should we create that channel, or remove it from the README?


bootstrap theme is required for building the help page

in a clean environment, the sphinx-bootstrap-theme doesn't get installed and it is required in order to build the documentation, which is one of the steps of  qiita pet webserver start

:+1: if tests pass.

@ElDeveloper tests are passing!


Adding new discount types

Hey! How can I add more types of discounts to my app without incurring downtime?
(because i'll have to add code to CONFIG_OPTIONS in plata.discount.models)

You should probably do it this way (appending to Discount.CONFIG_OPTIONS):
https://github.com/matthiask/plata-options-product/blob/master/options_product/discount.py
The calls to explicit_products and only_categories should be placed in a models file; maybe AppConfig also works.


Parse return type annotation of handlers

Motivation
When a user mistakenly specifies a type annotation of an operation handler, they get an unfriendly error message from the parser at the wrong place:

Solution

Allow the OpHandler AST to include an optional return type.
Modify the parser to optionally parse the return type of a handler.
In the Typer phase, throw an error if the return type is specified.

Alternative solution
We could also just somehow forbid a return type annotation in the parser, but I haven't been able to do it in a nice way. However, I believe that we want to write down this information from the user even if we decide to ignore it.
Discussion
Is Typer the best phase to report this error? We could also report it earlier while in a Namer or PreTyper phase, but it seems like this is a typing-related problem that we might want to improve in the future.
The solution is not optimal. Ideally, we should take the user-specified return type annotation and somehow take it into consideration for better error messages.
Effect does in fact allow the annotation of the arguments of the handler and even checks them:

Unfortunately, there is an ambiguity about what the return type of an operation handler actually is -- is it the resulting type of the body, or the type of the argument we put into the resume continuation?

Maybe you could add a neg-test to show the error message?
After adding the effekt file to examples/neg you can simply run
project effektJVM
test:console
scala> effekt.TestUtils.generateCheckFiles()

to generate the check files. Passing true to generateCheckFiles will regenerate ALL check files.

I've updated the PR text and added a few details about what we (plan to?) do with object operations.

Whatever we do, it should behave similarly to how we deal with annotated effects on functions:
https://github.com/effekt-lang/effekt/blob/5fa89a2cfd03f4a9f899a8f242df33ad51e4e6b5/effekt/shared/src/main/scala/effekt/Typer.scala#L594-L614

I think it might be wise to change the scope of this PR.
Let's first merge this more-or-less as-is, specifically with parsing return type annotations on all operations and reporting them as errors.
Then afterwards, let us add proper support for (type checking) return type annotations on object operations.


Define main color palette.

Define our base color palette. It should be the project identity.

I need to see what you have @nailaromero. Please send me the files.

COLORPALETTE.pdf

that's good stuff :)

COLORPALETTE.pdf
:)

COLORPALETTE.pdf
:)

Hi Naila.
The color palette is great, i'll close this issue so we can start using those colors with actual components.


use pydocstyle

Codecov Report

Merging #13 (2f4aafc) into master (585e970) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #13   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          203       194    -9
=========================================
- Hits           203       194    -9

Impacted Files
Coverage Δ

tptp_lark_parser/tptp_parser.py
100.00% <ø> (ø)

tptp_lark_parser/__init__.py
100.00% <100.00%> (ø)

tptp_lark_parser/cnf_parser.py
100.00% <100.00%> (ø)

tptp_lark_parser/grammar.py
100.00% <100.00%> (ø)

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 585e970...2f4aafc. Read the comment docs.


When will you release the code for prumerge+?

Thanks for reply!

I have just released the PruMerge+ in the Clip_encoder. Please check it out.

Thanks for your great work again.


Add argmax to BatchedArray

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (ea26a3c) 100.00% compared to head (51c3895) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #628   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           31        31
  Lines         2599      2608    +9
  Branches       335       336    +1
=========================================
+ Hits          2599      2608    +9

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Replace 'checkpoint' Msg with checkpoint kwarg on Msg

Avoid this situation, where the user wanted to mark the 'whatever' Msg as a safe point to roll back to, but was interrupted before the 'checkpoint' Msg could be processed.
Msg('whatever')
Ctrl+C
Msg('checkpoint')

Instead, allow this:
Msg('whatever', checkpoint=True)

Since message processing is granular -- plans can never be externally interrupted mid-Msg -- the checkpoint can be guaranteed to be processed.

Is interpreting/popping off kwargs globally from all Msgs a good pattern? I'm not sure I have a strong opinion either way.

Yes, it's worth noticing that checkpoint could potentially collide with a kwarg in a user-defined coroutine. At this point in the development, I think it's OK to declare a reserved kwarg in Msg.
And, contrary to what the title of this issue suggests, I think we would also continue to support Msg('checkpoint') forever.

A point for it: less messages to express the same thing
A point against it: less messages to express the same thing - now anyone (or any code) looking at the list of messages has to be aware of the newly reserved kwargs

There is something to be said for making the checkpoints atomic with the operation as well.

Agreed that losing the clear Msg('checkpoint') in the list of messages would be a step backward.

Closing as stale.


Deadlock found when trying to get lock; try restarting transaction

Hello,
I'm using soci 3.2.3.
When I connect to mysql server using soci, I got the following exceptions:
exception:Deadlock found when trying to get lock; try restarting transaction

My program inserting, updating, and deleting the same table concurrently.
I analyzed the problem and got the minimal case that reproduces the issue.
Here is the table and the index.
create table `dl` (`A` VARCHAR(255) NOT NULL, `B` INTEGER);
create index `IDX_DL_A` on `dl` (`A`);

Here is the code:
#include <iostream>
#include <string>
#include <thread>

#include <soci.h>
#include <mysql/soci-mysql.h>

// Table and Index
//
// create table `dl` (`A` VARCHAR(255) NOT NULL, `B` INTEGER);
// create index `IDX_DL_A` on `dl` (`A`);

int main(int argc, char** argv) {
    if (argc != 5) {
        std::cout << argv[0] << " dbhost dbname dbuser password" << std::endl;
        return -1;
    }
    // initialize DB
    std::size_t const thread_pool_for_db = 32;
    using namespace soci;
    connection_pool pool(thread_pool_for_db);
    for (std::size_t i = 0; i != thread_pool_for_db; ++i) {
        session& sql = pool.at(i);
        std::string openstr = "host=";
        openstr += argv[1];
        openstr += " db=";
        openstr += argv[2];
        openstr += " user=";
        openstr += argv[3];
        openstr += " password=";
        openstr += argv[4];
        sql.open(
            mysql,
            openstr);
    }

    std::size_t const records = 10000;
    // create

    std::thread t_cre(
        [&] {
            for (std::size_t i = 0; i != records; ++i) {
                try {
                    session sql(pool);
                    sql <<
                        "insert into dl(a, b) "
                        "values(:a, :b) "
                        , use(std::to_string(i)), use(i);
                } catch (soci_error& e) {
                    std::cout << __LINE__ << " exception:" << e.what() << std::endl;
                }
            }
        }
    );

    // update
    std::thread t_upd(
        [&] {
            for (std::size_t i = 0; i != records; ++i) {
                try {
                    session sql(pool);
                    sql <<
                        "update dl "
                        "set b=NULL "
                        "where "
                        "a = :a "
                        , use(std::to_string(i));
                } catch (soci_error& e) {
                    std::cout << __LINE__ << " exception:" << e.what() << std::endl;
                }
            }
        }
    );

    // delete
    std::thread t_del(
        [&] {
            for (std::size_t i = 0; i != records; ++i) {
                try {
                    session sql(pool);
                    sql <<
                        "delete from dl "
                        "where "
                        "a = :i "
                        , use(std::to_string(i));
                } catch (soci_error& e) {
                    std::cout << __LINE__ << " exception:" << e.what() << std::endl;
                }
            }
        }
    );
    t_cre.join();
    t_upd.join();
    t_del.join();
}

When I run the program concurrently (I ran 4 processes), I got the following output:
87 exception:Deadlock found when trying to get lock; try restarting transaction
87 exception:Deadlock found when trying to get lock; try restarting transaction
87 exception:Deadlock found when trying to get lock; try restarting transaction
87 exception:Deadlock found when trying to get lock; try restarting transaction
69 exception:Deadlock found when trying to get lock; try restarting transaction
87 exception:Deadlock found when trying to get lock; try restarting transaction
69 exception:Deadlock found when trying to get lock; try restarting transaction
87 exception:Deadlock found when trying to get lock; try restarting transaction
87 exception:Deadlock found when trying to get lock; try restarting transaction
69 exception:Deadlock found when trying to get lock; try restarting transaction
69 exception:Deadlock found when trying to get lock; try restarting transaction

The line 69 is corresponding to update. The line 87 is corresponding to delete. The exceptions are not always happened but If I ran the 4 programs (means the same executable file)  concurrently, over 90% I got the exceptions before the all programs are finished.
In order to divide cause of the issue, I've tested with two different servers. One is MySQL 5.6.34. The other is mariadb 10.1.19-1. I got the same result. It seems that it is not server side problem.
I'm not sure why the exceptions are thrown. The table and SQL is very simple. I believe that there is no room to happen the deadlock.
Am I missing something?

I found the reason and solution of the issue.
I've read the following post:
http://stackoverflow.com/questions/20959592/mysql-deadlock-error
Then I executed the following command:
show engine innodb status;
Then I got the result.
------------------------
LATEST DETECTED DEADLOCK
------------------------
2016-12-06 20:48:11 7fa4d8367b00
*** (1) TRANSACTION:
TRANSACTION 726408, ACTIVE 0 sec starting index read
mysql tables in use 1, locked 1
LOCK WAIT 3 lock struct(s), heap size 1184, 2 row lock(s)
MySQL thread id 108, OS thread handle 0x7fa4d2958b00, query id 42893
localhost dltest updating
update dl set b=NULL where a = '1569'
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 121 page no 10 n bits 448 index
`GEN_CLUST_INDEX` of table `dltest`.`dl` trx table locks 1 total table
locks 6  trx id 726408 lock_mode X locks rec but not gap waitinglock
hold time 0 wait time before grant 0
*** (2) TRANSACTION:
TRANSACTION 726370, ACTIVE 0 sec fetching rows
mysql tables in use 1, locked 1
29 lock struct(s), heap size 6544, 1581 row lock(s)
MySQL thread id 75, OS thread handle 0x7fa4d8367b00, query id 42855
localhost dltest updating
delete from dl where a = '1559'
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 121 page no 10 n bits 424 index
`GEN_CLUST_INDEX` of table `dltest`.`dl` trx table locks 1 total table
locks 6  trx id 726370 lock_mode X lock hold time 0 wait time before
grant 0
*** (2) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 121 page no 10 n bits 456 index
`GEN_CLUST_INDEX` of table `dltest`.`dl` trx table locks 1 total table
locks 6  trx id 726370 lock_mode X waiting lock hold time 0 waittime
before grant 0
*** WE ROLL BACK TRANSACTION (1)

Finally, I found the official document.
http://dev.mysql.com/doc/refman/5.6/en/innodb-deadlocks.html
In my case, I catch and check exception and if the exception indicates deadlock, then retry the SQL.
It is a characteristic of mysql (innodb), not soci's problem.
Sorry for the mix-up.

How do you know in code if that's a deadlock?

@saurabhaditya ,
Here is my SQL executor function:
    template <typename Func>
    void do_sql(Func&& f) const {
        using namespace soci;
        while (true) {
            try {
                f();
                break;
            }
            catch (mysql_soci_error& e) {
                switch (e.err_num_) {
                case ER_LOCK_DEADLOCK:
                    std::cout << "deadlock (not dangerous) detected. retry.";
                    break;
                case CR_SERVER_GONE_ERROR:
                case CR_SERVER_LOST:
                    soci::session(pool_).reconnect();
                    break;
                default:
                    throw;
                }
            }
        }
    }

If mysql_soci_error::err_num_ is equal to ER_LOCK_DEADLOCK, then deadlock is happened.
f is any function that calls soci's sql operation.


Change lptop

@sot528

added countdown
added 2 buttons and removed movie button
Changed text size and font-weight because there are lots of things on cover

please check the points below.

layout is correct in both PC and smartphones
scss coding is correct and simple
button works correctly(now whitepaper linked to #service-information)

@sot528
I fixed almost all review points, but not sure that my BEM methodology is correct.
In addition to that, I couldn't complete changing time zone of countdown time. I successfully finished to add moment and moment-timezone, and import those on low_priority_index.js, but when I wrote moment() in common.js it said 'moment' is not defined. It seems that I fail to import moment correctly, but I couldn't solve it.

@sot528 Fixed them! please check it!


Issue 421 pressure control

Added closed loop pressure control.

I will take a look after Justin's major comments are addressed. From a brief look, I feel strongly about two of them:

We should keep the Controller API (changing SensorReadings and ActuatorsState, but preserving the class itself) - as we're reviewing this, David has already integrated it with Modelica and we have plans to use that integration both for development and for validation testing. Let us not break that integration, or worse, make it impossible.
We should keep the FSM, for the reasons of correctness-by-construction that Justin indicates; additionally, Jerome is already building pressure assist mode as an FSM.

Did you mean to close this PR?

I don't really have the time or energy to fight another one of these PR battles.  I'm just going to stick to making small changes to the code.  Please feel free to take anything from this branch that you find useful.


npm install error: webpack.production.config.js:5 “...config”, SyntaxError: Unexpected token ”...

I run npm install right after git clone:
NPM error:
···
BotFramework-WebChat-Demo\webpack.production.config.js:5
...config,
SyntaxError: Unexpected token '...'
···
Question:
Which part of config/node packages handles the 'rest spread operator' in this webpack.production.config.js ??
Since I didn't see any ts config or any babel to handle this ?

Updating to the newest node.js version resolved the issue for me on Windows


ZSGE

Zespół Szkół Górniczo-Energetycznych

School website: https://zsge.pl/
The IT related course: https://zsge.pl/files/rekrutacja/tinformatyk.html (technical school lasts 5 years in Poland)
Proof that the school recognizes the email: The only thing i could find is a facebook post relating to Valentine's day https://www.facebook.com/zsgekonin/photos/a.831928750280297/2241842759288882
It  roughly translates to:
Unfortunatly this year we can't meet in person on the 14th so we are proposing a digital (anonymous like always) valentain card post. You write the full name of the recipient and the contents of the card and it's all done. The card will arrive on the 14th in your valentains e-mail ending on the zsge.eu domain. We encourage writing!

If you need the adress of the school like in some earlier requests it's:
Poland
Wielkopolskie
62-510 Konin
Kardynała Stefana Wyszyńskiego 5


openssl_x509 not working with built in Chef resource

In the openssl cookbook we renamed openssl_x509 to openssl_x509_certificate to better reflect what it does. With the latest release of the openssl cookbook we no longer load the resources on a modern chef-client release. It appears to our backwards compat for openssl_x509 does not work in the chef-client though.

This was resolved in 14.5


Fix fileWrite and fileAppend

Fixes #1068
When using a zero length string the finish net message isn't sent, to fix this lets just not write or append the file at all.

You beat me to it by four minutes :stuck_out_tongue_closed_eyes:
But this isn't actually correct - if you write an empty string and you're not appending, then it should clear the contents of the file.
Closing, see #1070

Ah true, I was mainly thinking about writing an empty file and over-looked clearing files :p


Add axis for interp and integral

Codecov Report

Merging #11 (eed55b1) into master (f807f3e) will decrease coverage by 0.05%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##           master      #11      +/-   ##
==========================================
- Coverage   37.95%   37.89%   -0.06%
==========================================
  Files           9        9
  Lines         851      847       -4
==========================================
- Hits          323      321       -2
+ Misses        528      526       -2

Impacted Files
Coverage Δ

src/grid/composite.jl
95.14% <ø> (+2.69%)
:arrow_up:

src/grid/simple.jl
94.17% <37.50%> (-1.28%)
:arrow_down:

src/grid/interpolate.jl
80.15% <100.00%> (+0.95%)
:arrow_up:

Continue to review full report at Codecov.

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


How can i drag multiple element to drop area ?

Ex: We have 3 element one + two + three
When i drag element one  to "Drop Area", then i want drag element one  again to "Drop Area", Please help me.
Please see image, i want use multiple drop element

==> I want drop box One to Drop Area 5-10 times ? How can i do it ?

I this functionality too. UP

HI, donnes
I think they not update for us,
I change to new plugin is Dragula, you can use it
Go to this link https://github.com/bevacqua/angular-dragula

Ohh! Thank you @caohothang :D

@foustleague
Good luck with new plugin :)


Move ContainerDeploymentService + tests into this repo

:point_right: To be merged together with https://github.com/ManageIQ/manageiq-ui-classic/pull/838
This service, which lives in the classic-ui repo, is almost entirely
concerned with things that happen in the UI. The parts that aren't can
be moved elsewhere.
@miq-bot add-label api, refactoring
@miq-bot assign @abellotti

I'd keep container_deployment_service.rb in app/services/ in manageiq and not move under lib/services/api/. Other than that it's fine.

@abellotti any specific reason? The code in it could equally just exist in the container deployment controller as that's its only consumer. Indeed, we may need to move the code there in order to leverage RBAC on rendering these resources

like all other options, data that we present comes from the model, not really api code. figure this would go in app/models/container_deployments.rb  but it's written as a service.

@abellotti the problem here though is that this doesn't behave like other OPTIONS requests and is concerned with the fetching and serialization of resources - things that belong in the API

sorry, that code has specific checks on provider classes and such, and not generic enough to be in API, just because UI needs a certain subset of data, that still should be provided to us no different than other model methods we leverage like Authentication.build_credential_options, ArbitrationRule.field_values, etc.

that still should be provided to us no different than other model methods we leverage like Authentication.build_credential_options, ArbitrationRule.field_values, etc.

@abellotti but there is an important difference - this service is bypassing important mechanisms in the API by serializing resources that need to be run through RBAC (in the way that we serve every other resource in the API). It's a hack and we need to change this - this is just the first part of that change. We can always separate out things later to move the domain concepts closer to the model. If you still feel strongly I can make this a top level service but I really feel that this is very much concerned with the API in a way that the others aren't.

@abellotti in an effort to make this PR and its companion as straightforward as possible I'm going to keep this service at the same level in this PR. Thanks!

/cc @martinpovolny @imtayadeway I'm 👍  with this PR.  can be merged anytime.


[stable/kubernetes-dashboard] cannot create in namespace other than kube-system

Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG REPORT
Version of Helm and Kubernetes:
$ helm version --tiller-namespace tiller-system
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
$ kubectl get nodes
NAME      STATUS    AGE       VERSION
myk8s-0   Ready     1d        v1.12.3
myk8s-1   Ready     1d        v1.12.3
myk8s-2   Ready     1d        v1.12.3

Which chart: stable/kubernetes-dashboard
What happened:
$ helm install --tiller-namespace tiller-system stable/kubernetes-dashboard --set "rbac.create=true" --namespace kube-system

CrashLoopBackOff
Logs pod:*
2018/12/06 13:56:17 Synchronizer kubernetes-dashboard-key-holder-kube-system exited with error: kubernetes-dashboard-key-holder-kube-system watch ended with timeout
2018/12/06 13:56:18 Storing encryption key in a secret
panic: secrets is forbidden: User "system:serviceaccount:default:halting-billygoat-kubernetes-dashboard" cannot create resource "secrets" in API group "" in the namespace "kube-system"

goroutine 1 [running]:
github.com/kubernetes/dashboard/src/app/backend/auth/jwe.(*rsaKeyHolder).init(0xc420408c40)
	/home/travis/build/kubernetes/dashboard/.tmp/backend/src/github.com/kubernetes/dashboard/src/app/backend/auth/jwe/keyholder.go:131 +0x2d3
github.com/kubernetes/dashboard/src/app/backend/auth/jwe.NewRSAKeyHolder(0x1b13180, 0xc4204163c0, 0xc4204163c0, 0x12e0aca)
	/home/travis/build/kubernetes/dashboard/.tmp/backend/src/github.com/kubernetes/dashboard/src/app/backend/auth/jwe/keyholder.go:170 +0x83
main.initAuthManager(0x1b12400, 0xc4200d6360, 0xc42028dc68, 0x1)
	/home/travis/build/kubernetes/dashboard/.tmp/backend/src/github.com/kubernetes/dashboard/src/app/backend/dashboard.go:185 +0x12f
main.main()
	/home/travis/build/kubernetes/dashboard/.tmp/backend/src/github.com/kubernetes/dashboard/src/app/backend/dashboard.go:103 +0x28c

What you expected to happen:
No *CarshLoopBackOff if namespace not "kube-system"
How to reproduce it (as minimally and precisely as possible):
(tiller is installed in tiller-system namespace)
$ helm install --tiller-namespace tiller-system stable/kubernetes-dashboard --set "rbac.create=true" --namespace kube-system

Faced the same issue. :(

Facing the same issue :(

Facing the same issue.
Trying to deploy the dashboard in a namespace called 'monitor', and failing to do so.

Still an issue. +1 on supporting other namespaces.

same

@nicroto did you try the latest build: https://github.com/helm/charts/issues/9776#issuecomment-456186972 ?

@FrenchBen I have tested the latest at the time of my previous comment.
Don’t have the time to try again ATM. Perhaps someone else can verify it’s fixed?

any updates?

Maybe its worth to give kube web view a try ;-)
https://github.com/hjacobs/kube-web-view

Its fixed in 2.0. There isnt a final release yet but I hear it should be soon.


Typo in Eq.(4)?

Thanks to share your nice work. It gives some inspiration to my study. :)
If you don't mind, I'd like to ask if there's a typo in the formula in Eq. (4).

I think the operator $*$ at the end should be $\cdot$ following the same format in Eq.(3).

Sorry for the mistake. We will fix it in the updated version. Thanks!


Make project version Optional

resolves #6603
Description
I changed Project.version to Optional (default None) in core/dbt/config and core/dbt/contracts.
(This change was suggested by @jtcohen6 in the issue #6603)
This config was not being used by dbt, so I believe no further changes are needed. make test and make integration both passed.
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

I fixed my email in the last (empty) commit, so the cla-bot must be triggered by the first two commits. But I don't think I can change them now.

@seub Could you try git rebase, to squash your previous commits together?

I rewrote the email in the faulty commits using this and then I did git push. But clearly something is not working. I'll just close this MR and create a new one.

New PR: https://github.com/dbt-labs/dbt-core/pull/6718


ammonite: 1.1.2 -> 1.2.0

Motivation for this change
Bumping ammonite version to 1.2.0
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -A ammonite, then executing amm
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

First PR to nixpkgs. I still don't know how to follow lots of the above checks. Will follow instructions if necessary.

@GrahamcOfBorg build ammonite

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: ammonite
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: ammonite
Partial log (click to expand)
100   600    0   600    0     0   5128      0 --:--:-- --:--:-- --:--:--  5128
100 26.4M  100 26.4M    0     0  26.9M      0 --:--:-- --:--:-- --:--:-- 46.7M
copying path '/nix/store/4rv37m88jmjiqpr9d4r2s0r2c4cxmcpm-spidermonkey-52.9.0' from 'https://nix-cache.s3.amazonaws.com'...
copying path '/nix/store/6i2l9mbszlds0p36wgips3d0p6rmnwb6-polkit-0.115' from 'https://nix-cache.s3.amazonaws.com'...
copying path '/nix/store/488aya5f34bry24dx185k595ygrxbdnb-gconf-3.2.6' from 'https://nix-cache.s3.amazonaws.com'...
copying path '/nix/store/sw6l31gjkw31kc2gqc49dn98hzdiqmci-gnome-vfs-2.24.4' from 'https://nix-cache.s3.amazonaws.com'...
copying path '/nix/store/91wwfym087fcrg2iscd5bz3qq1zgz1k8-openjdk-8u181b13-jre' from 'https://nix-cache.s3.amazonaws.com'...
building '/nix/store/l40akndyk9w4qfcbmshl38zmdhpqqslv-ammonite-1.2.0.drv'...
installing
/nix/store/18m2nzhqpayr6ywanw0k3mgdanyvd260-ammonite-1.2.0


Feature: Monorepo with Lerna.

How about using Lerna to create a mono repo which holds multiple components which would work on it's own.
This way it is really easy to test each component and to publish independent versions.
Also you can only install the needed packages via npm.
GitHub's Primer and Babel are using the approach as well. Maybe this helps getting some references / ideas.
I would like to hear your opinion on this topic if it might be useful for this project.

They are a PR which try to setup Lerna on Bootstrap see : https://github.com/twbs/bootstrap/pull/23614
Related to #23557


Added environments are included in envlist automatically

I was bit surprised by the fact that running "tox" did also include the environment created by tox-ansible instead of the list that I manually defined using  envlist.
This can prove to be problematic, for some users and also cause accidents.
@greg-hellings IMHO, the generated environments should not be added to the default list. What do you think?

So I couldn't find a good way to get them listed with a tox -l unless I added them to envlist. I thought there was a check in place to only add them when the envlist is empty, but that check - or my memory - might be incorrect.

Well, the correct way to list all env was tox -a[v] not tox -l[v]. My expectation is that that -l should stick to what user manually declared.
What I am not sure is what happens when user did not mention anything in envlist, probably it should default to -a.

One option might be to change this logic here: https://github.com/ansible-community/tox-ansible/blob/master/src/tox_ansible/hooks.py#L73
If we add an additional command line option, we can make this appending optional. The question is, should we default to on or off?

So one of the difficulties of expecting the user to add to the list manually is that the point of the plugin was to reduce the need to manually define the list of environments. If we don't add them, it makes discovering the list difficult and makes users, once again, need to manually curate the list of scenarios.
Currently, my usage pattern goes

collect tox -l --ansible-driver docker --ansible-driver podman to get the list of all Docker and Podman environments
convert list to a JSON array
feed JSON array into next step in GitHub Actions pipeline

For execution elsewhere I do the same but with tox -l --ansible-driver openstack and feed that into a massively parallel Jenkins execution.
I'm not committed to keeping the first step exactly the same, but the functionality needs to remain. Messing with the output of tox -l was the main way I could figure out to do that. But I'm not against updating the hooks themselves to specify the output directly. Even asking for a JSON array so I'm not using bash hooks for that, like I'm currently doing.

I think my proposal in the other issue of adding an INI enable flag could also resolve this. Then it would detect and append when it's enabled rather than just every time tox is run somewhere that happens to have a path matching molecule/*/molecule.yml glob. If it's not enabled, then it wouldn't do anything.
I do not think we need a half-way state where the envs are generated but not added to the default list. I think enabling the plugin as opt-in is sufficient. What do you think?


Suggestion: Remove elements that are not visible

This includes:

Paths with empty geometry or only moveto commands
shapes in general that are not rendered, e.g. rectangle with zero height/width
elements with opacity: 0 or fully transparent strokes and fills

@ygra This is implemented in svgo, however removing visibility="hidden", opacity="0", display="none", fill-opacity="0" stroke-opacity="0" might delete important editor-data. If somethin is set to hidden (and not removed) it is done (mostly) purposly.
However this could break the file:

removing invisble elements leeds to problems e.g. with flowRoot. The rect should be invisible see removing black rectangle or Problems with SVG 1.2 but removing would lead to removing of the visibility of the flowPara.

However there are other issues relating to it, if you want to re-edit the file:

display="none" is used by inkscape for hidden layers (e.g. for source-data of text that was converted to path, of traced rasterdata, comments, ...)
fill-opacity="0" stroke-opacity="0" and opacity="0" is recommended by Wikimedia for svg-files were you converted text to path and to hide the actual text (textrendering differs between renderer quit much) and deleting the real text should not be done, nor does not save much space.
path with empty geometry or recatangles with zero height does imho not ocour often
rect with zero height in flowRoot won't get rendered, but they can still store the position of the text (which wont get rendered)


Get Hosting Exec support

Describe the issue
The risk is that an iStore or Service Now ticket will get lost.  This is a first time pathfinding exercise so there is no established service line for this.  We could use some executive support. See the CRM search for "Health Insight" for who to talk on this ticket (Neil S, Rick C, Sorin P).
Additional context

We think this will be low effort but spread across several days, possibly weeks
No DHCP services in Data Centres
iStore request for consultion (eg. 20h), then meet with technical team from AS.
Services exist in the catalogue for receiving customer devices and connecting them to the network
Likely initial offer will be to plug into client-managed zone, which would involve going into multiple firewalls.
We would like it to be on the same subnet as the database service
No software review needed; client managed software is a client responsibility
Rick is co-chair of the Cloud Design Authority, and we will likely be repeating this pattern

Definition of done

PO and Health team to meet with Doug C (David is away) and get support (30 min meeting)
Who at ADSL and BC Gov Hosting can we work with that can give us the access at CDC we need (see ticket 1888)
Exec sends an email to all parties outlining the support required

Done, David will help us


When OTA updates are disabled, Updates.releaseChannel is always 'default' on iOS

Summary
Hi,
We've got an app where we've disabled OTA updates. We're interested in the app booting as quickly as possible. People often use our app in ares where there isn't great reception and we don't want them downloading a JavaScript bundle before the app finishes booting.
We're in the process of ejecting and we're using the Updates.releaseChannel constant to decide which configuration to load as documented here https://docs.expo.dev/distribution/release-channels/
Everything works as expected on Android, but on iOS the release channel is always default. This can be resolved by changing updates.enabled to true and running eas build:configure but we would prefer not to do this.
Environment
EAS CLI 0.32.0 environment info:
System:
OS: macOS 11.6
Shell: 3.3.1 - /usr/local/bin/fish
Binaries:
Node: 14.18.0 - /private/var/folders/5m/r25wkqy93g34y3257c1mr0xm0000gn/T/xfs-70f8bf32/node
Yarn: 3.0.2 - /private/var/folders/5m/r25wkqy93g34y3257c1mr0xm0000gn/T/xfs-70f8bf32/yarn
npm: 8.1.0 - ~/.nvm/versions/node/v14.18.0/bin/npm
Utilities:
Git: 2.30.1 - /usr/bin/git
npmPackages:
expo: ^42.0.5 => 42.0.5
expo-cli: 4.12.1 => 4.12.1
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: 0.63.4 => 0.63.4
react-native-web: ~0.13.12 => 0.13.18
npmGlobalPackages:
eas-cli: 0.31.1
expo-cli: 4.12.3
Error output
No response
Reproducible demo or steps to reproduce from a blank project
Run expo init and choose bare workflow. Replace the contents of App.js with the below:
import { StatusBar } from 'expo-status-bar';
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import * as Updates from 'expo-updates';

export default function App() {
  return (
    <View style={styles.container}>
      <Text>Release channel: {Updates.releaseChannel}</Text>
      <StatusBar style="auto" />
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },
});

Modify app.json to disable updates like so:
{
  "expo": {
    "updates": {
      "enabled": false
    }
    ...

Run eas build:configure. Add a preview release channel to eas.json like so:
{
  "build": {
    "preview": {
      "distribution": "internal",
      "releaseChannel": "staging"
    }
    ...

Run eas device:create and link an iOS device to your provisioning profile. Run eas build --platform ios --profile preview and scan the resulting QR code on your iOS device to install the build.
Open the app, it will tell you the release channel is default.

Hi @cameronmurphy,
According to my knowledge, you shouldn't depend on Updates.releaseChannel when updates are disabled. I suspect it works on Android without explicit reason. (I think people working on Expo Update can tell you more (cc @jonsamp @jkhales) about it)
If you want to conditionally set some env vars for your project you should set them in eas.json (https://docs.expo.dev/build-reference/variables/) and then update app.json to pass them to your code (https://docs.expo.dev/guides/environment-variables/#using-app-manifest--extra).

I agree with @dsokal's response. Also, it's really understandable that you'd like your users to get their apps open as soon as possible. If you like the benefits of the expo-updates library, but want apps to load immediately, you could set the expo.updates.fallbackToCacheTimeout property as 0. This fallbackToCacheTimeout property in app.json will pause on the splash screen to check if there's a new update for the set amount of milliseconds. By setting it to 0, the app will pause for no time, and will open the app up immediately. Once the app is open, if there's a new update, expo-updates will attempt to download the new update in the background as the user uses the app. Once it downloads the update, the next time the user opens the app, they'll see the new update.
If your updates are small (JS-only changes usually), this could work, and it wouldn't cost your users much data. With that, turning updates off completely is also a good solution, just wanted to explain another approach in case it meets your requirements.


Does Quartz support Spring Boot 3.0

Due to rename of javax package, does quartz still work with Spring boot 3?

@jhchee
Unfortunately no. There are a lot of issues about that, for example, https://github.com/quartz-scheduler/quartz/issues/794
However there are no responses or updates.
It seems that this project is not maintained anymore.


Some formatter issues in libraries related to new line before comments

Problem 1
Note the empty line before the first comment (actually you can't see it in the rendering, but it's there if you just copy the code or look at the raw text)

//! A reentrancy check for use in Sway contracts.
//! Note that this only works in internal contexts.
//! to prevent reentrancy: `assert(!is_reentrant);
library reentrancy;

use std::assert::assert;
use std::context::{call_frames::*, registers::frame_ptr};

/// Returns `true` if the reentrancy pattern is detected, and `false` otherwise.
pub fn is_reentrant() -> bool {
    // Get our current contract ID
    let this_id = contract_id();

    // Reentrancy cannot occur in an external context. If not detected by the time we get to the
    // bottom of the call_frame stack, then no reentrancy has occured.
    let mut call_frame_pointer = if frame_ptr() == 0 {
        0
    } else {
        get_previous_frame_pointer(frame_ptr())
    };
    // The current contract ID wasn't found in any contract calls prior to here.
    false
}

forc fmt emits:
Error parsing file: unexpected close delimiter

Problem 2
Again, note the empty line before the first comment (same as before)

//! A reentrancy check for use in Sway contracts.
//! Note that this only works in internal contexts.
//! to prevent reentrancy: `assert(!is_reentrant);
library reentrancy;

use std::assert::assert;
use std::context::{call_frames::*, registers::frame_ptr};

/// Returns `true` if the reentrancy pattern is detected, and `false` otherwise.
pub fn is_reentrant() -> bool {
    // Get our current contract ID
    let this_id = contract_id();

    // The current contract ID wasn't found in any contract calls prior to here.
    false
}

Formats without errors but the output is (not empty line before the comment here):
//! A reentrancy check for use in Sway contracts.
//! Note that this only works in internal contexts.
//! to prevent reentrancy: `assert(!is_reentrant);
library reentrancy;

use std::assert::assert;
use std::context::{call_frames::*, registers::frame_ptr};

/// Returns `true` if the reentrancy pattern is detected, and `false` otherwise.
pub fn is_reentrant() -> bool {

    // Get our current contract ID    let this_id = contract_id();

    // The current contract ID wasn't found in any contract calls prior to here.    false
}

which is incorrect. The let statement is now in the preceding comment.
I don't know if these are known issues or not, but filing anyways just in case :)
Problem 3
Running the formatter on the output of Problem 2 leads to an error:
Error parsing file: unclosed delimiter

Marking this as critical because it's hitting the reentrency library, even though it really shouldn't have a new line before the top comments.

Hmm after multiple hours of debugging this turns out to be about #2790. But since there seems to be no reason to have leading newlines and whitespaces at the beginning of the file I have a solution to fix this in the meantime


GET / yields 500, doesn't find reverse

I followed the README, and when I got the server running and tried to access /, I got this error:
Performing system checks...

System check identified no issues (0 silenced).
November 30, 2016 - 22:42:47
Django version 1.8.15, using settings 'djangocon_europe.settings'
Starting development server at http://<IP_ADDRESS>:8000/
Quit the server with CONTROL-C.
   New revision!!!! RELOAD!
      317c3216-1a49-4ccb-985e-090143a480ad (<class 'str'>)
   -> None (<class 'NoneType'>)
reverse('my_test_app_view'): Reverse for 'my_test_app_view' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
reverse('my_test_app_view'): Reverse for 'my_test_app_view' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
[30/Nov/2016 22:42:51] "GET / HTTP/1.1" 500 452747

I dpasted the traceback. (And yes, the "new revision!!!! RELOAD!" appears every time.)

@rixx We should probably document in the readme the pages that must be created and how in the backend before opening the home page (home page with home reverse id, and code of conduct page with coc reverse id)
Eventually we can switch to the page_url ... as  syntax which does not return an error in case the page is missing

Well, the readme kind of indicates that running migrate and runserver will work, so yeah, some instruction including a dummy page would probably be good (if you want people to set up the site locally, that is, I was just going to fool around with it a bit).

@rixx you are totally right. Could you check if #20 solves your issues and provide better documentation at project setup?

It does load the home page (although loading /blog fails again, naturally). Yay!
As for the documentation - it might just be that I have never spent more than a few hours here and there with django-cms, but it would be easier if there was one example on how to deal with djangocms-apphook-setup, as the current README section doesn't really help with that.

Tomorrow I will extend the readme with some basic django CMS instructions and will link the django CMS users documentation to help setting up this project
As it's heavily based around a specific django CMS setup I, there a are a lot of details to document and it's sometimes ewasy to forget some key details for people not used to it
Thanks for reporting and the time spent contributing contributing contributing to the project

Does this initial set of pages help? Try it from an empty database
pages.zip
If it helps I'll document both creating pages from scratch and importing this initial set of data.
I fixed a couple more hardcoded reverse_id anyway, so now it should gracefully fail

It totally does! Thank you!

Thanks for reporting. I will update the PR later with the additional information

I'm having the same problem as rixx did.
Will wait patiently for the readme update :-)

@idanmei until then, you can pull from the PR branch and import the fixtures found in the pages.zip @yakky linked above.

@idanmel @rixx I'm going to merge #20 when tests pass

@rixx @idanmel thanks for reporting and contributing to fix this


[Feature] more than 10 buffs

Describe the feature
Hello,
the only place in my UI where i show all my buffs/debuffs, is on my unit frame.
so i'd like to ask for the slider to go higher than 10max buffs, as in raids it can easily go higher than 15
EDIT: might also be interesting to see more than 10 debuffs, specially on the target frame, to see everything on a raid boss
thank you.
Describe the implementation
increase the amount of buffs to 20 or maybe even 40 (special events like Dragonflight Cobalt Assembly event can go really high on buffs)

I've increased the cap to 20 for the next release.
If you want to increase it to 40, I've implemented support for achieving this via a snippet, you can see an example here
https://github.com/Krealle/Cell_UnitFrames/blob/master/Snippets/IncreaseMaxAuraIcons.lua


COCO model weights and semantic segmentation results

Hello, I am very interested in your work. I want to do some further study. Can you share the model weights and semantic segmentation results on COCO dataset.
Thanks a lot !

Hi, you can find the weights of coco from the shared link of BaiduYun in the readme (folder "WSSS/released_weights/")
The results are not kept when I left the company. You can predict results from the released weights.
You can refer to "https://github.com/Eli-YiLi/WSSS_MMSeg/blob/main/tools/run_wsss.sh", the config with _cp.py will save the predictions. Note, coco does not use cyclic mask, thus you need to add follow code to config "https://github.com/Eli-YiLi/WSSS_MMSeg/blob/main/configs/pspnet_wsss/pspnet_res2net-d8_40kx32_coco.py".
test_cfg = dict(mode='slide', crop_size=(512, 512), stride=(480, 480), crf=True,
pred_output_path='data/coco2014/results')
Then inference with this command: "bash tools/slurm_test.sh ${PARTITION} python configs/pspnet_wsss/pspnet_wres38-d8_40kx32_coco.py ${ckpts[0]} 8" for wres38. (If you run the code on a server instead of a cluster, use dist_test as slurm_test)


fix(setPosition): fix typo when updating position

Hi Sergii,
just came across a little typo.

Makes sure that the callbacks are fired when the slider value is updated manually like this: slider.rangeSlider.update({value: someValue}, true);

Greets
Malte

Hi Malte
Thank you!