the prediction horizon and the period for implementation

Hello. The two parameters of prediction horizon and period for implementation are important for MPC. I know that the prediction horizon is variable “T_f” in the code, but I do not see the parameter of period for implementation. In the c ++ source code, it seems that the step of the period for implementation is 1, can this parameter be configured separately? Unfortunately my C ++ foundation is not very good, I wish that you can help me.
Thanks!

According to my understanding, the function “solveLinerProblem” in the file “multiple_shooting_cmgres.cpp” is the function to solve the optimal control input U, but because I am not familiar with C ++, its parameters and calling methods are somewhat unclear to me, even if I debug line by line, I didn't get how the array "control_input_and_constraints_seq_ " was calculated. Obviously this parameter is related to the optimal control input U, but I see that the value stored in this array "control_input_and_constraints_seq_ " is repeated cyclically with the size of "dim_control_input + dim_constraints". I think if the prediction time domain is " T_f ", and the prediction step size is" N ", then the data stored in this array should be N sets of data, respectively representing the optimal control amount under each prediction step size, and should not be repeated cyclically. I wish that you can help me. Thanks!

I'm sorry, I cannot get what you mean by "period for implementation".
"control_input_and_constraints_seq_" is the array of the future optimal control input and the Lagrange multipliers with respect to the equality constraints.
I do not use 2D array (array of array) but instead I represent them by 1D array. This is the reason why the type of control_input_and_constraints_seq_ is double* (not double**) and its size is N * (dim_control_input + dim_constraints).

I'm sorry, I cannot get what you mean by "period for implementation".
"control_input_and_constraints_seq_" is the array of the future optimal control input and the Lagrange multipliers with respect to the equality constraints.
I do not use 2D array (array of array) but instead I represent them by 1D array. This is the reason why the type of control_input_and_constraints_seq_ is double* (not double**) and its size is N * (dim_control_input + dim_constraints).

I'm sorry, I cannot get what you mean by "period for implementation".
"control_input_and_constraints_seq_" is the array of the future optimal control input and the Lagrange multipliers with respect to the equality constraints.
I do not use 2D array (array of array) but instead I represent them by 1D array. This is the reason why the type of control_input_and_constraints_seq_ is double* (not double**) and its size is N * (dim_control_input + dim_constraints).

Thank you for your quick reply!
If the variable "N" is seen as the prediction horizon, the optimal control solution should be an array of optimal control inputs and Lagrange multipliers, having a size of N * (dim_control_input + dim_constraintsd), which should be applied separately N times after time t (that is, the duration of T_f). But according to the content of your reply, it seems that there is only an array with a size of 1 * (dim_control_input + dim_constraintsd), which I don't quite understand.
Regarding what I mean by "period for implementation", assuming that it is seen as constant "M" (0 <M <= N), it means the optimal control input and Lagrange multiplier within these N steps In the array, select the top M pieces of data (that is, an array having a size of M * (dim_control_input + dim_constraintsd)) as the control input and the Lagrange multiplier applied during numerical simulation. Therefore, at each sampling time t, the numerical simulation within the time interval [t: t + M * sampling_time] should be completed (Note: sampling_time = T_f / N is assumed here). After the numerical simulation is completed, the optimal control input for the next stage is recalculated (the sampling time at this time is t + M * sampling_time). Repeat this cycle.
According to the content of the code, I think your "period for implementation" may be 1, that is, the optimal control solution will be re-executed every sampling period of the numerical simulation, and the optimal control input obtained each time can only be applied to the current Period, that is to say, it seems that the optimal control input in (t: t+N*sampling_time] (Note: sampling_time = T_f / N is assumed here) is not available.
Hope you can help me, thank you!

First, sampling_time = T_f / N is assumed here. If the variable "N" is seen as the prediction horizon, the optimal control solution should be an array of optimal control inputs and Lagrange multipliers, having a size of N * (dim_control_input + dim_constraintsd), which should be applied at time t, t+sampling_time , t+2sampling_time ... t+Nsampling_time (that is [t: t + N* sampling_time], in the duration of T_f). But according to the content of your reply, it seems that there is only an array with a size of 1 * (dim_control_input + dim_constraintsd) applied at time t, which I don't quite understand.

In the C/GMRES method, basically the first control input, i.e., 1*(dim_control_input+dim_constraints) is applied to the system in each sampling time.  That is, 2*(dim_control_input+dim_constraints)... N*(dim_control_input+dim_constraints) are never applied to the actual system. However, optimal 2*(dim_control_input+dim_constraints)... N*(dim_control_input+dim_constraints) are also calculated at each sampling time to "track" the optimal solution according to the change of the actual system's state at each sampling time.

Regarding what I mean by "period for implementation", assuming that it is seen as constant "M" (0 <M <= N), it means the optimal control input and Lagrange multiplier within these N steps In the array, select the top M pieces of data (that is, an array having a size of M * (dim_control_input + dim_constraintsd)) as the control input and the Lagrange multiplier applied during numerical simulation. Therefore, at each sampling time t, the numerical simulation within the time interval [t: t + M * sampling_time] should be completed. After the numerical simulation is completed, the optimal control input for the next stage is recalculated (the sampling time at this time is t + M * sampling_time). Repeat this cycle.
According to the content of the code, I think your "period for implementation" may be 1, that is, the optimal control solution will be re-executed every sampling period of the numerical simulation, and the optimal control input obtained each time can only be applied to the current Period, that is to say, it seems that the optimal control input in (t: t+N*sampling_time] is not available.

In the context of your "period for implementation", M is always 1. As stated before, the optimal control inputs at 2-N are never used. This is the principle of the C/GMRES method.

First, sampling_time = T_f / N is assumed here. If the variable "N" is seen as the prediction horizon, the optimal control solution should be an array of optimal control inputs and Lagrange multipliers, having a size of N * (dim_control_input + dim_constraintsd), which should be applied at time t, t+sampling_time , t+2sampling_time ... t+Nsampling_time (that is [t: t + N* sampling_time], in the duration of T_f). But according to the content of your reply, it seems that there is only an array with a size of 1 * (dim_control_input + dim_constraintsd) applied at time t, which I don't quite understand.

In the C/GMRES method, basically the first control input, i.e., 1*(dim_control_input+dim_constraints) is applied to the system in each sampling time. That is, 2*(dim_control_input+dim_constraints)... N*(dim_control_input+dim_constraints) are never applied to the actual system. However, optimal 2*(dim_control_input+dim_constraints)... N*(dim_control_input+dim_constraints) are also calculated at each sampling time to "track" the optimal solution according to the change of the actual system's state at each sampling time.

Thank you for your reply！
Another problem is that you say "optimal 2 * (dim_control_input + dim_constraints) ... N * (dim_control_input + dim_constraints) are also calculated at each sampling time to" track "the optimal solution according to the change of the actual system's state at each sampling time. ".However, according to my code debugging,  values in control_input_and_constraints_seq_ are repeated cyclically in cycles of (dim_control_input + dim_constraintsd),
(for example, control_input_and_constraints_seq_[0] = control_input_and_constraints_seq_[dim_control_input + dim_constraintsd] = control_input_and_constraints_seq_[2dim_control_input + 2dim_constraintsd] in function getControlInput in file multiple_shooting_cmgres.cpp) ,
which I don't quite understand.

Regarding what I mean by "period for implementation", assuming that it is seen as constant "M" (0 <M <= N), it means the optimal control input and Lagrange multiplier within these N steps In the array, select the top M pieces of data (that is, an array having a size of M * (dim_control_input + dim_constraintsd)) as the control input and the Lagrange multiplier applied during numerical simulation. Therefore, at each sampling time t, the numerical simulation within the time interval [t: t + M * sampling_time] should be completed. After the numerical simulation is completed, the optimal control input for the next stage is recalculated (the sampling time at this time is t + M * sampling_time). Repeat this cycle.
According to the content of the code, I think your "period for implementation" may be 1, that is, the optimal control solution will be re-executed every sampling period of the numerical simulation, and the optimal control input obtained each time can only be applied to the current Period, that is to say, it seems that the optimal control input in (t: t+N*sampling_time] is not available.

In the context of your "period for implementation", M is always 1. As stated before, the optimal control inputs at 2-N are never used. This is the principle of the C/GMRES method.

Another problem is that you say "optimal 2 * (dim_control_input + dim_constraints) ... N * (dim_control_input + dim_constraints) are also calculated at each sampling time to" track "the optimal solution according to the change of the actual system's state at each sampling time. ".However, according to my code debugging, values in control_input_and_constraints_seq_ are repeated cyclically in cycles of (dim_control_input + dim_constraintsd),
(for example, control_input_and_constraints_seq_[0] = control_input_and_constraints_seq_[dim_control_input + dim_constraintsd] = control_input_and_constraints_seq_[2dim_control_input + 2dim_constraintsd] in function getControlInput in file multiple_shooting_cmgres.cpp) ,
which I don't quite understand.

When you check the values of control_input_and_constraints_seq_?
At the beginning of the numerical simulation, the length of the horizon is set by zero and all control_input_and_constraints_seq_[idim_control_input + idim_constraintsd] are the same.
This is to initialize the solution very fast by solving the optimal control problem whose length of the horizon is zero.
At time goes by, the length horizon increases, and control_input_and_constraints_seq_[idim_control_input + idim_constraintsd] may have different values.

Another problem is that you say "optimal 2 * (dim_control_input + dim_constraints) ... N * (dim_control_input + dim_constraints) are also calculated at each sampling time to" track "the optimal solution according to the change of the actual system's state at each sampling time. ".However, according to my code debugging, values in control_input_and_constraints_seq_ are repeated cyclically in cycles of (dim_control_input + dim_constraintsd),
(for example, control_input_and_constraints_seq_[0] = control_input_and_constraints_seq_[dim_control_input + dim_constraintsd] = control_input_and_constraints_seq_[2dim_control_input + 2dim_constraintsd] in function getControlInput in file multiple_shooting_cmgres.cpp) ,
which I don't quite understand.

When you check the values of control_input_and_constraints_seq_?
At the beginning of the numerical simulation, the length of the horizon is set by zero and all control_input_and_constraints_seq_[i_dim_control_input + i_dim_constraintsd] are the same.
This is to initialize the solution very fast by solving the optimal control problem whose length of the horizon is zero.
At time goes by, the length horizon increases, and control_input_and_constraints_seq_[i_dim_control_input + i_dim_constraintsd] may have different values.

Thanks for your guidance, I have found the problem. I set the alpha parameter so small that I found the phenomenon of cyclic repetition in the first few cycles of simulation.


fix issue related to codacy error, fix memory issue related to test s…

…uite
Lymui
Totoro is going to review your PR

What does this PR accomplish

[ ] Add a new feature supporting a new color type
[x] Provide a fix to the current project
[ ] Add new test

We will check that

[ ] Make sure to have unit test
[ ] Make sure that any test is passing
[ ] Make sure to respect that when converting a type T to return a type T Rgb

🐷 Thanks for contributing ! 🐷

Pull Request Test Coverage Report for Build 123

2 of 2 (100.0%) changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 98.711%

Totals

Change from base Build 120:
0.002%

Covered Lines:
536

Relevant Lines:
543

💛  - Coveralls


Marathon should reject apps that use COMMAND health checks with Docker.

The only exception to this is when a custom executor is also specified (uncommon).
The Docker containerizer does not launch tasks using the command executor by default.  Without a custom executor to handle the health check the framework will never hear back regarding health status.  This results in apps that get stuck in the "deploying" state (also visible via the UI).
This limitation should be mentioned in the docs about health checks, and possibly in the docs about using the Docker containerizer as well.
Inspiration (question from stack overflow): http://stackoverflow.com/questions/32276226/strange-behavior-when-using-marathon-health-check-with-the-command-protocol-and/32280738#32280738
Minimal example to reproduce:
1. Working app with health check (without Docker):
{
  "id": "without-docker",
  "cmd": "sleep 60",
  "cpus": 0.1,
  "mem": 64.0,
  "healthChecks":[
    {
      "protocol": "COMMAND",
      "command": { "value": "echo 0" },
      "intervalSeconds": 5
    }
  ]
}

2. Broken app with health check (with Docker):
{
  "id": "with-docker",
  "cmd": "sleep 60",
  "cpus": 0.1,
  "mem": 64.0,
  "container":{
    "type": "DOCKER",
    "docker":{
      "image": "python:3",
      "network": "BRIDGE",
      "portMappings": [
        {
          "containerPort": 8080,
          "hostPort": 0
        }
      ]
    }
  },
  "healthChecks":[
    {
      "protocol": "COMMAND",
      "command": { "value": "echo 0" },
      "intervalSeconds": 5
    }
  ]
}

cc @joerg84

Hmm... We're using command health checks with docker containerizer on 0.8.2 / mesos 0.22.1, and it seems to work just fine. It does execute outside the container, but we use a wrapper script to find the appropriate container and docker exec in it.

I'm seeing the same issue and it appears it may be a Mesos issue.  I was on 0.22.1 and it worked, but on a system with 0.23.0 it didn't work.  I just upgraded the 0.22.1 system to 0.23.0 and it fails as well.  There's no mention of the health check in the logs and I see nothing in the stdout or stderr for the container.  I'm going to dig some more, but I wanted to mention this in case it helps.
FYI, marathon is version 0.9.0.

Check this out: https://issues.apache.org/jira/browse/MESOS-3136

I've been experiencing several issues with health checks and I wonder if they can be related to this. I get all my tasks killed when the health checks are on. I'm running mesos 0.23.0-1.0.ubuntu1404, marathon 0.9.1-1.0.397.ubuntu1404. The health checks I tested are pretty basic ones coming from here: https://mesosphere.github.io/marathon/docs/health-checks.html

I've tested with mesos 0.24.1 / marathon 0.10.1 and the problem is still here. My application state is Deploying and the health bar stays gray. If I look at the stdout of my container I can see this :
Launching health check process: /tmp/mesos/slaves/20150929-110120-857647296-15050-6726-S0/frameworks/20150929-110120-857647296-15050-6726-0000/executors/rights.7b164edc-66a3-11e5-88cc-2e8ac2c4bff6/runs/d70c1fd6-daef-48af-8800-4ed47dae1094/mesos-health-check --executor=(1)@<IP_ADDRESS>:35115 --health_check_json={"command":{"shell":true,"value":"docker exec mesos-20150929-110120-857647296-15050-6726-S0.d70c1fd6-daef-48af-8800-4ed47dae1094 sh -c \" echo 0""},"consecutive_failures":3,"delay_seconds":0,"grace_period_seconds":300,"interval_seconds":5,"timeout_seconds":20} --task_id=rights.7b164edc-66a3-11e5-88cc-2e8ac2c4bff6
Health check process launched at pid: 21579

Same here i've update both mesos 0.24.1 and marathon 0.10.1 and i am unable to see any logs about mesos launching health checks.
Is there any special flag to pass to mesos to activate the COMMAND health checks?

Same problem with mesos 0.24.1 and marathon 0.11.0, although in https://issues.apache.org/jira/browse/MESOS-3136 it is set as fixed in mesos 0.24.1

Still the same problem with mesos 0.25.0 and marathon 0.11.0, although in https://issues.apache.org/jira/browse/MESOS-3136 it is set as fixed in mesos 0.25.0

@EvanKrall what is your wrapper script? Is it like:
https://issues.apache.org/jira/browse/MESOS-3136?focusedCommentId=14946563&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14946563
at all?

There are now proposed patches to fix command health checks: https://issues.apache.org/jira/browse/MESOS-3738
I have just tested marathon 0.11.1 with Mesos 0.25.0 (with the patch from MESOS-3738) and can confirm that this fixed any issues with command health checks we were seeing in our environment.

@hekaldama Yeah, it's essentially that one-liner.
We did add a feature that looks for and reuses existing exec resources on the container that match the one we're about to run, so that the container info doesn't grow without bound. (Run docker exec several times against a container and then docker inspect the container, and you'll see info about each exec. This triggered https://issues.apache.org/jira/browse/MESOS-3724 after a few days of healthchecking.)

@EvanKrall interesting. Is this reproducible outside of mesos with just running exec on a container locally? I cannot seem to reproduce locally.

seems like I am running into the same issue, too; I am having a jenkins-master spawned via Marathon and I want to use any kind of health check. I have to use host networking though, so I cannot use HTTP health check mode, as this one doesn't let me allow to explicitly specify the target port to talk to (correct me if I am wrong, please).
The command health check though seems to be stuck for no reason (cannot find a "real" error in the logs. Health check used is: "curl -f -X GET http://:8080$HOST/cc.xml" (I assume that $HOST is resolving to the target node the container was spawned on - I couldn't find proof it via the docs, though.

Smilier issue here with Mesos 0.26 and Marathon 0.14. No detail error log except following . The health check cmd used is  "command": { "value": "curl --connect-timeout 3 -f -X GET http://:4243$HOST/images/json" },assuming $HOST is one of the deployed mesos-slave nodes.
Feb 01 18:45:32 mesos-m11.vms.crd.ge.com marathon[17529]: [2016-02-01 18:45:32,342] INFO Forwarding health result [Unhealthy(basic-busybox.afed8a7c-c913-11e5-b338-6a047fcd0730,2016-02-01T18:43:29.723Z,,2016-02-01T18:45:32.342Z)] to health check actor [Actor[akka://marathon/user/$R#-351294637]] (mesosphere.marathon.health.MarathonHealthCheckManager$$EnhancerByGuice$$119255c3:ForkJoinPool-2-worker-7)
Feb 01 18:45:32 mesos-m11.vms.crd.ge.com marathon[17529]: [2016-02-01 18:45:32,343] INFO Received health result for app [/basic-busybox] version [2016-02-01T18:43:29.723Z]: [Unhealthy(basic-busybox.afed8a7c-c913-11e5-b338-6a047fcd0730,2016-02-01T18:43:29.723Z,,2016-02-01T18:45:32.342Z)] (mesosphere.marathon.health.HealthCheckActor:marathon-akka.actor.default-dispatcher-1301)

@hekaldama I believe Docker has changed their exec api in newer versions so that the exec resources don't stick around - that may be why you can't reproduce.

I have tried the minimal example on Mesos 0.25.0 with Marathon 0.13.0
The problem is still here

Looks like the behaviour has changed in mesos 0.27.0. Now the COMMAND executes inside the docker container. I don't see it documented anywhere.

I just ran in to this and confirm what @darshandzend mentions. Changing my healthcheck command to one structured to run from INSIDE the container works perfectly.

Yep, same as @brentley. Health check was failing until I set it to use localhost and my app's port rather than the container. Works now. Marathon v1.1.1, Mesos v0.28.0

Recent versions of Mesos start the health check command inside the Docker container, so this issue is no longer relevant.

It seems I'm still running into this issue with mesos 0.28.1 and marathon 0.15.3. My app stays into the Deploying state. Is anybody still getting this?


Add a tab to show the source code snippet in the execute modal.

modified API methods to return source code
Added tabbed browsing in the execute modal template
modified controller to set the source code content from returned json.

@niranjan94 the build failed because an eslint rule prohibits nested interactives
error  Do not use <button> inside an element with role="tabpanel"  nested-interactive
Googling isn't turning up any pointers. Why is this prohibited? Does this mean tabs cannot have any interactive matter like buttons, textarea, sliders etc?

@niranjan94 I've still got nothing on why It's not allowed.
Is there an eslint rule I can override, or should I close this PR and implement the show-source feature as a toggle or something (Even that is probably a case of nested-interactive ) ?

Rule reference:

https://github.com/rwjblue/ember-template-lint/blob/master/docs/rule/nested-interactive.md

For now, remove role="tabpanel"

@niranjan94 please merge this. I took care of the eslint issue.
I also included the following in this PR:

API references for user session methods.
Example scripts


add volatile keyword in asm to suppress the compiler's optimisations

I wrote a simple driver to modify the system register.  It includes a header file in arm64-sysreg-lib/include/sysreg/pmcr_el0.h.
        printk(KERN_ALERT "raw variable value: %llx\n", pmcr_val._);
        pmcr_val.e = 1;
        printk(KERN_ALERT "after modifid variable value: %llx\n", pmcr_val._);
        unsafe_write_pmcr_el0(pmcr_val);
        pmcr_val = read_pmcr_el0();
        printk(KERN_ALERT "read from pmcr_val reg: %llx\n", pmcr_val._);

It seems that the output is not as expected. The output is like below:
[351940.892080] raw variable value: 48006040
[351940.892398] after modifid variable value: 48006041
[351940.892877] read from pmcr_val reg: 48006040

The initial value of variable pmcr_val  is 48006040 and we modified it to  48006041. Then, I wrote it into the register and read it out. The current value of the variable should be 48006041, but it is actually 48006040 as the output.
I intermixed the source code with disassembly.
       pmcr_val.e = 1;
  9c:   b2400275        orr     x21, x19, #0x1
        printk(KERN_ALERT "raw variable value: %llx\n", pmcr_val._);
  a0:   aa1303e1        mov     x1, x19
  a4:   90000000        adrp    x0, 0 <init_module>
  a8:   91000000        add     x0, x0, #0x0
  ac:   94000000        bl      0 <printk>
        printk(KERN_ALERT "after modifid variable value: %llx\n", pmcr_val._);
  b0:   aa1503e1        mov     x1, x21
  b4:   90000000        adrp    x0, 0 <init_module>
  b8:   91000000        add     x0, x0, #0x0
  bc:   94000000        bl      0 <printk>
  c0:   d51b9c15        msr     pmcr_el0, x21
        printk(KERN_ALERT "read from pmcr_val reg: %llx\n", pmcr_val._);
  c4:   90000000        adrp    x0, 0 <init_module>
  c8:   aa1303e1        mov     x1, x19
  cc:   91000000        add     x0, x0, #0x0
  d0:   94000000        bl      0 <printk>

It seems that the compiler deleted the read expression.
As a contrast, I added the volatile keyword to read and write the register.
        printk(KERN_ALERT "raw variable value: %llx\n", pmcr_val._);
        pmcr_val.e = 1;
        printk(KERN_ALERT "after modifid variable value: %llx\n", pmcr_val._);
        __asm volatile(
            "MSR s3_3_c9_c12_0, %0"
            : /**/
            : "r"(pmcr_val._));

        __asm volatile(
            "MRS %0, s3_3_c9_c12_0"
            : "=r"(pmcr_val._));
        printk(KERN_ALERT "read from pmcr_val reg: %llx\n", pmcr_val._);

Below is the assembly code
        pmcr_val.e = 1;
  38:   b2400293        orr     x19, x20, #0x1
        printk(KERN_ALERT "raw variable value: %llx\n", pmcr_val._);
  3c:   aa1403e1        mov     x1, x20
  40:   90000000        adrp    x0, 0 <init_module>
  44:   91000000        add     x0, x0, #0x0
  48:   94000000        bl      0 <printk>
        printk(KERN_ALERT "after modifid variable value: %llx\n", pmcr_val._);
  4c:   aa1303e1        mov     x1, x19
  50:   90000000        adrp    x0, 0 <init_module>
  54:   91000000        add     x0, x0, #0x0
  58:   94000000        bl      0 <printk>
        __asm volatile(
  5c:   d51b9c13        msr     pmcr_el0, x19
        __asm volatile(
  60:   d53b9c01        mrs     x1, pmcr_el0
        printk(KERN_ALERT "read from pmcr_val reg: %llx\n", pmcr_val._);
  64:   90000000        adrp    x0, 0 <init_module>

In short, we should add the volatile keyword when reading and writing registers to prevent the compiler from deleting the expression.

Good catch! Yep we absolutely need the 'volatile' there. I've merged your patch. Thanks!


Automatic migration from old to new cdn and custom domain plans

In order to streamline CDN and Custom Domain service instance migrations, we should write a tool to do them.
Acceptance Criteria

[ ] existing ALB/CloudFront config should not be updated
[ ] existing Lets Encrypt accounts and certificates should be reused
[ ] no downtime for users

Some features I think we should strive for, or have a story around why they cannot be provided:

[ ] Retain the name of the service. Users may have automation around their systems that assumes the service name will not change
[ ] Self service: making this self service would mean users can control service names (if they cannot be retained) and have a feeling of control over when this happens. Users don't like us making changes during their critical moments.
[ ] Totally automatic: Ideally, we should only be running one script or one cf command per instance - no manual SQL changes, no copy-pasting, etc
[ ] interact with CAPI only through cf commands - no poking around in CAPI's database by hand

This should be done relatively soon as part of the CDN broken work. Since these are for existing customers, they should be stable whether we do this soon or not, HOWEVER we should incorporate this work while the CDN broker changes are fresh in our brains. Prioritize in the next sprint or two.


Implement Relation.cast

Codecov Report

Merging #37 (af0ba2b) into main (e500868) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #37   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          870       918   +48
  Branches       213       231   +18
=========================================
+ Hits           870       918   +48

Impacted Files
Coverage Δ

src/patito/duckdb.py
100.00% <100.00%> (ø)

src/patito/pydantic.py
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


How to use gpu to decoder frame to bitmap, The cpu Take up a high level.

How to use gpu to decode frame to bitmap, The cpu Take up a high level.

You need to use gpu decoder, check ffmpeg

If you have more questions about that please reopen


chore: disabling until token resolution

Expected that semantic pull requests will fail. This commit is disabling it until token is resolved.


Updated profile

This is complete now @Twinklebear

This looks pretty good! I'd like to try it out some but likely won't have time for another week or two since I have some deadlines coming up. For now though, what is the TODO about ranks/snatches not toggling?

@Twinklebear That issue was resolved in commit 3e8409d. Do you want me to build you an APK so you can check out the changes more easily?

Ah ok, cool. That's alright, I will have some free time so I'll check it out soon and look at the code some more as well.

Hey @stuxo this looks very good! Could you open the PR to the develop branch though and if the new light/dark theme stuff is ready add that and I'll take a look at that as well.


Make trace() a documented internal API

This should be documented so plugin authors can use it to add their own custom traces: https://github.com/simonw/datasette/blob/8f311d6c1d9f73f4ec643009767749c17b5ca5dd/datasette/tracer.py#L28-L52
Including the new kwargs pattern I added in #1571: https://github.com/simonw/datasette/blob/f65817000fdf87ce8a0c23edc40784ebe33b5842/datasette/database.py#L128-L132

This might also be the impetus I need to bring the https://datasette.io/plugins/datasette-pretty-traces plugin into Datasette core itself.


core[patch]: configurable init params

Proposed fix for #20061. need to test

@baskaryan
Still showing this error
    print(chain.invoke({}, config={"configurable": {"max_tokens": 100}}))
  File "/home/mayank/open-source/langchain/libs/core/langchain_core/runnables/base.py", line 2499, in invoke
    input = step.invoke(
  File "/home/mayank/open-source/langchain/libs/core/langchain_core/runnables/configurable.py", line 94, in invoke
    runnable, config = self._prepare(config)
  File "/home/mayank/open-source/langchain/libs/core/langchain_core/runnables/configurable.py", line 348, in _prepare
    init_params = {
  File "/home/mayank/open-source/langchain/libs/core/langchain_core/runnables/configurable.py", line 349, in <dictcomp>
    k: v for k, v in self.default.__dict__ if k in self.default.__fields__
ValueError: too many values to unpack (expected 2)```

@baskaryan, I have made a PR(https://github.com/langchain-ai/langchain/pull/20131) to this branch to fix current error.


KeyError: 'weight' in reconstructing contig

Hi @Magdoll ,
Multiple key errors occurred in different gene family while reconstructing contig. Here is an example of details about these errors.
"""
Traceback (most recent call last):
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/bin/reconstruct_contig.py", line 4, in
import('pkg_resources').run_script('Cogent==3.3', 'reconstruct_contig.py')
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/pkg_resources/init.py", line 748, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/pkg_resources/init.py", line 1517, in run_script
exec(code, namespace, namespace)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/EGG-INFO/scripts/reconstruct_contig.py", line 337, in
main()
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/EGG-INFO/scripts/reconstruct_contig.py", line 259, in main
run_Cogent_on_input()
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/EGG-INFO/scripts/reconstruct_contig.py", line 220, in run_Cogent_on_input
sp.reachability(G, mermap, {}, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 294, in reachability
reachability_helper(G, source, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 320, in reachability_helper
reachability_helper(G, n, [], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 328, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 322, in reachability_helper
reachability_helper(G, G.successors_iter(cur).next(), chain + [cur], visited, mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 317, in reachability_helper
collapse_chain(G, chain+[cur], mermap, path_d)
File "/share/nas1/yangch/bin/anaconda/envs/anaCogent/lib/python2.7/site-packages/Cogent-3.3-py2.7.egg/Cogent/splice_graph.py", line 245, in collapse_chain
weights_in_path.append(G.get_edge_data(chain[i], chain[i+1])['weight'])
KeyError: 'weight'
"""
I suspected that get_edge_data function in networkx module returned a none subject. But I was not able to confirm or exam exact reasons.  Could you help take a look? Thanks.

hi @fantastycrane ,
I've sent a file upload request to your email (fantastycrane@163.com). Looks like it may be that the "weight" attribute was not properly propagated in the alg. I'll take a look.
Thanks,
--Liz

Files have been uploaded. Please Check. Thanks.

Hi @fantastycrane ,
Cogent v3.5 should have this problem fixed. Please confirm.
--Liz

Thanks. I'll upgrade Cogent and see how it goes.

Hi @Magdoll ,
The key error issue has been solved. Only reconstruction in specific gene family seems to be running forever.  It keeps outputting following info in hello.log.
"""
2018-05-24 09:37:33,813 - Cogent - INFO - CYCLE detected through path analysis! Raise CycleDetectedException!
2018-05-24 09:37:33,822 - Cogent - INFO - Trying to raise k=120. Rerun attempt.
2018-05-24 09:37:35,260 - Cogent.splice_cycle - INFO - K-mer in-seq cycle detection: 3429 in-seq cycle found with max common         sequence analysis showing min: 121, max: 590, mean:<PHONE_NUMBER>68
2018-05-24 09:37:35,268 - Cogent - INFO - Adjusting k-mer size to: 100
2018-05-24 09:37:38,125 - Cogent - INFO - CYCLE detected through path analysis! Raise CycleDetectedException!
2018-05-24 09:37:38,137 - Cogent - INFO - Trying to raise k=120. Rerun attempt.
2018-05-24 09:37:39,584 - Cogent.splice_cycle - INFO - K-mer in-seq cycle detection: 3429 in-seq cycle found with max common         sequence analysis showing min: 121, max: 590, mean:<PHONE_NUMBER>68
2018-05-24 09:37:39,591 - Cogent - INFO - Adjusting k-mer size to: 100
2018-05-24 09:37:42,384 - Cogent - INFO - CYCLE detected through path analysis! Raise CycleDetectedException!
2018-05-24 09:37:42,395 - Cogent - INFO - Trying to raise k=120. Rerun attempt.
2018-05-24 09:37:43,876 - Cogent.splice_cycle - INFO - K-mer in-seq cycle detection: 3429 in-seq cycle found with max common         sequence analysis showing min: 121, max: 590, mean:<PHONE_NUMBER>68
2018-05-24 09:37:43,883 - Cogent - INFO - Adjusting k-mer size to: 100
2018-05-24 09:37:46,740 - Cogent - INFO - CYCLE detected through path analysis! Raise CycleDetectedException!
2018-05-24 09:37:46,750 - Cogent - INFO - Trying to raise k=120. Rerun attempt.
2018-05-24 09:37:48,119 - Cogent.splice_cycle - INFO - K-mer in-seq cycle detection: 3429 in-seq cycle found with max common         sequence analysis showing min: 121, max: 590, mean:<PHONE_NUMBER>68
2018-05-24 09:37:48,127 - Cogent - INFO - Adjusting k-mer size to: 100
2018-05-24 09:37:50,895 - Cogent - INFO - CYCLE detected through path analysis! Raise CycleDetectedException!
2018-05-24 09:37:50,906 - Cogent - INFO - Trying to raise k=120. Rerun attempt.
2018-05-24 09:37:52,253 - Cogent.splice_cycle - INFO - K-mer in-seq cycle detection: 3429 in-seq cycle found with max common         sequence analysis showing min: 121, max: 590, mean:<PHONE_NUMBER>68
2018-05-24 09:37:52,263 - Cogent - INFO - Adjusting k-mer size to: 100
2018-05-24 09:37:55,062 - Cogent - INFO - CYCLE detected through path analysis! Raise CycleDetectedException!
2018-05-24 09:37:55,072 - Cogent - INFO - Trying to raise k=120. Rerun attempt.
2018-05-24 09:37:56,426 - Cogent.splice_cycle - INFO - K-mer in-seq cycle detection: 3429 in-seq cycle found with max common         sequence analysis showing min: 121, max: 590, mean:<PHONE_NUMBER>68
2018-05-24 09:37:56,435 - Cogent - INFO - Adjusting k-mer size to: 100
2018-05-24 09:37:59,170 - Cogent - INFO - CYCLE detected through path analysis! Raise CycleDetectedException!
2018-05-24 09:37:59,182 - Cogent - INFO - Trying to raise k=120. Rerun attempt.
2018-05-24 09:38:00,622 - Cogent.splice_cycle - INFO - K-mer in-seq cycle detection: 3429 in-seq cycle found with max common         sequence analysis showing min: 121, max: 590, mean:<PHONE_NUMBER>68
2018-05-24 09:38:00,629 - Cogent - INFO - Adjusting k-mer size to: 100
2018-05-24 09:38:03,448 - Cogent - INFO - CYCLE detected through path analysis! Raise CycleDetectedException!
2018-05-24 09:38:03,459 - Cogent - INFO - Trying to raise k=120. Rerun attempt.
2018-05-24 09:38:04,974 - Cogent.splice_cycle - INFO - K-mer in-seq cycle detection: 3429 in-seq cycle found with max common         sequence analysis showing min: 121, max: 590, mean:<PHONE_NUMBER>68
2018-05-24 09:38:04,983 - Cogent - INFO - Adjusting k-mer size to: 100
"""

Hi @fantastycrane ,
I must have written a loop somewhere. Would you mind sharing the file? Hopefully this time I get rid of the error once and for all.
--Liz

Hi @Magdoll ,
The requested files have been uploaded. Please check.

Hi @fantastycrane ,
FIles have been received. I'll keep you updated.

Any progress on this issue?

I’m currenrly traveling until 6/18. May have to wait till get back. Sorry

@fantastycrane ,
The file you sent successfully completed through Cogent v3.5. I've dropped off the results back to your email. Please let me know when you've picked it up.
--Liz

@Magdoll ,
I updated Cogent to v3.6 and tested it on the failed case. It worked fine. Thanks.


Update contributor and maintainer guide

Description
Update documentation around maintaining and contributing
Related Issue
Generic "Maintainers Guide" #5
Style & Design Guide #11

shipitn

Made modifications based on comments. Let's discuss the image storage.


Research on relevant UI / Services (Edge Impulse, Arduino, mbed, IFTTT and Sony MESH etc.)#14

According to this limited search, the Arduino board, perhaps with Wiring, could be a good choice, since they support Linux, Mac and Windows. Arduino has a large community of users and a good product range. The choice of cloud service depends on the project needs.

@tastingmusic please review this

@2laJ2 CI breaks now? Can you check?
@tastingmusic , please review @2laJ2 's outcome!

@2laJ2 did you accidentally submit???


Changing Uri when copying a Request should clear pathInfo

When copying a request object and supplying a new uri, e.g. req.copy(uri = uri("/new")), pathInfo does not currently get cleared. This results in confusing behavior as the previous pathInfo isn't necessarily valid anymore in the new context. Thus, the more intuitive behavior would be to clear the pathInfo when uri is changed so that a new, "fresh" copy of the request object is obtained.

I'm afraid of what this might break if we change it in 0.15, but it seems like a good thing to do for 0.16.

I'd like to take a crack at this - would the best way be to create a custom copy method?

Just start writing one. The uri = uri("/new") syntax looks for the corresponding argument name in the method. Be prepared for some boilerplate.

Thanks, @sportanova.
You can supply a copy method to hide the auto-generated one.  Just create a method called copy with each member of the Uri case class as a parameter that defaults to the current value.

Fixed by #1213


Register v0.4.1

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/21790
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.4.1 -m "<description of version>" 4c250df17caa1bbe3de3a86ead01e3ec74a1d7df
git push origin v0.4.1


DO NOT MERGE: Test update to sha-specified nanoserver image to fix Windows runs

Testing whether there is an actual problem running make integration on Windows, or whether AppVeyor is just extremely slow...
Signed-off-by: Phil Estes<EMAIL_ADDRESS>

Testing if #3217 is related to integration tests no longer running on AppVeyor

Additional info: all current PRs in containerd are "hanging" at running integration tests, which starts a containerd daemon; output ends here:
+ integration
time="2019-04-17T14:34:13Z" level=info msg="running tests against containerd" revision=b39295f9097836c116ebc36c102612ae58ac45ee runtime= version=v1.2.0-492-gb39295f9

I give up; I reverted the two commits (as a test within this PR) that precedes regular failures of AppVeyor, but even that is hanging on make integration. Scrolling through the last green AppVeyor build, all the versions and commits of dependent packages/content seem to all be the same, so it doesn't seem related to environment shifting underneath us. Any ideas @jterry75 or @jhowardmsft?

based on #3228 discussion and the docs from appveyor about which Docker images are present, maybe we can just use the sha-specific nanoserver image.

cool. if it can pass CI, please close my pr. thanks!

Green! 😅

Codecov Report

Merging #3222 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3222   +/-   ##
=======================================
  Coverage   48.65%   48.65%
=======================================
  Files         102      102
  Lines        9569     9569
=======================================
  Hits         4656     4656
  Misses       4087     4087
  Partials      826      826

Flag
Coverage Δ

#linux
48.65% <ø> (ø)
: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 56d8a05...6bcf463. Read the comment docs.

@containerd/containerd-maintainers this could use a quick review and merge as we have about 7+ PRs waiting for the ability to run AppVeyor properly which will need to rebase on this change.

@containerd/containerd-maintainers this could use a quick review and merge as we have about 7+ PRs waiting for the ability to run AppVeyor properly which will need to rebase on this change.

LGTM


Prevent setting a negative track length

Oops, closes #1465

Is there a case where this happens and the rest of the code works fine? I feel like the track should be completely unusable at the point where ChannelGetLength returns an error?

(i.e. isLoaded should probably be false if that ever happens, via an early return)

I'm not sure. Not having any audio device would create said error but not having any tracks loaded without an audio device would make it unplayable? Not that it seems to be fun or even working too well currently.

Is there any case beyond not having an audio device? Because from the wording of https://github.com/ppy/osu-framework/pull/1165, that looks to crash the game regardless. A separate fix is necessary for that.
If not, then I don't think this PR is needed, and we should be looking into fixing the no-audio-device issue instead.

Given http://www.bass.radio42.com/help/html/63fd986c-70cc-62e1-5287-205f3cadd47d.htm, it looks like the only two errors are invalid handle and notavail - notavail being the cause of attempting to ChannelGetLength on a streaming track, which will need separate handling altogether I believe, if we ever intend to do that.
I don't think this safety is necessary.


Struggling to customize cluster icon

I struggled for some time but had some key findings thanks to chatgpt
you do something like this
https://stackoverflow.com/questions/71129102/how-to-specify-custom-cluster-marker-for-a-google-map
but instead of saying new google.maps.Marker( you write new this.$refs.mapRef.api.Marker( (sorry yes im using options api so convert the reffing logic composition if you need) . But of course you have to make sure you assign that ref to
<GoogleMap
      ref="mapRef"

alternatively you can get api this other way (see https://vue3-google-map.com/advanced-usage/#usage-patterns)  and pass it as a param
  <GoogleMap ref="mapRef">
      <template #default="{ api }">
        <InocanMarkerCluster
          :options="clusterOptions(api)"
        >

  methods: {
    clusterOptions(api) {
      return {
        renderer: {
          render: ({ count, position }) => new api.Marker({
            position,
            icon: this.clusterIcon, // Use custom icon computed above
            label: { text: String(count), color: 'white', fontSize: '12px' },
            zIndex: 999 + count
          })
        }
      }
    },

hope this helps future cluster stylers

cant figure out how to set the anchorText though, if anyone can help

On the render return, try using the url setting within icon:
icon: {
          url:
            "data:image/svg+xml;charset=UTF-8;base64," +
            btoa(
              generateSvgMarker({
                priority: waypoint.priority,
                height: waypoint.height ? waypoint.height : 50,
                width: waypoint.width ? waypoint.width : 50,
                fill: fillColor.value,
                stroke: strokeColor.value,
              })
            ),
          size: new window.google.maps.Size(width, height),
          // anchor: new window.google.maps.Point(16, 32),
        },

My generateSvgMarker:
export const generateSvgMarker = (payload: Partial<SVGMarkerSettings>) => {
  const settings: SVGMarkerSettings = {
    ...DEFAULT_MARKER_SETTINGS,
    ...payload,
  };

  return `
  <svg height="${settings["height"]}" width="${settings["width"]}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120">
    <g>
      <!-- Original polygon -->
      <polygon points="10,10 110,10 110,80 60,100 10,80" fill="${settings["fill"]}" stroke="${settings["stroke"]}" stroke-width="${settings["strokeWidth"]}" />
    </g>

    <text x="60" y="55" fill="${settings["textFill"]}" font-family="${settings["fontFamily"]}" font-size="${settings["fontSize"]}" text-anchor="${settings["textAnchor"]}" alignment-baseline="${settings["alignmentBaseline"]}">
      ${payload.priority}
    </text>
  </svg>`;
};

Hello! I customize the bookmark icon, I don't know if it's really what you were looking for. I share it in the same way, hoping it will be useful to you.


Extend the package to handle the Gocardless webhooks.

Gocardless relies heavily on webhooks to provide updates of the payments, mandates and other resources. A good package Laravel for Gocardless should provide a way to handle them.

[x]  Add a middleware to verify the webhooks signatures. 61add26646ebd5f996f113a6edaa32b58b94c636
[x]  Add a controller to handle the webhook requests. 8e679bb06fe3a2f7d92c38da41a264e818457dfc
[x]  Provide a webhook model to encapsulate the logic. 8e679bb06fe3a2f7d92c38da41a264e818457dfc & 3dc46752de13d6a05660c813b11d88f8d555ef3e
[x]  Dynamically bind jobs to the different events that the end users need to control (using the config file).
[x]  In order to help with the use and maintainability of the package create a WebhookFailed exception. 8e679bb06fe3a2f7d92c38da41a264e818457dfc

It's working. I'm going to merge the feature branch into the 0.2.0 release branch.


Add support for VSCode Web

VSCode Web limitation
Since VS Code for the Web runs completely within the browser, some experiences will naturally be more constrained when compared to what you can do in the desktop app.
I will try to fix that in the next update

@andrii-bohdan Okay, I really like this extension...
Sometimes I used github.dev to edit my repo because the vscode/vscodium app sometimes getting laggy,..

@andrii-bohdan Okay, I really like this extension... Sometimes I used github.dev to edit my repo because the vscode/vscodium app sometimes getting laggy,..

Hi, finally the extension is also available on the Web version. Today I made few test unfortunately the way how I handle git repository in the app version is not working properly in web version. I'll take some more time to find workaround.


UF-185: Panel Height Lost when goTo(placeRequest, panel)

Depends on: https://github.com/uberfire/uberfire-extensions/pull/248

This PR also fixes the issue UF-285.

it looks good, but this is a change that to be sure it's necessary to run to see.

@porcelli @paulovmr I'll try this locally!

+1 thanks @paulovmr

master: be001e52c1a364b684463c4651951a86e5a5744b


Scoped folders are incorrectly marked invalid under Windows O/S

Under Windows O/S, scoped folders (eg. @prisma/client) are falsely marked as invalid, due to:
https://github.com/Semigradsky/read-installed/blob/571e45fffc04b21f209fccc574a46899f9124b6f/read-installed.js#L201
in the above example, name exists but @prisma/client !== @prisma\client (notice the backslash difference).
Can be fixed by always converting to forward slashes, earlier in the code:
https://github.com/Semigradsky/read-installed/blob/571e45fffc04b21f209fccc574a46899f9124b6f/read-installed.js#L152
can be changed to:
          installed = i
              .filter(function (f) {
                  return f.charAt(0) !== '.';
              })
              .map(function (f) {
                  return f.replace(/\\/g, '/');
              });

Thanks!

Fixed in c148815


Update index.md

Learn Build status updates of commit 09f2ba9:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed]

Cannot sync git repo to specified commit because ref +refs/pull/18/merge has been deleted or has been force pushed.
 If this is pull request, please ensure it is mergeable (no merge conflict) and open (not closed).

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Add storage queue operation sample

Codecov Report

Merging #213 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #213   +/-   ##
=========================================
  Coverage     55.22%   55.22%
  Complexity      266      266
=========================================
  Files            86       86
  Lines          1159     1159
  Branches         63       63
=========================================
  Hits            640      640
  Misses          484      484
  Partials         35       35

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 a3109c2...64fcc5d. Read the comment docs.


Update paths using BASE_DIR in multi-stage notebook to handle non-default value

Goal

Enable non-default value of BASE_DIR to be set in multi-stage notebook.

Implementation

Setting BASE_DIR to a different value doesn't currently work due the way that path joins are happening.

Updating use of os.path.join to allow setting this to a non-default value.

rerun tests


show plugin names in user warnings

Thanks for the new user warnings feature.
It would be nice to show the plugin that provided the warning.
For example, it took me a while to discover what a single warning Inheritance is not allowed for scratch or isolated builds. Skipping inheritance. means. The term "inheritance" can mean a couple different things in the build system.
When I read the Koji task's orchestrator.log, it's clearer:
2021-06-16 08:50:41,105 platform:- - atomic_reactor.plugins.resolve_composes - INFO - Inheritance requested in config file
2021-06-16 08:50:41,105 platform:- - atomic_reactor.plugins.resolve_composes - WARNING - Inheritance is not allowed for scratch or isolated builds. Skipping inheritance.

It turns out that it means this user has set inherit: true within the compose key in the container.yaml file in dist-git. orchestrator.log shows the plugin name clue that we're talking about composes, but user_warnings does not.
If we displayed OSBS's pre_resolve_composes plugin name there, the warning messages would be clearer to users. It would be easier for users to become contributors, because they could find this code more easily and improve the error message texts.

Hello,
thank you very much for the report. You are right
My feeling is that this is issue with the text of the user warning. We shouldn't expect users to have knowledge of which plugins do what. We should write nice descriptive and clear error messages instead.
CC @ssalatsk

Going a step further, it would be nice if users didn't have to be aware of plugins at all. The message could be written in a way that makes sense to the user without having to know which plugin it came from, for example: inherit: true in the compose section of container.yaml is not allowed for scratch or isolated builds. Ignoring this value.

@ktdreyer, "user warnings" are different than self.log.warning. They are created by a call to self.log.user_warning.  These are the warnings that propagated back to the user via the koji task. The other ones stay buried in the logs. I don't know exactly why we have two types of warnings though. My guess is that we didn't want to rewrite all the ~75 calls to self.log.warning. There are only three calls to self.log.user_warning so it seems quite reasonable to rewrite those.

we have log.user_warning to provide only meaningful warnings to users. We don't want to spam users with some OSBS system warnings, it may be too much an not relevant for users.

I updated warning message here, https://github.com/containerbuildsystem/atomic-reactor/pull/1638
Do you agree with such resolution of this issue?

Ok, thanks for explaining this. I missed that warning() is separate from user_warning(). That atomic-reactor PR is ok for this error.


Gracefully handle lack of getAdvertisingIdInfo

getAdvertisingIdInfo requires SDK 4.0+ which is not a good requirement to have in many countries, where developers are probably still supporting 2.3 for a bunch of old phones and tablets.

Apparently this had already been implemented by Jonathan but it appears in my merging and playing around with things it got removed.  So I have just reimplemented the old fix:
https://github.com/snowplow/snowplow-android-tracker/blob/c28be285add31c1b3ecfff0a40c7cf32b8e513d7/snowplow-android-tracker/src/main/java/com/snowplowanalytics/snowplow/tracker/android/Util.java#L61-L106
You can also now not import anything google related for those that are not interested in getting the advertising id.

Nice!
On 3 Jun 2015 1:50 pm, "Josh"<EMAIL_ADDRESS>wrote:

Apparently this had already been implemented by Jonathan but it appears in
my merging and playing around with things it got removed. So I have just
reimplemented the old fix:
https://github.com/snowplow/snowplow-android-tracker/blob/c28be285add31c1b3ecfff0a40c7cf32b8e513d7/snowplow-android-tracker/src/main/java/com/snowplowanalytics/snowplow/tracker/android/Util.java#L61-L106
You can also now not import anything google related for those that are not
interested in getting the advertising id.
—
Reply to this email directly or view it on GitHub
https://github.com/snowplow/snowplow-android-tracker/issues/118#issuecomment-108385192
.

I did get to learn a lot about Reflections though!  I had another question about this also, so if this function is run on the main thread it will throw an exception which is probably why Jonathan had a new thread being wrapped around it.
Should I be chucking this function into Rx to ensure that this error does not occur?

Up to you - sounds sensible though...

I will have a play with it and see what I can come up with..

@jbeemster Hey! I been looking into something similar of late. I remember doing this after reading a conversation thread where Keen had solved the same problem from this codebase: https://github.com/adjust/android_sdk/blob/master/Adjust/adjust/src/main/java/com/adjust/sdk/Reflection.java
Although there might be nicer ways to do this now (at the cost of a dependency): https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability#isGooglePlayServicesAvailable(android.content.Context)

Ahh cool!  But I would imagine that even with that dependency we would still need to call all those functions via Reflection anyway with the same try/catch blocks.

If you use public int isGooglePlayServicesAvailable (Context context), I don't think you would need to make use of reflection then (see this SO question).
Thinking about it more from the tracker context, reflection would be a better choice.


Degree requirement feature

Feature request: showing the degree requirements and progress given the courses taken and planned.
This is currently not viable because PPAPI does not have endpoints for degree requirements yet.
Next step: work with PPAPI to create a degree requirement proof of concept.

Endpoints are not up yet but we do have all the data that's needed in some json files. To get started on a degree requirements checklist now, we can implement our own express endpoints that read from these files. Once the public api endpoints are ready, we'll switch over to those.


attempt to fix lint workflow by using a different python version

this workflow currently always fails, because the python version 3.7 is now missing for some reason
Run actions/setup-python@v2
Version 3.7 was not found in the local cache
Error: Version 3.7 with arch x64 not found
The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json

already fixed in #167


Fix keydown event deregistration

Changelog

🐛 Deregister event listeners properly by passing the capture flag/option during removeEventListener

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Enable disable experimental features

Find a simple method to enable or disable experimental features on building N-API stub. On the binding side check if the feature is enabled because it's included int he N-API version or if tis enabled like experimental.

The solution is to pass the following flag: -DNAPI_EXPERIMENTAL compiling the N-API stub and building the add-on from Go.

For development reason I leave the NAPI_EXPERIMENTAL set, but when we pass to create the build process this will be a parameter that we use to dynamically build the stub and the add-on.


Syntaxe fix missing " ; " on line 133

Technically ; does not matter in Lua. I only do it because I prefer it based off my previous language experience.

My dear, first of all, I really appreciate your work; I just pulled it because it reported an error via the console and removed it.

My dear, first of all, I really appreciate your work; I just pulled it because it reported an error via the console and removed it.

What is the error you got? This could in no way produce an error, so I am curious what error you are reporting this was causing.


City parameter is returning numbers at times

Good evening, I have a question, I'm searching for an item "Major Gigantify Potion", the link: https://west.albion-online-data.com/api/v2/stats/prices/T7_POTION_REVIVE is returning citys: [ "3311", "5003"]
There are other items that return ['2333', '4000', '1000', '0', '1335', '5002']
Are these numbers a city? Or is it really bugged?

Technically, the cities are all numbers. There's a number to string conversion that happens for most of the main locations in the data project APIs. https://github.com/ao-data/ao-bin-dumps/blob/master/formatted/world.txt is a list of all the locations and the strings/names associated.


Syntax error - can't find = in "-a." with features enabled

Howdy!
This morning I logged in as usual and rebuilt my dev container but received the following error:
ERROR: failed to solve: rpc error: code = Unknown desc =
failed to solve with frontend dockerfile.v0: failed to solve with
frontend gateway.v0: rpc error: code= Unknown desc =
Syntax error - can't find = in "-a". Must be of the form: name=value

After a bit of messing around with it (trying again using a local dev container to make sure that it wasn't caused by codespaces for some reason) I removed "features" from my devcontainer and attempted to rebuild and it worked fine
See this thread for others that are experiencing this issue

Given the report above, it seems to be a case of not escaping containerEnv properly.  It was likely introduced in https://github.com/devcontainers/cli/pull/392/files#diff-fe757ed747d00188273214482dfeb49fe54d578827ab64f39741e886564ad81bR453

The change in #392 needs to be updated to properly quote and escape env var values as described at https://docs.docker.com/engine/reference/builder/#env. It looks like it's not quoting and escaping today, and spaces in the ENV values is now causing it to break.


Dropdown does not honor orientation, displays in Portrait when phone is in Landscape

Everything works fine in portrait orientation.
When I rotate the device, the StackNavigator I am using rotates just fine, so do the material dropdown fields, but when I try to change the selection, the view rotates back to portrait. Is landscape operation supported?

Thanks for issue and sorry for delayed reply. Released fix in 0.7.2. More details are available in RN issue facebook/react-native#11036.


Chip updates

This also includes some suncity changes

Deleted build_hg38tgen to avoid merge conflicts. Relevant code in this script:
echo "Create 2bit genome reference" >> README
rsync -aP rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/linux.x86_64/faToTwoBit ./
fc -ln -1 >> README
echo >> README
./faToTwoBit GRCh38tgen_decoy_alts_hla.fa GRCh38tgen_decoy_alts_hla.2bit
fc -ln -1 >> README
echo >> README

Pulled chip updates to develop


Make it easier for the users to find what went wrong when a task failed

Right now we just say if a task is successful or failed. We need to way to tell them what went wrong when a task fails.
Checks
Make a task have multiple checks and show the status of each check to the user, including the successful ones.
The output of each task would look like:
PASS Test autocomplete for "sbc"
PASS Test autocomplete for "bangal"
PASS Test autocomplete for "guntur"
FAIL Test autocomplete for "chennai"
    Expected 7 stations: MS, MSC, MAS, MPKT, MPK, MSF, MSB
    Found only 5: MS, MSC, MAS, MPKT, MPK

Or a request to the user site might have failed.
ERROR Test autocomplete for "chennai"
   A request to https://anandology.com/api/stations?q=chennai failed with an internal error.

This information should be stored in the db to be able to show it to the users.
Code Changes
To make this work, we need to have an abstraction for checks. Each check would be a class and that would return a human readable error message when the check fails.
Each task could be a class with checks.
@task("autocomplete")
class TaskAutocomplete:
    """Implement the autocomplete on the home page.

    The autocomplete on the home page to select the from and to stations is
    a dummy implementation. Replace that with a correct implementation.
    """
    checks = [
        CheckAutocomplete("sbc", ["SBC"]),
        CheckAutocomplete("bangal", ["SBC", "BNCE", "BNC", "BJY"]
    ]

Or should we switch to yaml for specifying tasks?
tasks:
  - name: homepage
     title: Enable the homepage
     description: |
        Set `enable_homepage = True` in the `rajdhani/config.py`.
     checks:
         - check_flag:
              flag: "homepage"
  - name: autocomplete
     title: Implement the autocomplete on the home page.
     description: |
         The autocomplete on the home page to select the from and to stations is
         a dummy implementation. Replace that with a correct implementation.
     checks:
         - check_autocomplete:
              q: "sbc"
              expected_stations: SBC

Or create one file for task as markdown with yaml header.
title: Implement the autocomplete on the home page.
checks:
- check_autocomplete:
    q: sbc
    expected_stations:
      - SBC
- check_autocomplete:
    q: bengal
    expected_stations:
      - SBC
      - BNCE
      - BNC
      - BJY
---
The autocomplete on the home page to select the from and to stations is
a dummy implementation. Replace that with a correct implementation.

@nikochiko what do you think?

This would be very helpful!
I think all three are good ways to do it.
YAML/YAML-in-markdown are less verbose, but the tests most likely won't need too many changes once defined.

I'm envisioning a product where people can create new challenges directly from the UI. They can specify each task by writing the title and description and specifying the checks.
Custom checks can be added by specifying an API endpoint.
For example in case of rajdhani-challenge, we'll have to deploy check_autocomplete and check_flag as an API (possibly on hamr).
But for now, I think I'll go with one single yaml file.

Settled with this format.
name: homepage
title: Enable the homepage.
description: |
  Set `enable_homepage = True` in the `rajdhani/config.py`.
checks:
  - webpage_content:
      url: /
      has_text: "
Search Trains
"
---
name: autocomplete
title: Implement the autocomplete on the home page.
description: |
  The autocomplete on the home page to select the from and to stations is
  a dummy implementation. Replace that with a correct implementation.
checks:
  - check_autocomplete:
      q: sbc
      result:
        - SBC
  - check_autocomplete:
      q: bengal
      result:
        - SBC
        - BNCE
        - BNC
        - BJY

@nikochiko


Added Images to Tools Page. (Batch 1)

Added FindrCat
Added Images Links to Frameworks Page

Amazing, thank you!


Handle unknown packets gracefully

Packets that are not handled by Contiv are not handled properly and lead to a crash instead of discarding/forwarding the packet gracefully. In many cases it's because of returning a nil reference to a packet instead of a proper error. Need to fix these paths. This will also involve validating the ofnet path.

Fixed in https://github.com/contiv/libOpenflow/pull/3


Break out all the things

Let me know about adjustments. Upload is tested now. Will obviously squash later.

Added tests for configuration (and flags on cli). However, tests started to fail on iojs 3.0.0. Not really sure what's going on here. The tests work fine if you switch to e.g. iojs 2.5.0


Mollie\Subscriptions\Observer\CustomerLogin\PreventDuplicateSubscriptionProductsInCart relies on observer execution order

Describe the bug
The cart for a customer is only available on the customer_login event after the observer \Magento\Checkout\Observer\LoadCustomerQuoteObserver. Observers do not have an execution order so they can be fired in a different order. When Mollie\Subscriptions\Observer\CustomerLogin\PreventDuplicateSubscriptionProductsInCart is fired before the Magento observer the customer has no cart so a \Magento\Framework\Exception\NoSuchEntityException is thrown.
Used versions

Magento Version number(eg 2.3.5): 2.4.5-p1
Open source/Enterprise/B2b: Open Source
Mollie version number (Check configuration): 1.6.0

To Reproduce
Steps to reproduce the behavior:
After you have purchased a subscription while logged in.

Add a subscription product to your basket
Log into your account
You may see a no such entity with customerId  = ... exception

Expected behavior
A clear and concise description of what you expected to happen.
On log in if a duplicate subscription product is in the cart it should be removed.
Actual behavior
A clear and concise description of what actually happens.
A no such entity with customerId message is generated and the duplicate subscription product stays in the cart.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Hi @Sental ,
We are happy to share that we've just released the new 1.6.1 version where we have fixed this issue. Thank you for opening this issue and for your patience. We are closing this issue now but please feel free to reopen the issue if you need any help on this.


Tool Issues Warning for SPN 12744 not In DM24 for Diesel Engines

Should the issue a warning for diesel engines? Perhaps it should be changed to Info for Diesel and Warn for Gasoline
Required Data Stream SPNs are not supported. SPNs: 12748
Required Data Stream SPNs are not supported. SPNs: 3516, 3518, 7346
FAIL: <IP_ADDRESS>.b - N.2 One or more SPNs for data stream is not supported
FAIL: <IP_ADDRESS>.d - SP 12675 is not included in DM24 response from Engine #1 (0)
FAIL: <IP_ADDRESS>.e - SP 12730 is not included in DM24 response from Engine #1 (0)
WARN: <IP_ADDRESS>.f - SP 12691 is not included in DM24 response from Engine #1 (0)
FAIL: <IP_ADDRESS>.d - SP 12675 is not included in DM24 response from Exhaust Emission Controller (61)
FAIL: <IP_ADDRESS>.e - SP 12730 is not included in DM24 response from Exhaust Emission Controller (61)
WARN: <IP_ADDRESS>.f - SP 12691 is not included in DM24 response from Exhaust Emission Controller (61)
Required Data Stream SPNs are not supported. SPNs: 132
Required Data Stream SPNs are not supported. SPNs: 245, 917
Required Data Stream SPNs are not supported. SPNs: 2659
Required Data Stream SPNs are not supported. SPNs: 12744
Required Data Stream SPNs are not supported. SPNs: 3516, 3518, 7346
WARN: <IP_ADDRESS>.a - SPN not supported in DM24
Required Data Stream SPNs are not supported. SPNs: 74
Required Data Stream SPNs are not supported. SPNs: 101
INFO: <IP_ADDRESS>.a - SPN not supported in DM24
More than one of the SPNs are reported as supported. SPNs: 110, 1637, 4076, 4193
INFO: <IP_ADDRESS>.b - More than 1 SPN supported

Found in Table A1 artifact.


Django 1.9 doesn't perform the migrations

Django 1.9 removes support for automatic loading of initial_data fixtures and initial SQL data. Because of this, it doesn't perform any migrations for django-chunked-upload.

I don't quite get this issue. I don't see any migrations on the code, as it currently is.


fix pyicu import to suppress warnings

Newer versions of pyicu should be imported as
import icu

whereas
import PyICU

will print a warning.
This fix uses the preferred import if available and otherwise falls back to the older name.

This change is

Thanks for the fix


Remove classList to at least not blow up in IE9

This doesn't fix animations, but at least now the library will load.

Thank you @joshuabremer for this contribution, but no, swal2 won't support IE9.
Related issue: https://github.com/limonte/sweetalert2/issues/140

@limonte I'm not actually asking you to support IE9, I'm just changing the code to unofficially provide support for IE9. I'm not asking you to actually support it. My co-worker was about to give up on the library, but we found out that changing that one line made it work in IE9. hasClass is a function you provide that works in all browsers, and you're using it elsewhere in the code. If anything, it actually makes the code smaller.


Extension Bisect for extension developers

I have a problem with an extension, and I want to find out if the problem happens with only that extension, or it happens with that extension when combined with another extension.
Currently this style of Bisect is not possible, where you'd pin an extension as always enabled, then Bisect all the remaining extensions to find out if the pinned extension has the problem without other extensions, or with another particular extension(s).
Could be called "Bisect for Extension Developers" if it can be implemented.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Patch src/replication.cpp to support FreeBSD (remove O_LARGEFILE in open(), like Apple/MacOS)

FreeBSD also does not use O_LARGEFILE - like Apple/MaOS - working on updating / creating the FreeBSD port for databases/keydb to 6.3.1 and discovered this.  The FreeBSD port will contain this patch.   Since there are other ifdefs to accommodate FreeBSD, this seemed to the approperate fix.
https://github.com/Snapchat/KeyDB/blob/aa032d30665d6133073c1c596323414d2b87c8ea/src/replication.cpp#L192-L197
--- src/replication.cpp.orig	2022-06-25 17:43:43.907971000 +0000
+++ src/replication.cpp	2022-06-25 17:54:11.991638000 +0000
@@ -190,7 +190,7 @@
 bool createDiskBacklog() {
     // Lets create some disk backed pages and add them here
     std::string path = "./repl-backlog-temp" + std::to_string(gettid());
-#ifdef __APPLE__
+#if (defined __APPLE__ || defined __FreeBSD__)
     int fd = open(path.c_str(), O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);
 #else
     int fd = open(path.c_str(), O_CREAT | O_RDWR | O_LARGEFILE, S_IRUSR | S_IWUSR);

Merged with change 3cba0e0ba
If possible please make pull requests, in addition to being easier to merge it will give you credit for the change.


v0.63.0 fails if openssl is missing

Issue is back. Seems like due to hyper-tls it now requires openssl.
salvo = { version = "0.63.0", features = ["affix", "basic-auth", "cookie", "compression", "caching-headers", "logging", "jwt-auth", "oapi", "proxy", "serve-static"] }

cargo why openssl
helloworld -> salvo -> salvo-jwt-auth -> hyper-tls -> native-tls -> openssl
helloworld -> salvo -> salvo-jwt-auth -> hyper-tls -> tokio-native-tls -> native-tls -> openssl
helloworld -> salvo -> salvo-proxy -> hyper-tls -> native-tls -> openssl
helloworld -> salvo -> salvo-proxy -> hyper-tls -> tokio-native-tls -> native-tls -> openssl

hyper-rustls not updated for hyper 1.0. We have to wait.

Here is the PR. https://github.com/rustls/hyper-rustls/pull/232

Seems like new version with hyper 1.0 has been released. https://github.com/rustls/hyper-rustls/releases/tag/v%2F0.26.0

Is it possible to release a new version of?

released


filter out groups we can't upload to

FYI this was failing login as an exception was occurring.
This is to cater for the use case that an account it not setup as a data account BUT has upload rights to another linked account.

This works UI-wise but it uploads to the wrong account.
How I tested: created a new local account (Mary Doe) with no data storage. Gave upload permission to Mary Doe for Jane Doe's account. In the uploader, the dropdown only shows me Jane Doe, as the changes on this branch are intended to do. I uploaded to Jane Doe, went to refresh in blip - nothing. Then I went and set up a data storage account for Mary Doe (which really already existed, just wasn't marked as active or whatever). And voila! Mary Doe magically has data (because that's where it went when I tried to upload to Jane).
P.S. This branch also needs an update from master - there have been a few small changes.

@jebeck should be good to go now - tested locally and all worked as expected

How did you test locally @jh-bate? I still get the exact same undesired result with the testing situation I described in my previous comment... (Logging in as Mary Doe, who has signed up only to receive Jane Doe's invitation to view & upload on behalf of Jane and does not have her own data storage set up.)
Digging a little deeper into the code changes now to understand what's not behaving...

closing this as it has been super-seeded by https://github.com/tidepool-org/chrome-uploader/pull/122


fix(rust): register secure channels recreated from db

register them after recreated, on the secure channel registry

Thanks for debugging that!


glfw.GLFWError when running locoeval.py or  ./envs/DMCVGB/test/env_test.py

Hello, @gemcollector,
I'm trying to reproduce the locomotion results illustrated in Figure 18. The model is obtained by running train.py and the task is unitree stand. When I'm running the locoeval.py, the following problem is occurred:
Traceback (most recent call last):
File "locoeval.py", line 70, in evaluate
obs = env.reset()
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/dm_control/suite/wrappers/action_scale.py", line 94, in reset
return self._env.reset()
File "/home/zhqin/RL_ViGen/envs/DMCVGB/dmcvgb/wrappers.py", line 90, in reset
return self.env.reset()
File "/home/zhqin/RL_ViGen/envs/DMCVGB/dmcvgb/wrappers.py", line 213, in reset
obs = self.env.reset()
File "/home/zhqin/RL_ViGen/envs/DMCVGB/dmcvgb/wrappers.py", line 329, in reset
return self._greenscreen(self.env.reset())
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/gym/wrappers/time_limit.py", line 26, in reset
return self.env.reset(**kwargs)
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/gym/wrappers/order_enforcing.py", line 18, in reset
return self.env.reset(**kwargs)
File "/home/zhqin/RL_ViGen/envs/DMCVGB/dmc2gym/dmc2gym/wrappers.py", line 199, in reset
obs = self._get_obs(time_step)
File "/home/zhqin/RL_ViGen/envs/DMCVGB/dmc2gym/dmc2gym/wrappers.py", line 140, in _get_obs
obs = self.render(
File "/home/zhqin/RL_ViGen/envs/DMCVGB/dmc2gym/dmc2gym/wrappers.py", line 215, in render
return self._env.physics.render(
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/dm_control/mujoco/engine.py", line 216, in render
camera = Camera(
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/dm_control/mujoco/engine.py", line 709, in init
if self._physics.contexts.mujoco is not None:
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/dm_control/mujoco/engine.py", line 540, in contexts
self._make_rendering_contexts()
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/dm_control/mujoco/engine.py", line 523, in _make_rendering_contexts
render_context = _render.Renderer(
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/dm_control/_render/glfw_renderer.py", line 40, in init
super().init(max_width, max_height, executor.PassthroughRenderExecutor)
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/dm_control/_render/base.py", line 63, in init
ctx.call(self._platform_init, max_width, max_height)
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/dm_control/_render/executor/render_executor.py", line 138, in call
return func(*args, **kwargs)
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/dm_control/_render/glfw_renderer.py", line 51, in _platform_init
self._context = glfw.create_window(width=max_width, height=max_height,
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/glfw/init.py", line 1168, in create_window
return _glfw.glfwCreateWindow(width, height, _to_char_p(title),
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/glfw/init.py", line 628, in errcheck
_reraise(exc[1], exc[2])
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/glfw/init.py", line 52, in _reraise
raise exception.with_traceback(traceback)
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/glfw/init.py", line 607, in callback_wrapper
return func(*args, **kwargs)
File "/home/zhqin/anaconda3/envs/rl-vigen/lib/python3.8/site-packages/glfw/init.py", line 820, in _handle_glfw_errors
raise GLFWError(message)
glfw.GLFWError: (65543) b'GLX: Failed to create context: BadLength (poly request too large or internal Xlib length error)'
Have you ever encountered this problem? How can I solve it?

Hi, there! I haven't met this issue before. I am not sure whether you could install glfw==1.12.0 to solve this problem. Otherwise, you should check the libglfw, mesa, OpenGL, etc, these kinds of apt dependencies.

I annotate the import wrappers.dmc as dmc in locoeval.py, and it works. But I don't know why. Whatever, thanks for your reply!


fix: reset connecting state on close wallet modal

Summary
On the wallet page and confirm swap, if we click on a wallet logo, it remains in the connecting mode, when we close the connecting modal, the wallet should change from connecting to disconnecting mode.
Fixes # (issue)
How did you test this change?
After clicking to connect the wallet, do not close the main window of the wallet,
so that it remains in the connecting mode.
Then you can close the conecting modal.
After close connecting modal, Wallet should be disconnected.
Checklist:

[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Implemented a user interface (UI) change, referencing our Figma design to ensure pixel-perfect precision.

LGTM. Can we have the same logic for connecting wallet's modal in the swap details page as well?


Topics: final updates and add blog post announcement

(Only review final three commits.  This is based on a version of #244 that has itself been rebased on master.)
This makes three changes to the website:

Updates the topic indexes with the latest links to our content
Activates the change to the site header, (1) moving Newsletters and Blog to Publications and (2) putting Topics in the header
Adds a blog post announcing the topics index

ACK cd1546bd6e0d13e5cb4be6dbc69563dee708642a
I've reviewed the last three commits and checked all links. Great stuff as always, @harding. Thanks for your hard work on this.

rebased on master: https://github.com/bitcoinops/bitcoinops.github.io/compare/9510ba8ef3debb8708fd97555d9ac405906f3190..ba7b696e998b9d19bb37db520dee711742692852

rebased on master: https://github.com/bitcoinops/bitcoinops.github.io/compare/4ca92c6ec70564cbd85441fb4b396a71849a6ba0..451bf047d592e533367334e52926b6938d6fcc3a


Refactor some of aggregation functions to use the new function registry.

Summary of the changes / Why this improves CrateDB
Checklist

[ ] Added an entry in CHANGES.txt for user facing changes
[ ] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

retest this please

reterst this please


Revisit parse_options and parse_error

The current parse_options (and the associated parse_error) has a few things that are no longer relevant.

failure_mode: A parse error should not have a failure mode of any significance. Skipping over a token is dangerous at best. However, an extraction error can logically have on_error::fail_immediately and on_error::collect_all options (on_error::ignore seems deeply misguided)
max_failures: No longer relevant.
string_encoding: Remove encoding::cesu8
number_encoding: Remove entirely -- allowing leading zeros is confusing in the first place
comma_policy: Remove entirely -- treating trailing commas as whitespace is dangerous and slows the parser down
max_structure_depth: Keep.
require_document: Keep.
complete_parse: Keep, but without a tokenizer, things get hairy.
comments: Keep.

Change parse_error into something that ASTs can utilize. A huge amount of time is wasted in detail::parse_context::next tracking lines and columns (~15%), even though this is barely used. Beyond that, having multiple problems is more of an error with serialization than parsing (parsing can go awry quickly).


Fix prometheus-mixin dashboards to use grafanaDashboards

Updating to the latest version of this prometheus-mixin, I found that it doesn't show up in my Grafana.
Instead of using grafanaDashboards+:: the mixin currently uses dashboards+:: which is wrong.
The confusion is probably coming from the original Monitoring Mixin Design Doc which first talks about dashboards+:: and then further down actually uses grafanaDashboards+:: (search for Proposed Schema).
Here are a few examples using grafanaDashboards+:::
kubernetes-mixin
etcd-mixin

lgtm


Translation fi

Finnish translation added to locales. Thanks.

Thanks a lot for this work!
We don't have an active need for Finnish on GOV.UK - is this something you need in your own project?

You're welcome - I did not contribute this for my personal projects, just wanted to contribute this in case you have a need for Finnish localization of GOV.UK site. =)

Thanks for clarifying @Newman101 - we don't have a need for Finnish right now so I'm going to close this. If it should come up I'll be sure to reopen this PR!


delete damageged file from watch

How to modify antfs-cli to remove the damaged file from
watch Forerunner 610. Garmin Express synchronizes every time a corrupted
file 1989-12-31_01-00-00001_1_65535.fit from the root folder.

I hit this issue too, and did not find a way to recover. I've finally reset the watch.
It fails even using Garmin official tool on windows.

Master reset does not correct the problem

Weird this, so it downloads this file on the official tool as well. Have you tried a firmware upgrade?


Guava

Can you remove the need for Guava as a dependency? It adds 1+Mb to the final jar and it's not really necessary for this library.

Hey, I guess we removed the whole bukkit dependency. But, 1.2.7 version has already bukkit dependency(also guava). The dependency removed from master branch. You can clone and install the project.

Thanks


[RTL Support] RTL languages look weird when using default dialog

I suggest adding either a default check in the package or exposing something for the developer so he can flip the direction of the dialog, snackbar, etc..

Will look at this when I get some time and figure out what to expose.

Okay great 🚀

please let know of any progress on RTL support, rtl languages can't be properly implemented in snackbars

@rockz1999 there's no progress. We haven't looked at it since it was filed. You're welcome to check what's needed and make a PR. This is a very low priority at the moment.

Closing until I can get an example with steps to reproduce and what's required from us to fix it. Will re-open when provided


Update meme_generator.py

Replaced manual path separator with OS's path separator by detecting the OS.

Looks great 😍
Hope you are enjoying your journey 🚆  with OpenGenus


[resolves #755] Use javax.el.api provided by wildfly

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/530/
Test PASSed.