[RFC] Template prototype using jinja2 templating engine

Sorry for this, my bad, I had to create a new pull request:
This is an continuation of https://github.com/zephyrproject-rtos/zephyr/pull/10873
Goal
To propose the jinja2 template engine as an alternative to the COG
based solution proposed for code generation.
Rationale
The version of COG proposed to be used in Zephyr is a highly modified
version of the original COG implementation. Which means that we can
not leverage future improvements made to COG or contribute our own
modifications back to COG.
This commit https://github.com/evenl/zephyr/commit/d8c986c9bfc2f207adc31d7e16b91e32e753ea92
shows what code can be removed by using a jinja instead of a COG base solution
The Jinja2 engine however can be used as a pip package dependency
without modifications.
COG is more or less straight forward python which means that a generator
must more or less be written for each case. Which means that even the
simplest things will need a lot of boiler code just to output something.
Example:
Data in is “dev_name”
Cog:
/**
 * @code{.codegen}
 *
 *     codegen.outl(“#ifndef {}_INCLUDE_H”.format(dev_name))
 *     codegen.outl(“#define {}_INCLUDE_H”.format(dev_name))
 *
 * @endcode{.codegen}
 */

Jinja2:
    #ifndef {{ dev_name }}_INCLUDE_H
    #define {{ dev_name }}_INCLUDE_H

TODO:
The Jinja2 implementation is on par with what is currently implemented using the COG
solution. But because the COG solution give the user the ability to directly write
python code directly in the template there may be a need to develop some custom filters/
helper functions for the jinja2 solution.
This code is based on this code https://github.com/galak/zephyr/tree/EDTS which is not
yet in master.
Other advantages:
    * Big active community
    * Standardized and documented (http://jinja.pocoo.org)
    * Has been in development for a long time with multiple stable releases
    * Extensive enough to be a one-stop-shop for all code generation in the Zephyr project

Codecov Report

Merging #10957 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #10957      +/-   ##
==========================================
- Coverage   53.32%    53.3%   -0.02%
==========================================
  Files         215      215
  Lines       25908    25908
  Branches     5711     5711
==========================================
- Hits        13815    13810       -5
- Misses       9772     9777       +5
  Partials     2321     2321

Impacted Files
Coverage Δ

subsys/logging/log_core.c
76.05% <0%> (-2.35%)
:arrow_down:

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 58058ee...2749df8. Read the comment docs.

Yes, sorry for that whole thing, it was late, I was not sure what I was doing ;)

What board do you try this out on?
When I try to build disco_l475_iot1 I get:
[galak@spiff build]$ cmake -DBOARD=disco_l475_iot1  ..

...
-- Will generate for target drivers__spi
--  from '/home/galak/git/zephyr/drivers/spi/spi_ll_stm32_device_template.h'
--  to   '/home/galak/git/zephyr/samples/hello_world/build/zephyr/drivers/spi/spi_ll_stm32_device_template'
-- Configuring done
CMake Error in ../../drivers/spi/CMakeLists.txt:
  Cannot find source file:

    /home/galak/git/zephyr/drivers/spi/spi_ll_stm32_device_template.h

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx

CMake Error: Cannot determine link language for target "drivers__spi".
CMake Error: CMake can not determine linker language for target: drivers__spi
-- Generating done
-- Build files have been written to: /home/galak/git/zephyr/samples/hello_world/build

I have not kept the SPI driver up to date with the latest changes, only the I2C driver is currently working. I'll update the SPI driver when I am done with the current update.

ooks like the ISR logic needs some improvement. The existing code looks like:

That one was working before, something probably happen when I changed to the EDTS api, I'll fix it.
Yes, it support the ifdef logic, it will render the correct IRQ_CONNECT lines based on the information in the DTS data. I think it is just reading the wrong field for some reason.

That one was working before, something probably happen when I changed to the EDTS api, I'll fix it.
Yes, it support the ifdef logic, it will render the correct IRQ_CONNECT lines based on the information in the DTS data. I think it is just reading the wrong field for some reason.

We probably need some enhancements to the EDTS Device API around IRQs.  We're going to need more logic in gen_irq_connect macro to handle the various cases:

There are no IRQs in the dts but we pass IRQ params to the device macro
How do we associate IRQ function name w/IRQs (we need to support both by DTS index & DTS interrupt-names)
How do we handle cases like shared IRQ - We should be able to tell by the # of IRQs or name in the driver specific template

From a build perspective I approve of the concepts proposed in this RFC.
There is still some work to do, and I hope that this RFC can
be approved in reasonable time so we can turn this into a PR
and get to work.

Curious about doing the template rendering at cmake cfg time (ie cmake -DBOARD=foo) vs make/ninja time.  @carlescufi mentioned that if we do it at make/ninja time we get the benefit of parallelism.  However, curious if we should be aiming to invoke python once for all the files that need to get generated.  Also, what's the build dependency if we touch a template file like between the two options?

However, curious if we should be aiming to invoke python once for all the files that need to get generated.

We should not be aiming for this.

Also, what's the build dependency if we touch a template file like between the two options?

Doing this at Configure-time would mean that we would need to re-run CMake when a template is touched. Whereas doing this at build-time would mean that we would need to re-run the specific generator and re-compile any C files that depend on the generated file.
So doing this at configure-time would be significantly slower.

I think I have resolved all comments for now

Documentation guidelines are here: https://docs.zephyrproject.org/latest/contribute/doc-guidelines.html

@evenl I updated the topic-EDTS branch, can you rebase on it.

I was wondering if there is any progress regarding this topic? I think all questions/change requests has been addressed.

@erwango : Hi, I see you are registered as a NACK. Can you re-asses your review?

Hi, @galak if you could approve this RFC we can consider the RFC to be approved. We will then remove the RFC tag and rebase it onto the topic-EDTS branch as a PR.

Hi, since there have been several approvals I am going to consider this RFC approved.
@evenl : You may now remove the RFC tag and begin preparing this so that it can be reviewed again as a PR and then merged.

@SebastianBoe

.. and then merged.

Is that decided we're using jinja2 instead of codegen or other ? Have I missed something?

Is that decided we're using jinja2 instead of codegen or other ? Have I missed something?

Yes, that is what this RFC is for and what you have approved.
The implementation is still up for review.

RFC is no longer considered to be approved due to misunderstanding.
Further review will be required ...


Incorrect dependency

The line about adding apache http client into gradle.build is not correct. Should be changed by the whole gradle.build file shown below it.

This is a really easy fix (add 5 to httpclient), so I'm going to add the good first issue label and see if someone would like to pick it up as a way to get started on contributing to Spring.


setup wizard "advanced"

Is it necessary to have an "advanced" option on the first page of the setup wizard?  I think it unnecessarily complicates the process:

no information is given about which step(s) are "advanced".   (by experimentation, it looks like the "advanced" step is the PATH-selection)

if I'm correct, then the "advanced" step will generally be filled-in automatically (if the CLI is in the path).  If the CLI cannot be found, then I think it's important to issue a warning.  Either way, a "beginner" user should not skip this step!
I see that if you don't have the CLI and do not select "advanced", then you are automatically taken into the "select the CLI location" screen.  In GUI terms, the top "4 steps" silently turns into "5 steps".  This is unnecessarily confusing.

Basically, I suggest that the "advanced" should be always enabled, and the option should be removed from the title page.

Closed for now.


Detect when agent is added in application classpath

Agent is required to be loaded in the bootstrap classloader to ensure proper visibility of agent classes to the instrumented classes.
In practice, it's quite common that some setup issues trigger ClassNotFoundException with agent classes. This happens for example with some OSGi classloaders that do not delegate to bootstrap classloader unless they are configured to do so.
Given ClassNotFoundException symptom is often associated to add an extra missing jar to your classpath in an almost Pavlovian way to every Java developer, it's quite common that users try to add the agent jar to application classpath.
However, as agent jar is not a regular jar, this will cause more trouble than the initial issue, as some agent classes will be loaded in the wrong classloader and will create hard to diagnose issues.
Thus, we should be able to detect such setup errors at runtime and warn end-user of such issues with a proper error message. Optionally, we could even make the agent self-disable.
Heuristic / Implementation proposal(s)

instrumentation with an empty advice that matches on ElasticApmAgent and checks whether the class loader is neither the System CL nor the bootstrap CL.

Another heuristic that we could use to detect when agent is in the application classpath is the following:

when agent is not packaged (in tests), then don't enforce anything
when agent is packaged (could be detected by presence of agent META-INF/MANIFEST.MF in classpath), then we could easily check if GlobalTracer class is being loaded in the expected classloader: either bootstrap CL, or check the agent CL type when (and if) there will be such.

I like this proposal, let's do it!


Re-build human genome annotations with GDC fasta

Changes

Rebuilt hg19 and hg38 annotations with the GDC reference fasta, which includes additional sequences. These are stored in a shared location for use in other pipelines too: /data/CCBR_Pipeliner/db/PipeDB/GDC_refs/
Copied files to FRCE: /mnt/projects/CCBR-Pipelines/db/GDC_refs

See the snakemake workflow here for how these were built: https://github.com/CCBR/build-renee-refs
Issues

Resolves #129
Resolves #138
Resolves #128

PR Checklist
(~Strikethrough~ any points that are not applicable.)

[x] This comment contains a description of changes with justifications, with any relevant issues linked.
[x] Update docs if there are any API changes.
[x] Update CHANGELOG.md with a short description of any user-facing changes and reference the PR number. Guidelines: https://keepachangelog.com/en/1.1.0/

Running tests.
Submitted
RENEE_REPO=/data/CCBR_Pipeliner/Pipelines/RENEE/renee-dev-sovacool
for genome in $(ls $RENEE_REPO/config/genomes/biowulf/ | grep hg |  sed 's/.json//'); do
    $RENEE_REPO/bin/renee run \
        --input $RENEE_REPO/.tests/*.R1.fastq.gz \
        --genome $genome \
        --mode slurm \
        --output /data/$USER/renee_test_$genome \
        --sif-cache /data/CCBR_Pipeliner/SIFS \
        &> /data/$USER/renee_shell.${genome}.out
done

Job status

for f in $(ls | grep renee_shell); do genome=$(echo $f |  sed 's/renee_shell\.//' | sed 's/\.out//'); jobid=$(grep master $f | sed 's/.*: //'); echo "| $genome | $jobid |  |"; done

genome
slurm id
status

hg19_19
31994530

hg19_36lift37
31994535

hg38_30
31994547

hg38_34
31994560

hg38_36
31994162

hg38_38
31994566

hg38_41
31994570

hg38_45
31994583

@kopardev this is ready for your re-review


Max number of tickets...

Is this set at 10? I looked and don't think I am able to change either category so that people could buy more than 10 tickets for example. Can we up this to 20? Or we have "get in touch if you need to book more than 10 tickets"

increase to 20 for now.


Data set issues

Downloaded the dataset, unzipped it with an error that prevented it from being unzipped, only 00 could be unzipped, the later ones could not be unzipped

Run cat ShapeNetViPC-Dataset.tar.gz* | tar zx. Refer to https://github.com/Hydrogenion/ViPC for more detailed operation

I was unable to download the dataset from the mentioned link
It asks for login and requires a Chinese phone number for registration
Is there any new link for the dataset ?
email<EMAIL_ADDRESS>

Sorry, we don't have the permission to publish the dataset elsewhere. You can get in touch with the author of ViPC.


Update OkHttp 3.3.0 -> 3.3.1

Below is the CHANGELOG:
https://github.com/square/okhttp/blob/master/CHANGELOG.md#version-331

LGTM! Thanks!


Pathway list timed out from genome group

Only 88 genomes, and PATRIC bailed on me....

Hmmm....but then after I went back on page and loaded it again..it seemed to work.

I think this is essentially  a duplicate of #1048

I tested with 121 genomes and works.


Home assistant restart fails with SyntaxError

The problem
I noticed that after installing the component through HACS, I am no longer able to restart home assistant.
The problem seems to be caused by pymiele pulling in asyncio from PyPI and then on the next start homassistant loads this instead of asyncio from the standard library.
Could you please remove the dependency to asyncio from https://github.com/astrandb/pymiele/blob/main/setup.py#L46 and publish a new version? According to the documentation, this package is only meant to be used with Python 3.3 (https://pypi.org/project/asyncio/). On newer Python versions, it's fine to rely on asyncio being available in the standard library.
Version of miele integration having the issue?
0.1.15
Version of Home Assistant Core having the issue?
2023.9.3
Anything in the logs that might be useful for us?
Traceback (most recent call last):
  File "/lsiopy/bin/hass", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/__main__.py", line 171, in main
    args = get_arguments()
           ^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/__main__.py", line 81, in get_arguments
    from . import config as config_util
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/config.py", line 20, in <module>
    from . import auth
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/auth/__init__.py", line 4, in <module>
    import asyncio
  File "/config/lsiopy/lib/python3.11/site-packages/asyncio/__init__.py", line 21, in <module>
    from .base_events import *
  File "/config/lsiopy/lib/python3.11/site-packages/asyncio/base_events.py", line 296
    future = tasks.async(future, loop=self)
                   ^^^^^
SyntaxError: invalid syntax

Additional information
No response

Thank you for reporting and tracking down this problem. I have not seen this problem before so there must be somehing specific to your installation that triggers the error.
I will follow your advice and adjust pymiele accordingly. However, I need your help to verify that the new version works before releasing a new version of the integration.   Please patch the requirement in custom_components/miele/manifest.json to pymiele==0.1.7

Thanks for the quick response. I can confirm that it works now as expected!
Would you mind also pushing the pymiele tags also to github? The last available is 0.1.5b1.
I'm not sure what's special about my setup. I'm using a containerized version of home assistant with Python 3.11 and have the Python virtual env on a volume so that a restart of home assistant is faster because it doesn't need to reinstall all Python packages. Maybe that's the reason others were not affected.

Release tag v0.1.7 added to pymiele. I will update the requirement in the integration in next release.


[Bug]: k8s release optimizer error

What happened?
After creating the optimizer in k8s, an error occurs when resources are released.
the error is :

Click again to release the error-reporting null pointer.

k8s pod is not deleted.

Affects Versions
0.6.0
What engines are you seeing the problem on?
Optimizer
How to reproduce
No response
Relevant log output
No response
Anything else
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

It seems that the image can't be pulled correctly, so pod can't be deleted correctly.

看上去是无法正确拉取镜像，所以无法正确删除pod。

The optimizer pod has been started in k8s and can run, indicating that the image has been pulled down. What image are you referring to?

@upczsh尝试版本 0.7 可以获得拉取镜像吗？

Thank you, I tried 0.7 and successfully released the pods.


Feature: Home Assistant Integration

https://developers.home-assistant.io/docs/creating_component_index

Hello !
Thanks for your work !
I have 2 chihiros eggs and your tool is working ! (even if it has only 2 ilghts (red and green)
I can probably help on the home assistant integration.
I have few questions for you

how do you want to do it ?

as official integration, in the home assistant core source code ?
as a third part integration, usable with hacs ?

In this case, where do you want to put the code of this integration ?

in this repo ?
in another repo ?

Thanks again !

Hi, I think we can add it in this repo as a third party integration with hacs

i cant wait for the addon in home assistant

Hello !
I have an alpha first version of a custom integration which is working with my 2 tiny terrarium eggs !

@TheMicDiet Do you want to create a new repo ? Then I could push my code there to let people testing it. Once you did it, let me know, I will do a PR to add Chihiros icon/logo to the home assistant brands repo.
For now, I have some doubts how the code will act with other Chihiros lights...
Also, do you know if the Chihiros lights are only RGB (and RB for tiny terrarium eggs) ? or there are some models RGBW/RGBWW ?
Thanks !

Hi @titilambert, afaik, there are lights that are RGB, RGBW as well as single color (white) only.

@TheMicDiet @kingunlim I need your opinion:
I have 2 tiny terrarium eggs which are exposing ONLY red and green. So this is only RG of the RGB.
Should I create an RGB light entity in HA or two BRIGHTNESS lights (one for red, the other for green) ?
And I have the same question for any other Chihiros lights. I mean, for this kind of light, we do not care about the colour of the light, but we want to control each colour individual light (one red, one green, one blue, maybe one or two white)?
Thanks for your answers.

Hi @titilambert, I have no RGB light so it doesn't really matter to me. However, if you ask me, it would make sense to have separate controls for each color, as long as it doesn't get too complicated. Feel free to implement as you prefer it.

@TheMicDiet @kingunlim I need your opinion:
I have 2 tiny terrarium eggs which are exposing ONLY red and green. So this is only RG of the RGB.
Should I create an RGB light entity in HA or two BRIGHTNESS lights (one for red, the other for green) ?
And I have the same question for any other Chihiros lights. I mean, for this kind of light, we do not care about the colour of the light, but we want to control each colour individually (one red, one green, one blue, maybe one or two white)?
Thanks for your answers.

so i have a chihiros wrgb2 so individual controlls would be very nice.
but im not entirely sure what can be possible?
in the app there are scenes and so on, but when i can activate the light and the last set light in the app is loaded that would be great enough, i thing a gradual shift is hard to make? so i mean when home assistant turn on the light maybe the light slowly turns to a specific percentage. (but as i write i think a automation can do this also?) thank you guys for your work!

Ok ! So I will do one monochrome light entity per colour. It will not be more difficult !

@titilambert
awesome, im curious, can i already add the addon in home assistant via hacks?

Not yet, we have to make te repo hacs compatible. I never did that since I'm using hacs...

alright i asume you mean you dont use hacs?
so then i will wait for an option to install it via homeassistant via an install option.
can you please write again if there is a option to install? best regards and thx again

Sorry, I confirm I do not use hacs.
To help you I need to know more about your HA installation. Can you give me more details ?
Or if you can wait few more days I should be able to make it hacs compatible.

of corse no problem i can wait till you are ready 👍

Hello ! my fork/branch is ready for a first HACS test: https://github.com/titilambert/chihiros-led-control/tree/ha_integration
I do not know how you can put a git repo URL and branch in HACS, but here is the info I can give:

repo url: https://github.com/titilambert/chihiros-led-control.git
branch (or release): ha_integration

Let me know if you have any questions/issues/comments !
Note: this will change when it will be merged to this repo

i dont know but i think something is wrong

maybe this is the problem? https://github.com/hacs/integration/issues/2754

@kingunlim did you had a chance to select the ha_integratoin branch ?
If not, this error is completely normal.
Let me know, and I will do something to get my main branch working

im sry i dont know how i coild do that?
normaly i go in hacs and select user repository and the i insert the url an choose the category like this:

@kingunlim can you retry ? I just merged on my main branch. Just try with:

repo url: https://github.com/titilambert/chihiros-led-control.git
branch: main

yes, now its working ;)

so, now i must learn to make the right actions to turn the lights on and off,
when im in the app i can akticate the light and then i goes for example 70 white 70 red and 70 blue, now in your integration i must activate all channels manually?
or do you plan to update the integration for better communication with for example the wrgb2?
best regards!

Hello! First thanks for testing it ! I'm happy it is now working for you.
In fact, the app keeps some “profiles” about each color, like a shortcut.
I don't think I can do that in the integration since it will be different for each user.
So I would recommend creating a group of light, see https://www.home-assistant.io/integrations/group/#binary-sensor-light-and-switch-groups.
With that, I guess you will have the behavior you want to turn on/off the light quickly.


Facebook profile picture of locked accounts

If a user has his/her account locked, when using the extension the profile picture gets generated very small.
Is it possible to update the extension so that it displays the profile picture of locked account in full resolution ?

same thing here, please update


try running ctest to build ci tests

Run CTest after successful builds

Closed since CTests cannot pass since "no ROCm-capable device is detected" for CI


Feature request: Allow setting working directory for container jobs to allow DooD (docker outside of docker) correct path mapping on host

Agent Version and Platform

Agent version: 2.213.2
OS of the machine running the agent: Linux:ubuntu-latest

Azure DevOps Type and Version

dev.azure.com: https://dev.azure.com/NHSGGC/MDU

What's not working?
A feature request & maybe a bug:

I'd like to set the working directory of my container jobs to something else than the currently unchangeable /__w/1/s folder. Ideally map it to the same as the host /home/vsts/work/1/s. I'd be best if I could change it for all jobs and / or scripts.
Bug?: The workingDirectory option of a script: doesn't change the container's working directory and will always start at /__w/1/s. I would have expected that option to change the container's working directory

Looking at the volumes mounted in the container, I see that the working directory is set by a file from this repository here:
https://github.com/microsoft/azure-pipelines-agent/blob/ceb7d6cb16b0460c38fbb14c65a85f313cc8e88b/src/Misc/layoutbin/containerHandlerInvoker.js.template#L11
Can it be made, somehow, a user-changeable parameter please?
Use case:
Docker compose volumes allows to mount folder using a relative path. As explained in your doc, Mounting volumes using Docker within a Docker container means if running a docker compose file within a container job, the mounted paths need to exist on the pipeline host, not on the container.
Example:
Let's name:

'host': the pipeline host (here ubuntu)
'build-container': the container started by the container job. It shares the docker socket of the 'host' by default (and that's what I want)
'dood-app-container': the "docker outside of docker" container started inside the 'build-container' that will actually run with from the 'host' docker daemon

This means with a compose file like such started by the 'build-container':
service:
  dood-app-container:
    # [...]
    volumes:
      - ./bar_folder:/opt/baz

Given the working directory of the 'build-container' is /__w/1/s, it will try to mount /__w/1/s/bar_folder into the 'dood-app-container' at /opt/baz. Yet since this is using the 'host' docker daemon, the source path needs to map to a folder on the 'host', which it doesn't. It only exist at /home/vsts/work/1/s/bar_folder.
If the working directory of 'build-container' could be changed to /home/vsts/work/1/s then I'd be fine!
Workaround:
I'm having success with this: My workaround at the moment is to mount the host working dir in the resources: definition and to cd to the right folder in all my scripts where I use docker-compose:
resources:
  containers:
  - container: build-container
    image: foobar.azurecr.io/builder:unstable
    endpoint: SomeRegistry
    volumes:
      - "/home/vsts/work/1:/home/vsts/work/1"

jobs:
- job: Setup
  container: build-container
  steps:
  - script: |
      echo PWD is
      pwd
      # prints '/__w/1/s'  -> I need an option for it to be '/home/vsts/work/1/s' instead
     cd /home/vsts/work/1/s
     docker compose up

It's not ideal as it means we'll have to never forget this annoying cd /home/vsts/work/1/s line
I do not want to change our docker-compose.yaml files to prefix all relative path with an environment variable. I'd like to avoid changing our source code to accommodate for an Azure quirk.
Failed attempts:

Using a script's workingDirectory option. I suspect that only affects the host, no the container. But it's not clear in the doc and it should change the container's working directory in my opinion.
Changing Azure env vars like AGENT_BUILDDIRECTORY: the relevant ones are read only.
Changing the stdinData.workDir in /__w/_temp/containerHandlerInvoker.js: looks like it's read only or reset in between script:

Background:
We're trying to move from Jenkins to Azure DevOps at work. Instead of creating an Azure virtual machine image and having to figure out how to spawn custom EC2-like agents on Azure (like we do for Jenkins agents on AWS), I'd like to be able to do Docker outside of Docker and run our Makefiles (which build/test/deploy docker apps) inside a container.
I hope this is clear : ) Thanks!

Hi @paul-ri, thanks for your request!
We've added this issue to our backlog. We'll take a look at it once we have enough capacity.

This is also needed for correct function of testcontainers with volumes: https://www.testcontainers.org/supported_docker_environment/continuous_integration/dind_patterns/

Still very much needed. We've had to add some workarounds where we use a template for our Ci jobs that injects code in steps that are scripts to change the working directory:
parameters:
- name: buildStep
  displayName: "Step to be run"
  type: step
  default: []
- name: useDockerBuilder
  displayName: 'Use custom docker builder image'
  type: boolean
  default: false
- name: workingDirectory
  displayName: 'Working directory of the step'
  type: string

steps:
  - ${{ each field in parameters.buildStep }}:
      ${{ if ne(field.key, 'inputs') }}:
        ${{ field.key }}: ${{ field.value }}
      ${{ else }}:
        inputs:
          ${{ each input_field in field.value }}:
            ${{ if eq(input_field.key, 'script') }}:
              script: |
                if [[ ( '${{ parameters.useDockerBuilder }}' == 'True' ) && ( '${{ field.target }}' != 'host' ) ]]; then
                  # Default working directory is '/__w/1/s'
                  cd /home/vsts/work/1/s/${{ parameters.workingDirectory }}
                fi
                ${{ input_field.value }}
            ${{ elseif not(and(parameters.useDockerBuilder, eq(input_field.key, 'workingDirectory'))) }}:
              ${{ input_field.key }}: ${{ input_field.value }}

It'd be good to have workingDirectory attribute at job level too.

Still needed and still using workarounds mentioned above. It's not great to do complex things in YAML, but it works.

A new workaround and a new behaviour change request in that comment:
@jack1902 , what volumes have you mounted on your container?
I'm having a problem where the host user is not vsts, as I've been given an agent that runs on a ubuntu VM.
Meaning the assumption I was making for a cloud agent are not valid anymore: paths & usernames are different.
Your solution sounded great for me, unfortunately, the workspace gets cleaned when checking out the code; and I can't easily inject your step that create a file in the right place.
So as a new workaround (to what already is a workaround): I'm saving the current path in a variable!
Problem is, the variable value created on the host, is changed when read back on the container. That's really not what I would have expected. I'd like to suggest this is documented clearly or removed.
Here's the example illustrating the issue: 1st step creates variables on the host, 2nd steps prints them on the host, 3rd prints them on the container (and are modified by Azure DevOps)
  steps:
    - script: |
# The value will be changed by Azure when in the container
        echo '##vso[task.setvariable variable=host_working_directory;]$(pwd)'
# The value will be changed by Azure when in the container, despite the suffix
        echo "##vso[task.setvariable variable=test_0;]$(pwd)AAA"
# The value does NOT get changed by Azure when in the container, thanks to the prefix
        echo "##vso[task.setvariable variable=test_1;]AAA$(pwd)"
# The value does NOT get changed by Azure when in the container, thanks to being encoded
        echo "##vso[task.setvariable variable=test_2;]$(bash -c 'pwd | base64')"
# Getting trouble using this despite being copied from the doc
        echo "##vso[task.setvariable variable=myOutputJobVar;isoutput=true]this is the same job too"
      displayName: 'Saving host working directory'
      target: host
    - script: |
        echo "Agent.BuildDirectory: $(Agent.BuildDirectory)"
        echo "Build.SourcesDirectory: $(Build.SourcesDirectory)"
        echo "host_working_directory: $(host_working_directory)"
        echo "test_0: $(test_0)"
        echo "test_1: $(test_1)"
        echo "test_2: $(test_2)"
        echo "test_2 decoded : $(echo $(test_2) | base64 --decode)"
        echo "setOutput.myOutputJobVar: $(setOutput.myOutputJobVar)"
      displayName: 'Checking variables on host'
      target: host
    - bash: |
        echo "Agent.BuildDirectory: $(Agent.BuildDirectory)"
        echo "Build.SourcesDirectory: $(Build.SourcesDirectory)"
        echo "host_working_directory: $(host_working_directory)"
        echo "test_0: $(test_0)"
        echo "test_1: $(test_1)"
        echo "test_2: $(test_2)"
        echo "test_2 decoded : $(echo $(test_2) | base64 --decode)"
        echo "setOutput.myOutputJobVar: $(setOutput.myOutputJobVar)"
      displayName: 'Checking variables on Docker'

Variable values on the host
Variable values on the container

So I'm storing the current working directory on the host in variable but encoded with base64 and decode it in the container.
And these are the volumes I'm mounting in the container. It's not ideal
        volumes:
          # 'vsts' is the default user in Azure pipelines default cloud agent
          - "/home/vsts/work/1:/home/vsts/work/1"
          # Our VM hosts are setup with a 'locadmin' user
          - "/home/locadmin:/home/locadmin"


Brush cursor implementation using an overlay

Fixes/Closes
Closes #5712, #5756
It also provides means to fix the mouse shaking in #5753
Description
The implementation of the brush circle cursor using an overlay (based on @brisvag's overlay example).  It should completely match the behavior and appearance of the previous Qt-based cursor. The implementation is ready, it remains to comment the code, maybe add some tests.
Type of change

[X] Bug-fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)

How has this been tested?
Final checklist:

[X] My PR is the minimum possible work for the desired functionality
[ ] 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
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

@brisvag Please take a look at the implementation of the overlay and let me know if you have any concerns about it.

Note that this will be affected by the canvas performance, while a qt cursor would not... Meaning that if the vispy canvas lags, the cursor will too. Not a deal breaker IMO, but worth noting.

I don't think it's a big deal considering the fact that the brush cursor is used to draw and when you draw the FPS of draw updates are already limited by the FPS of canvas.

I think it can actually even improve the user experience :smile:. When you draw on not very large images and your FPS can reach the maximum of 60 (that's what I have on my systems) because with that implementation the visualization of the cursor perfectly matches the draw updates. In the Qt implementations, when you draw the brush trace is always slightly lagging behind the cursor, which may look laggy and cause some annoyance.

should we aim (either here or in a followup PR) to always use overlays for canvas cursors? Would simplify the logic a lot.

This could be good - do we use alternative cursors outside of labels?

@brisvag I managed to isolate all of the mouse movement logic inside the VisPy overlay. The logic within the class may appear to be a bit complicated, however it tackles the following edge cases:

When you move the mouse outside the canvas, the brush cursor becomes invisible (fixes the issue @psobolewskiPhD mentioned)
When you press the spacebar and move the canvas and then release it, the brush cursor appears in its correct position. That's why I'm saving _last_mouse_pos.
Only when the mouse is over the canvas does the brush cursor become visible. It prevents appearing the brush cursor when you choose the brush on the toolbar.

This PR was ported to the refactored QtViewer and VispyCanvas.

I have an issue: hen you enter the canvas, the cursor first jumps where the last position was, so there must be something wrong with the logic there.

@brisvag Unfortunately, the issue comes from the imperfect design of the mouse event handling and it goes out of the scope of this PR. It comes from the following facts:

When the mouse is not over the canvas, VisPy and ViewerModel do not receive any mouse events. So the last position that it can remember is the last position when it was on the canvas.
When you move the mouse on the first pixel of the canvas (as in your video), VisPy do not send any mouse events at all, but the viewer sends the mouse_over_canvas event. So, it is impossible to get the new position of the cursor when you get the very first mouse_over_canvas event. It will update the position when you move your mouse over the second pixel.

But I don't think that this issue is a big deal as you need to do it on purpose to reproduce (you need to be very careful to move the mouse only on the first pixels of the canvas to no trigger the mouse move event).

You could simply remove mouse position when the mouse leave canvas, and do not use overlay until you have both mouse over canvas and position

You could simply remove mouse position when the mouse leave canvas, and do not use overlay until you have both mouse over canvas and position

It won't work like that because mouse_over_canvas triggered only once when the mouse is over the canvas and if you do not make the node visible at this moment, it will remain invisible as this callback won't be triggered anymore.
P.S. I tested it, and it just leaves the cursor invisible. In theory, it can be fixed, but it requires also complicating the logic of the mouse_move callback to check if the overlay is visible and the node is not visible and make it visible if not, but I don't like that. The code complication just do not worth fixing this bug that actually a bug of something else (why the mouse move event is not triggered when the mouse is on the canvas for the first time?)

@Czaki I've found a workaround for this issue, but it is a bit hacky. Instead of resetting last_pos when the mouse leaves the canvas we can just set it to some position obviously out of the canvas (e.g. something like (-1000, -1000)), then the brush will not be present on the canvas at the moment when mouse_over_canvas is triggered:
So, this code fixes the issue:
    def _on_mouse_over_canvas(self):
        if self.viewer.mouse_over_canvas:
            self._set_position(self._last_mouse_pos)
            self.node.visible = self.overlay.visible
        else:
            self.node.visible = False
            self._last_mouse_pos = -1000, -1000

@brisvag @Czaki  I'm a bit hesitant to include this code, but if it is ok with you, I can add it.

Actually, it is enough only to set the brush position to (-1000, -1000) when mouse_over_canvas = True is triggered without changing last_pos:
    def _on_mouse_over_canvas(self):
        if self.viewer.mouse_over_canvas:
            self._set_position((-1000, -1000))
            self.node.visible = self.overlay.visible
        else:
            self.node.visible = False

It works for me without any at least noticeable issues.

@ksofiyuk the hacky workaround works for me if it's explained briefly and a link to this PR is provided

I agree, this workaround is good enough; better than seeing that little "jump", which indeed not a big deal but still a bit jarring.

(why the mouse move event is not triggered when the mouse is on the canvas for the first time?)

Good question, but I agree it's out of scope.

_on_mouse_over_canvas and _on_mouse_move. I have suggestions above to remove the first and make the second callable without event. I didn't test them though so maybe I'm missing something.

@brisvag I'm not sure why this is the case that _on_mouse_over_canvas and and even more so _on_mouse_move should be added to reset. I've never seen that anyone calls callbacks in reset. Resetting the object is meant to set its internal states back to the original ones (as if you just created the object from scratch), these callbacks don't reset any states. Moreover, the result of calling_on_mouse_over_canvas in reset will depend on the viewer.mouse_over_canvas, which is not the behavior of reset you expect.

And if you want to reset self._last_mouse_pos, then it is enough to just add self._last_mouse_pos = None (which is the default state of the _last_mouse_pos, not (-1000, -1000)) to the reset method. I can't see any reason to call callbacks for that, they should not do resetting.

Even calling _on_visible_change in reset is not correct, as its result also depends on the self.viewer.mouse_over_canvas, which is incorrect behavior for resetting.

I added the workaround for the bug  described by @brisvag with the reference to this PR.

I made brush_circle_overlay private in ViewerModel by changing its name to _brush_circle_overlay. I'm against removing the property as I think that referring to it as self.viewer._overlays['brush_circle'] is not only bad code style, but also makes working with this code more difficult if you use IDE with autocompletion as they can't make suggestions (at least PyCharm) regarding the keys of a dynamically created dictionary.

I added self._last_mouse_pos = None to the reset method. I don't see any reasons why there should be other callbacks called, especially when it requires changing the behavior of callbacks to do something that are not supposed to do (like adding processing event==None in the mouse move callback, if Qt and VisPy doesn't do that why should we do it?). Maybe I'm missing something and if someone could point out a situation when not calling them would lead to some unexpected behavior or some bugs then I would be happy to add them.

Thanks @ksofiyuk - merging here! 🚀


Riak TS is versioned incorrectly [JIRA: RIAK-2550]

This should be 2.1.1:
https://github.com/basho/riak/blob/riak_ts-1.3.0/rel/reltool.config#L5
Riak EE:
https://github.com/basho/riak_ee/blob/riak_ts_ee-1.3.0/rel/reltool.config#L5

@ooshlablu

[~lbakken] - In previous releases we set this to the TS version, e.g., 1.2.0.  Are you sure we need 2.1.1? I know for client capabilities this would be useful to be 2.1+
[posted via JIRA by Brett Hazen]

@javajolt we definitely need the same version as Riak EE: 2.1.1

[8:18 AM] Luke Bakken: It is fixed in the 1.3.1 tag: https://github.com/basho/riak/blob/riak_ts-1.3.1/rel/reltool.config
[8:18 AM] Luke Bakken: Let me make sure it's fixed in the right branch too
[8:19 AM] Luke Bakken: Yep, looks to be fixed https://github.com/basho/riak/commit/3f1a80bab659e844a12ddb21f25d9084e0af0940#diff-ee46c4f44a5bbed6a...
[posted via JIRA by Derek Somogyi]

[~lbakken] Sheeeeit.  OK. Then I just broke it with recent merges because I thought previously we had been using the TS numbering system, but Github tells me I'm delusional.  I'll fix.
[posted via JIRA by Brett Hazen]


Uri encoding for local filenames.

Kodi couldn't play http-served files with spaces or other special characters in their names. It turned out that it was easy to fix by simply URI encoding the filename so that a valid link is created.
The else branch seems to be using URIs already, so i didn't touch it, I assume those are already properly encoded.

This looks good to me, but i would like to know if @Upabjojr  has something to add, given that this was his code originally.

Only ?number={...} really matters on the file selection. Filename may be anything, it's just what you want Kodi to show.

Do you think this problem can occur on https://github.com/xbmc/Kore/pull/710/files#diff-d809a4ce9bf44d49ddbe142ebff36c8fR168 as well?

Do you think this problem can occur on https://github.com/xbmc/Kore/pull/710/files#diff-d809a4ce9bf44d49ddbe142ebff36c8fR168 as well?

i don't think it can, because it already is a URI so it should be properly encoded already.
I didn't really know how to debug it since I didn't know what to do in Kore to get to the else branch. So I didn't touch it like i mentioned in the pull request msg (encoding a URI twice would break things most likely).

You should be able to trigger the else branch if you share a file from an external application to Kore.

You should be able to trigger the else branch if you share a file from an external application to Kore.

ah I see. It turned out that the else branch needed the same treatment despite the fact that it was already dealing with URIs. Added commit 0dc1ae6


installer: Fix back level Intel TSS configure issues for Ubuntu groovy

The first configure issue was reported here.  The recommendation
was to try 2.4.x, as 2.0.x is no longer supported.  This should
be tested against keylime 'next' builds for compatibility.
https://github.com/tpm2-software/tpm2-tss#2066
The second configure issue was reported here.  The recommendation was
to disable building of the man pages, because 2.4.x expects an older
version of doxygen.
https://github.com/tpm2-software/tpm2-tss#2067

Aslo see the cp -r issue report in https://github.com/keylime/keylime/pull/649

@mpeters I think is can be closed because most issues that this PR addresses are fixed in the current installer.sh script.


Fixed a few typos.

Fixed some typos.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Congrats @33eyes on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


Fetching real time accelerometer data for Fusion

Can accelerometer data be fetched in real time for Fusion? I am trying to automate the image taking process so that the interval between each picture taken would depend upon what speed I am traveling at.

Did you figure it out? I am also wondering about it.

HenryKang1,
I pivoted my application to be mobile web-based, this has allowed me to utilize the phone's accelerometer with JavaScript instead of relying on data from the GoPro which would've been nice. I am not aware if something similar can be done with python. Here is a YouTube video I used as a reference.

HenryKang1,
I pivoted my application to be mobile web-based, this has allowed me to utilize the phone's accelerometer with JavaScript instead of relying on data from the GoPro which would've been nice. I am not aware if something similar can be done with python. Here is a YouTube video I used as a reference.

Thank you for application. I want to apply Gopro for VIO so I just want to check gopro provide the imu data wirelessly.


Issue Didn't solved #1505

Hi @argakiig
I think you didn't answer that, dont make this in the loop. I check the issue there in #1519 which make me again redirect to #1505.
Please solve the issue atleast at one position
Originally posted by @prateektiwari7 in https://github.com/nanocurrency/raiblocks/issues/1505#issuecomment-450627105

@argakiig
I already posted this issue in #1505 and #1519. But I think you make them in loop without solving them.
Can you please check the issue #1505 and solve it .
Thanks @argakiig

@prateektiwari7 Also closing this as a duplicate of #1505. We will be looking at your issue through ticket #1505, please look for updates there instead of creating new tickets.

Hi @zhyatt
Thanks for sharing the message. I am looking for feedback now on #1505.


golang not work same as description in language reference information

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go 1.7 and current.
What operating system and processor architecture are you using (go env)?
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\repos
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
In Section Selectors of language reference,
For example, given the declarations:
...
var t T2     // with t.T0 != nil
var p *T2    // with p != nil and (*p).T0 != nil
var q Q = p

But When print out p and q, it's value is nil.
I do not certain if i can report this issus here. Because I think the golang works reasonable and it more likely the issue of language reference information of golang.
What did you expect to see?
Fix the Go Language Reference.
What did you see instead?
var p *T2    // with p != nil and (*p).T0 != nil

When the spec says
var t T2 // with t.T0 != nil

it means set t to a value of type T2 such that t.T0 != nil is true.  It does not mean that the exact code that appears in the spec should be executed.
Closing because I don't think there is anything to change here.


Laravel Sail fails to build laravel.test service

Sail Version: 1.8.2
Laravel Version: 8.48.2
PHP Version: 8.0.6
OS: Windows running WSL2 Ubuntu 20.04

Description:
sail up fails building laravel.test service by this error:
Building laravel.test
[+] Building 217.8s (9/16)
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 2.43kB                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load metadata for docker.io/library/ubuntu:21.04                                                                                3.4s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 906B                                                                                0.0s
 => [ 1/12] FROM docker.io/library/ubuntu:21.04@sha256:a30456233740024b9d297f5bcaa7439446a97bc59b25cadcdae829c334827945                                                                                3.8s
 => => resolve docker.io/library/ubuntu:21.04@sha256:a30456233740024b9d297f5bcaa7439446a97bc59b25cadcdae829c334827945                                                                                0.0s
 => => sha256:3e2d1c03542857d58a3cae774cad57f863543c683f444da46126220e343c359f 31.84MB / 31.84MB                                                                                1.6s
 => => sha256:a30456233740024b9d297f5bcaa7439446a97bc59b25cadcdae829c334827945 1.20kB / 1.20kB                                                                                0.0s
 => => sha256:13dc7df85a3315882644746ae501acdbf40e96d2f4c1df0032cc18f10a2e0c50 529B / 529B                                                                                0.0s
 => => sha256:093da574621da4e7c9f9560f7a929e3e8e26de6a15096630ec874669a5f89427 1.46kB / 1.46kB                                                                                0.0s
 => => extracting sha256:3e2d1c03542857d58a3cae774cad57f863543c683f444da46126220e343c359f                                                                                2.0s
 => [ 2/12] WORKDIR /var/www/html                                                                                0.1s
 => [ 3/12] RUN ln -snf /usr/share/zoneinfo/UTC /etc/localtime && echo UTC > /etc/timezone                                                                                0.3s
 => [ 4/12] RUN apt-get update     && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2     && mkdir -p ~/.gnupg     && chmod 600 ~/.gnupg     && echo "di  209.3s
 => ERROR [ 5/12] RUN pecl channel-update https://pecl.php.net/channel.xml     && pecl install swoole     && pecl clear-cache     && rm -rf /tmp/* /var/tmp/*                                                                  0.5s
------
 > [ 5/12] RUN pecl channel-update https://pecl.php.net/channel.xml     && pecl install swoole     && pecl clear-cache     && rm -rf /tmp/* /var/tmp/*:
#8 0.465 PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in /usr/share/php/PEAR/Config.php on line 2095
------
executor failed running [/bin/sh -c pecl channel-update https://pecl.php.net/channel.xml     && pecl install swoole     && pecl clear-cache     && rm -rf /tmp/* /var/tmp/*]: exit code: 255
ERROR: Service 'laravel.test' failed to build : Build failed

Steps To Reproduce:
After installing Sail on the project and adding mariadb through php artisan sail:install you do sail up (with proper alias pointing to vendor/bin/sail)
Then docker starts building all docker-compose.yml services and stops because this line:
#8 0.465 PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in /usr/share/php/PEAR/Config.php on line 2095

Please provide the correct Sail version.

I can't find Sail version I installed in a Laravel 8 Jetstream starter project with php artisan sail:install. No clue about to find version anywhere. Can you help me providing this? Thanks you

Check your composer.lock file

I just got the latest Dockerfile, tried to build and got the same error.

Please provide your exact Sail version

        "name": "laravel/sail",
        "version": "v1.8.2",

@paulomanrique are you on Windows as well?

Updated issue with the correct Sail Version 1.8.2 on my laravel project.
I want to clarify while I am working on windows I am actually working on WSL2 Ubuntu 20.04 filesystem

@driesvints MacOs Apple Silicon.

@paulomanrique I can run latest Sail just fine on macOS. Are you both sure you've destroyed all related Docker containers and volumes and tried from scratch?

Just installed WSL2 and Docker, tried to create a new laravel sail project and got the same error. Don't think it's a problem with Docker containers/volumes because I did a clean install and still got the error

I experienced this exact same issue on MacOS with 1.8.2, downgraded to 1.8.1 and containers built with no issues.

We've reverted the changes for now in v1.8.3. Thanks all for reporting.

Now I'm getting this:

#7 197.9 Setting up nodejs (16.4.0-deb-1nodesource1) ...
#7 198.0 Processing triggers for man-db (2.9.1-1) ...
#7 198.1 Warning: apt-key output should not be parsed (stdout is not a terminal)
#7 198.3 gpg: no valid OpenPGP data found.
#7 198.3 Segmentation fault

It looks like an issue with the Yarn's public PGP...

For me sail build, sail up and npm on thebproject is working right now, ¿how is it going bad on your build?

From: Paulo Manrique @.>
Sent: Wednesday, June 30, 2021 1:51:14 AM
To: laravel/sail @.>
Cc: mrcbns @.>; Author @.>
Subject: Re: [laravel/sail] Laravel Sail fails to build laravel.test service (#173)
Now I'm getting this:
#7https://github.com/laravel/sail/pull/7 197.9 Setting up nodejs (16.4.0-deb-1nodesource1) ...
#7https://github.com/laravel/sail/pull/7 198.0 Processing triggers for man-db (2.9.1-1) ...
#7https://github.com/laravel/sail/pull/7 198.1 Warning: apt-key output should not be parsed (stdout is not a terminal)
#7https://github.com/laravel/sail/pull/7 198.3 gpg: no valid OpenPGP data found.
#7https://github.com/laravel/sail/pull/7 198.3 Segmentation fault
It looks like an issue with the Yarn's public PGP...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/laravel/sail/issues/173#issuecomment-870992368, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABBN47JGWTGTFRPRNH52LQLTVJL7FANCNFSM47QYKFAA.

Yeah, it's so weird... If I remove the lines to install Yarn from the dockerfile, it works.

So, your Dockerfile is not "stock" from sail installation, isn't it?

From: Paulo Manrique @.>
Sent: Wednesday, June 30, 2021 4:30:31 AM
To: laravel/sail @.>
Cc: mrcbns @.>; Author @.>
Subject: Re: [laravel/sail] Laravel Sail fails to build laravel.test service (#173)
Yeah, it's so weird... If I remove the lines to install Yarn from the dockerfile, it works.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/laravel/sail/issues/173#issuecomment-871049925, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABBN47I6JV3DQGXCQUI6RL3TVJ6UPANCNFSM47QYKFAA.

It is. I just tried to fix the Yarn part and removed it to check if everything else was working.

This a Pear/PECL problem. PHP8 no longer supports the type of code used in the php-pear distribution. It's old code no longer compatible: none of the apt packages fix it.

This a Pear/PECL problem. The PEAR library included with the Ubuntu distribution is very old. To fix it, make sure you have the latest version.
Add this to the Dockerfile after the PHP block:
    && wget http://pear.php.net/go-pear.phar \
    && php go-pear.phar \
    && pecl channel-update pecl.php.net \

This and adding wget at top solves the problem 👍

composer install
./vendor/bin/sail build
[...]
E: Failed to fetch http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php8.0/php8.0-mysql_8.0.12-1%2Bubuntu21.04.1%2Bdeb.sury.org%2B1_amd64.deb  Connection timed out [IP: <IP_ADDRESS> 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
ERROR: Service 'laravel.test' failed to build: The command '/bin/sh -c apt-get update     && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2     && mkdir -p ~/.gnupg     && chmod 600 ~/.gnupg     && echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf     && apt-key adv --homedir ~/.gnupg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E5267A6C     && apt-key adv --homedir ~/.gnupg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C300EE8C     && echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu hirsute main" > /etc/apt/sources.list.d/ppa_ondrej_php.list     && apt-get update     && apt-get install -y php8.0-cli php8.0-dev        php8.0-pgsql php8.0-sqlite3 php8.0-gd        php8.0-curl php8.0-memcached        php8.0-imap php8.0-mysql php8.0-mbstring        php8.0-xml php8.0-zip php8.0-bcmath php8.0-soap        php8.0-intl php8.0-readline php8.0-pcov        php8.0-msgpack php8.0-igbinary php8.0-ldap        php8.0-redis php8.0-swoole php8.0-xdebug     && php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer     && curl -sL https://deb.nodesource.com/setup_$NODE_VERSION.x | bash -     && apt-get install -y nodejs     && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -     && echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list     && apt-get update     && apt-get install -y yarn     && apt-get install -y mysql-client     && apt-get install -y postgresql-client     && apt-get -y autoremove     && apt-get clean     && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*' returned a non-zero code: 100

Run this: docker system prune --force. It will probably free up GBs of disk space.
Then make sure that you are installing the php-xml extension as well as the php8.0-xml extension whilst you're at it.

Hi, I've been having a lot of problems with Laravel sail to run up my  Laravel projects, some times I'd uninstall docker completely and reinstall it newly, but now I've removed the composer.lock and did run composer update after that I'd run sail up -d and I resolved.

Well even I did pretty much everything what's written here, like updating composer and sail after deleting composer.lock just not work by itself. I had to move files under /vendor/laravel/sail/runtimes to /docker folder as described and worked successfully with docker-compose build --no-cache or preferably sail build --no-cache and then docker-compose up or sail up.

@fozoholiver1 - I received the error that the repositories were not available yet but that was because on my Windows system the time was not correct because I have been bouncing around time zones. Once I updated the Windows system time that issue went away for me. Although I am still seeing 403 forbidden errors in the same area. What is confusing to me is that if I break up the command and run it manually on the system each of the commands seem to work. But a fresh install under Windows following the instructions on Laravel documentation still continue to fail.

Run this: docker system prune --force. It will probably free up GBs of disk space.
Then make sure that you are installing the php-xml extension as well as the php8.0-xml extension whilst you're at it.
It solved my build issues after Sail upgraded as part of the Laravel 9 upgrade.

Thanks! System prune helped!

Solution that worked for me:
Steps to Reproduce:

Run the command curl -s https://laravel.build/example-app | bash
(your path) ./vendor/bin/sail up
(your path) ./vendor/bin/sail artisan migrate
3.1 (for me this is the command that results in the error: service "laravel.test" is not running)

Fix That Worked for Me:

Go to Docker Desktop and delete the container related to Laravel.
Run in the WSL 2 Ubuntu terminal: sudo apt update && sudo apt upgrade
Restart both the WSL 2 Ubuntu terminal and Docker Desktop.
Run in the WSL 2 Ubuntu terminal ./vendor/bin/sail up
The terminal now displays "Laravel.test-1 | INFO Server running on..."
I Accessed localhost, but it shows an error related to SQLSTATE.
so I returned to the Laravel Sail documentation, which says:

Once the application's Docker containers have started, you should run your application's database migrations:
./vendor/bin/sail artisan migrate
Finally, you can access the application in your web browser at: http://localhost

After performing the database migration, go back to the localhost in the browser and update the page
for me this fixed the problem and now localhost works correctly


Whitespace in string values is collapsed to single space character

What's the rationale behind collapsing any stretch of whitespace to a single space character for values of type string?
I can imagine some trimming might be useful (?) but I'm not sure why it should be impossible to enter multiple spaces?
It becomes more problematic when I have a custom input component rendering a string value with textarea. The user cannot enter any newlines since they are replaced by a space character, but that's sort of the point of rendering the textarea.
(There's also the replacement of the unicode soft hyphen which I don't really have a problem with, but I'm not sure why it's done.)

Good points! The normalization done on strings should probably be configurable. Or alternatively, we could just leave them as the user types them and make any desired normalizations the responsibility of the caller.


feat(toml): Warn on unset Edition

What does this PR try to resolve?
On Internals, the idea came up for warning on unset Edition.
Besides helping people who forget to set the Edition, this creates symmetry between Cargo.toml and cargo scripts (#12207).  While the default is different in each case, we are making the default obvious and guiding people away from it.
How should we test and review this PR?
There are separate commits for adding tests (and refactors) so the changes in behavior will be more obvious
Additional information
This builds on

#13499
#13504

Given edition 2015 is quite old, I assume most people won't be flooded with this error messages. If it turns out to be a real problem, we can consider revert.
@bors r+

:pushpin: Commit 768c70a744429f678a7cd6e88e9670f833e5e58f has been approved by weihanglo
It is now in the queue for this repository.

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing f772ec0224d3755ce52ac5128a80319fb2eb45d0 to master...

Is it possible to silence this warning to the workspace contains a crate that have rust-version < 1.31?
I don't think this warning is useful at all for crates with MSRV lower than 1.31, as adding the edition will break the MSRV.

I don't think this warning is useful at all for crates with MSRV lower than 1.31, as adding the edition will break the MSRV.

That sounds reasonable. However the edition field predates rust-version. How can Cargo determine MSRV when there is no rust-version set?

However the edition field predates rust-version. How can Cargo determine MSRV when there is no rust-version set?

rust-version field is just ignored on old rustc. This means a crate with old MSRV can have rust-version field. For example: https://github.com/serde-rs/serde/blob/v1.0.179/serde/Cargo.toml#L14

rust-version field is just ignored on old cargo.

Isn't this the same as setting edition = "2015" for those package on old caroges? Also, does it make sense that a package supports old MSRV than its edition settings? For example the author only uses Cargo-specific edition features but not Rust compiler's.
Yet I understand that Cargo should be smarter to infer edition for those on old MSRV. Need to think more on it.

Isn't this the same as setting edition = "2015" for those package on old caroges?

edition = "2015" causes an error on some old versions (e.g., 1.27). See also an example in "Caveats" section in https://github.com/rust-lang/rust-clippy/issues/6324.
$ cat Cargo.toml
[package]
name = "repro"
version = "0.1.0"
edition = "2015"

$ cargo +1.27 build
error: failed to parse manifest at `/Users/taiki/projects/tmp/repro/Cargo.toml`

Caused by:
  editions are unstable

Caused by:
  feature `edition` is required

this Cargo does not support nightly features, but if you
switch to nightly channel you can add
`cargo-features = ["edition"]` to enable this feature

Most previously unstable fields have similar properties (e.g., https://github.com/rust-lang/cargo/issues/10954), but the rust-version field is special and is implemented in a way that it does not cause such errors in any version.
https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field

The first version of Cargo that supports this field was released with Rust 1.56.0. In older releases, the field will be ignored, and Cargo will display a warning.

does it make sense that a package supports old MSRV than its edition settings?

(Assuming you are talking about a crate like: MSRV is 1.20 but the edition is 2018.)
I don't think it makes sense because the only time it doesn't cause an error is when building with a very old cargo (pre-1.27), and it is just ignored.
Also, specifying MSRV older than edition in rust-version causes an error.
https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field

The rust-version must be equal to or newer than the version that first introduced the configured edition.


Does elastic java agent provide method hotspot and breakdown metrics

Do we get method breakdown stats for java methods withtime spend in CPU, Synchronization,Garbage collection,File I/O ,Object wait,ect? if so how do we enable in java agent?

Garbage collection stats are collected and presented in the JVMs tab in the APM UI.
The others are not available.
We do have future plans to be able to provide some of those, but it is not on the short-term roadmap.
We typically use GitHub issues for verified bugs, enhancement requests etc. For general questions, please use our forum instead.

Thanks


Fix unclickable snapshots in snapshot tree

The new improvement in app/assets/javascripts/miq_dynatree.js causes the snapshots to be un-clickable because miqOnClickSnapshotTree was not part of the "whitelisted" functions.
Added it to whitelist.

@miq-bot add_label darga/no, ui, bugs

@himdel please review

LGTM, indeed a missed function to whitelist..
Verified both the PR introducing the whitelist (#9943) and the PR introducing the new function (#9071) are darga/no
Merging.


chore(readme): add ultimate rxjs course reference

Description:
Add Ultimate RxJS course reference to references page. :)
Related issue (if exists):

Honestly I very mixed feelings about this. I kind would prefer not to recommend paid content. By thinking about that I also noticed that we have thinkster as a reference with a paid course and I am also not super happy about this.
I will think about that and come back to you.

Hey @niklas-wortmann! My thought is it would be nice to have all available resources on the site to make the barrier to entry smaller, paid or unpaid. Ultimately it's each developers decision whether they want to invest in training or use the free resources, but I know when I was getting started it would have been nice to have a comprehensive list to choose from to at least speed up my research. This is similar to the Angular.io education section .
Let me know what you think, thanks!

@niklas-wortmann I think I agree with you. At least that it makes me a little uncomfortable.  My understanding was that the Thinkster stuff did have some free content. Perhaps we should ask that everyone always have at least some free content available in order to keep their link? (If that's the case, we need to document this somewhere and link it from that list)
On one hand, more resources are a good thing, paid or unpaid. On the other hand, I'd hate for the barrier to entry for RxJS end up being financial. That's not good.
I'll mark this as an Agenda Item and we can discuss it at a team meeting.

There's also a strange boundary around this. I've never used the site to advertise a workshop or paid material I've done. However, we did use it to promote rxjs.live, which was paid. But that was also the first ever "community event".
We probably just need to establish and agree on some policies here.

However, we did use it to promote rxjs.live, which was paid.

But if there hadn't been technical issues with the recordings, all of the talks would have been available for free afterwards.

I'm also against promotion of paid courses in OSS docs. Authors of paid courses are benefiting from the hard work of contributors. It goes against the spirit of open source, imo, which is the pursuit of knowledge to advance humanity. Making a living educating is great, but I don't feel docs are a good venue to promote it. As a potential contributor I'd feel like I'm working to make someone else rich, rather than the pursuit of knowledge to advance humanity /rant

We discussed the whole situation and the core team agreed on deleting the resource page entirely. I am really sorry that it took so long to come up with a decision, but we don't have enough time to maintain the resource page properly. Feel free to reach out to me, if you need further elaborations, but therefore I am going to close this pr.


[WIP][KYUUBI #915] Renew DelegationTokens for user after user connected to Kyuubi Server

Why are the changes needed?

Due to Spark's limitation, a long running SQL engine must be submitted wtih principal and keytab in order to access secured Hadoop cluster. Turn to Kyuubi, this means before using principal and keytab in JDBC url, keytab files need to be deploy on each host where Kyuubi Servers are running.
The umbrellla issue #913 propsed a new way to enable Kyuubi to launch long running SQL engine without principal and keytab provided and this PR corresponds to the first subtask #915.
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

This PR has been separated into several sub-tasks.


Add ability to search by date, size or other file property

Describe the bug
I am not a programmer. Rather, a simple user. I was trying to use the search feature to search for a file within a certain date range (something I cannot seem to do with Windows 10 file explorer no matter how hard I try or how many advices I read). I do not see any options in the Search feature, except for typing in a name. Where are the Search features, such as, as I mentioned, date-range search? Thank you!

Please don't write description in title, use the template provided

Please don't write description in title, use the template provided

@8888markmax thanks for this report. I took the liberty of moving your description from the title of the issue to the proper place

@8888markmax thanks for this report. I took the liberty of moving your description from the title of the issue to the proper place

@8888markmax what you suggest should be already possible. You can search for files modified in a date range typing in the searchbox e.g.:
date:05/11/2020..08/01/2021

@8888markmax what you suggest should be already possible. You can search for files modified in a date range typing in the searchbox e.g.:
date:05/11/2020..08/01/2021


add dynamic feature for user and item to interaction?

I'm building a TV recommend system. User feature is user_ID+Location, item feature is item_ID+tag+release_time. And in my system, item in different tags may have different time sensitive. For example, users will not watch old news, but old movies will be OK.
When user click/watch a item, I want to add past 5 clicks/watches item IDs to user feature, and (watch_time - item_release_time) to item feature.
So at each interaction, new user feature  will be user_ID+Location+[past 5 clicks/watches item IDs], and new item feature will be item_ID+tag+release_time+(watch_time - item_release_time).
Is there any way to add dynamic feature for user and item to interaction?
One idea is to make user feature and item feature unique for each interaction, if there is N interactions, there will be N users and N items, and interaction matrix will be N*N diagonal matrix. Will this idea work? Or is there any other simple solution?
Thank you.

Hey @cwyalpha ! Great question.
Adding this kind of dynamic information is a bit of a departure from how TensorRec was constructed, but you may be able to make it work.
You could add the past 5 clicks/watches as user features. If you did this, your user feature size would be (num_user_ids + num_locations + num_item_ids). This would allow the system to learn how recently selected content could impact recs for a given user.
Adding (watch_time - item_release_time) would be more complicated -- you'd need to replicate the item for each user who has watched it and set the value in that row to the appropriate value for that user. This could cause the item features to become quite large.
Your intuition about diagonalizing the interactions is correct. This solution may work for you, but could have problems scaling when you have a large number of interactions. This may also break some assumptions for using the sampled loss functions, like WMRB.
If you give this a shot, please let me know! I'd be interested to hear if it was successful for you.
I'll leave this issue open for a few days in case you have more questions.


Bytewise classifier training algorithm does not follow reference paper

From "Extending the Tsetlin Machine With Integer-Weighted Clauses for Increased Interpretability" arXiv:2005.05131:

Quote: As seen in the figure, if the clause output is a true positive, we simple increase the weight by 1. Conversely, if the clause output is a false positive, we decrease the weight by 1.
Tsetlini's bitwise algorithm does it correctly, whilst the bytewise algorithm decrements weights irrespective of clause output.

Reference implementation code (https://github.com/cair/pyTsetlinMachine):
weights decrementation: https://github.com/cair/pyTsetlinMachine/blob/master/pyTsetlinMachine/ConvolutionalTsetlinMachine.c#L320
weights' incrementation: https://github.com/cair/pyTsetlinMachine/blob/master/pyTsetlinMachine/ConvolutionalTsetlinMachine.c#L339


UnifyV2 dependent types regression

Some of the test cases for dependent types don't work in Unify V2. Specifically constant lifting and variable unification is not working.
1 + 1 : [2]

Expected behavior
Test cases should pass, with whatever strategy is chosen for dealing with dependent type variable unification.

The type of + should be a dependent arrow: [(x,y) -> x+y].
There is no reason that dependent types can't have a rich calculus, so long as it is strongly normalizing.

Fixed in #46


test(mempool): add commit block test different leader scenario

This change is

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

Project coverage is 83.38%. Comparing base (9b2069c) to head (46d84bd).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #490   +/-   ##
=======================================
  Coverage   83.38%   83.38%
=======================================
  Files          37       37
  Lines        1776     1776
  Branches     1776     1776
=======================================
  Hits         1481     1481
  Misses        218      218
  Partials       77       77

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


ESP32: delegate interrupt handling into a separate task

This pull request switches the interrupt request handling from a direct ISR into a separate task. This allows the handler more flexibility in how to handle the interrupt, without violating timing limits that may cause lockups or watchdog reboots. For platforms other than ESP32, the behavior of the code has been preserved.

Q
A

Bug fix?
yes

New feature?
no

Doc update?
no

BC breaks?
no

Deprecations?
no

Relative Issues
#

Can you please explain the differences between this and #164 ? Are they trying to achieve the same functionality?
Sorry if we ask but we didn't use much the ESP32

@zrecore Are you available to try out these improvements (this and #177) ? Thank you

I'll have a look on Saturday. 👍
On Wed, Aug 19, 2020, 1:45 PM Michele Biondi<EMAIL_ADDRESS>wrote:

@zrecore https://github.com/zrecore Are you available to try out these
improvements (this and #177
https://github.com/F-Army/arduino-dw1000-ng/pull/177) ? Thank you
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/F-Army/arduino-dw1000-ng/pull/178#issuecomment-676683971,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADIW3G42D4NGCHEUNIPVQ3SBQ2XNANCNFSM4P5M42DA
.

Can you please explain the differences between this and #164 ? Are they trying to achieve the same functionality?
Sorry if we ask but we didn't use much the ESP32

It seems that #164 has the same purpose as my commit. However, my version does not change the library API, and since the task has a higher priority than the ordinary code, it should be less prone to handling delays.

We are closing pull requests with merging conflicts as we are archiving the repo, feel free to create your own fork if you intend to support the project, we will be happy to add a link on this project.


What is the main advantages of scikit-build-core

I am glad that there is such a good project. I hope I could help to develop this project.
I am currently seeking a pybind quickly developing mode.
I am modifying c++ in my pybind11 projects. But pip uninstall and then pip install take a long time.
I would like to know if I can develop c++ codes in pybind11 projects more easily.  Whether this https://github.com/pybind/scikit_build_example can satisfy my goal?

This is planned in #171. Currently, this will completely rebuild from scratch on pip install (you shouldn't need to uninstall). There are two steps: first we need to allow an existing build directory to be reused. Then we need to support editable mode (pip install -e .).

#181 is a big step in the right direction. You can set a reusable build directory, which helps (isolated builds) or fixes (unisolated builds) the caching problem.

#181 is a big step in the right direction. You can set a reusable build directory, which helps (isolated builds) or fixes (unisolated builds) the caching problem.

I appreciate your help! I am learning it.

Going to close this, since there's a list of features over scikit-build classic in the README & docs. Reopen if there's any further clarification needed!


IntSelfie and BooleanSelfie

This is an excellent effort

you grabbed the top thing off the project board
you got it to work

I'm closing it unmerged because it's too far away from the Kotest reference implementation. When we add facets and memoizing, we'll have a very hard time if we don't stay close to the reference.
I think the best thing for you to work on next is implementing this
https://github.com/diffplug/selfie/blob/f1325e86308984401ecc86323f4d2d2e2b4f1d81/python/selfie-lib/selfie_lib/SourceFile.py#L18-L19
Which I think you already mostly did here
https://github.com/diffplug/selfie/blob/main/python/pytest-selfie/pytest_selfie/replace_todo.py
The difference is that now the SnapshotSystem has been wired up the same way it was in Kotest, so you should be able to just move the key lines over / re-examine the Kotlin reference.


Remove duplicate path among composite swaggers

This PR is to fix the issue with the arm-recoveryservices swagger. This is a composite swagger that points to 5 swagger files. The Operations path with 'get' operation is defined in each one of them that causes the autorest core to error out. You will see the following error:
C:\workspace\azure-rest-api-specs>"C:\Program Files\nodejs\node.exe" C:\workspace\autorest\src\core\AutoRest\bin\Debug\netcoreapp1.0\node_modules\autorest-core\app.js -i C:\workspace\azure-rest-api-specs\arm-recoveryservices\compositeRecoveryServicesClient.json -pv 0.10.0 -n Azure::ARM::RecoveryServices -pn azure_mgmt_recovery_services -g Azure.Ruby -o C:\workspace\lib -m CompositeSwagger
FATAL: swagger-document/compose - FAILED
Process() Cancelled due to exception : '$.paths["/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations"].get.parameters' has incomaptible values (---
- $ref: '#/parameters/SubscriptionId'
- name: api-version
  in: query
  description: Client Api Version.
  required: true
  type: string
  enum:
    - '2016-12-01'
- $ref: '#/parameters/ResourceGroupName'
, ---
- $ref: '#/parameters/SubscriptionId'
- name: api-version
  in: query
  description: Client Api Version.
  required: true
  type: string
  enum:
    - '2016-06-01'
- $ref: '#/parameters/ResourceGroupName'
).
Error: '$.paths["/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations"].get.parameters' has incomaptible values (---
- $ref: '#/parameters/SubscriptionId'
- name: api-version
  in: query
  description: Client Api Version.
  required: true
  type: string
  enum:
    - '2016-12-01'
- $ref: '#/parameters/ResourceGroupName'
, ---
- $ref: '#/parameters/SubscriptionId'
- name: api-version
  in: query
  description: Client Api Version.
  required: true
  type: string
  enum:
    - '2016-06-01'
- $ref: '#/parameters/ResourceGroupName'
).
    at Merge (C:\workspace\autorest\src\autorest-core\lib\source-map\merging.ts:64:9)
    at Merge (C:\workspace\autorest\src\autorest-core\lib\source-map\merging.ts:58:23)
    at Merge (C:\workspace\autorest\src\autorest-core\lib\source-map\merging.ts:58:23)
    at Merge (C:\workspace\autorest\src\autorest-core\lib\source-map\merging.ts:58:23)
    at Merge (C:\workspace\autorest\src\autorest-core\lib\source-map\merging.ts:58:23)
    at Object.MergeYamls (C:\workspace\autorest\src\autorest-core\lib\source-map\merging.ts:212:20)
    at Object.<anonymous> (C:\workspace\autorest\src\autorest-core\lib\pipeline\swagger-loader.ts:418:24)
    at next (native)
    at fulfilled (C:\workspace\autorest\src\autorest-core\lib\polyfill.min.js:27:62)
    at process._tickCallback (internal/process/next_tick.js:103:7)

Now with this PR, the issue is resolved and the SDK is generated successfully.

@DheerendraRathor can you please check this PR?

@sarangan12 This will certainly unblock composite swagger generation issue. Also I'll advise to keep operations api in vaults.json as it is the primary spec here ( @dragonfly91 @sonathan please verify this statement).
@sonathan The operations api is not correct here. It needs fix in future. See https://github.com/Azure/azure-rest-api-specs/blob/master/arm-recoveryservicesbackup/2016-08-10/swagger/operations.json

No modification for AutorestCI/azure-sdk-for-python

No modification for AutorestCI/azure-sdk-for-node

 https://github.com/Azure/azure-sdk-for-ruby/pull/797

Hi There,
I am the AutoRest Linter Azure bot. I am here to help. My task to analyze the situation from the AutoRest linter perspective. Please review the below analysis result:
File: arm-recoveryservices/2016-06-01/swagger/backup.json
Number of linter errors/warnings before the PR: 27
Number of linter errors/warnings after the PR: 18
File: arm-recoveryservices/2016-06-01/swagger/registeredidentities.json
Number of linter errors/warnings before the PR: 22
Number of linter errors/warnings after the PR: 13
File: arm-recoveryservices/2016-06-01/swagger/replicationusages.json
Number of linter errors/warnings before the PR: 11
Number of linter errors/warnings after the PR: 2
File: arm-recoveryservices/2016-06-01/swagger/vaultusages.json
Number of linter errors/warnings before the PR: 11
Number of linter errors/warnings after the PR: 2
Thanks for your co-operation.


Reuse single http connection per lambda instance

Currently every time the ingester.py function is invoked an new https
connection is created. In basic testing after the function instance
had been created each request took ~200ms.
Switching out urllib2 for the "requests" library we can then create a
session outside of the main handler function will get re-used.
This dropped the time per request to 20ms and also means less
connections are made to the Humio cluster.

I've been running this for about a week without any errors on a dev account.
The main difference is the drop in execution time:

For us it mean that we were only being billed for 100ms request time (lambda rounds up to the nearest 100ms) rather than 300ms.

Cool. I'll merge

What is the status of this PR? Has it been merged?

Hi @cornet
I would like to merge your PR, but we have updated our license agreement for this project to Apache 2.0 as it didn't have one before, are you still cool with contributing the code?

Yup still happy for this to be merged @Suzanna-Volkov


Balancer blocking other balancers in Hive

If one balancer is triggered, but does nothing, it may block other balancers from executing.

Нужна детализация и консультация @vporyadke


New action request: tj-actions/branch-names

Action name
uses: tj-actions/branch-names
Reasons
tj-actions/branch-names

Intended usage
tj-actions/branch-names

I have checked the internal marketplace for similar actions and couldn't find one that works for us.

[X] I have checked the internal marketplace first

:robot: Found these results:

Check
Results
Links

CodeQL on the forked repo
:white_check_mark:
CodeQL run

Security scan:

Check
Result

No Dependabot configuration found
⛔

No CodeQL Init found
⛔

No CodeQL Analyze found
⛔

:robot: Found these results:

Check
Results
Links

CodeQL on the forked repo
:white_check_mark:
CodeQL run

Security scan:

Check
Result

No Dependabot configuration found
⛔

No CodeQL Init found
⛔

No CodeQL Analyze found
⛔

:robot: Check completed with result: ✅
Found 0 Dependabot security vulnerabilities:
0 where high and 0 where moderate.
Use this link to verify the alerts.


Update Expo SDK

Project needs to be updated to support expo sdk 36 or higher. I attempted this myself by running expo update (updating to v39) though this completed the project still does not run

$ expo start --android
Starting project at C:\Users\chad_gregory\Apps\VueNative\KitchenSink-Vue-Native
Expo DevTools is running at http://localhost:19002
Opening DevTools in the browser... (press shift-d to disable)
error: unknown option `--assetExts'
Metro Bundler process exited with code 1
Error: Metro Bundler process exited with code 1
at ChildProcess. (C:@expo\xdl@58.0.19\src\Project.ts:1596:16)
at Object.onceWrapper (events.js:422:26)
at ChildProcess.emit (events.js:315:20)
at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Upgraded to Expo SDK 40


Remove Panama-SD

Thank you for updating PA, @hchung2 !
Panama-SD corresponds to cases in provinces that have not been identified for some reason, "Sin Determinar."  It's been skipped throughout.
@ml9951 & @hchung2  there may be countries that start reporting cases in new municipalities, provinces or cities as they discover more cases.  Sometimes these places are not listed in the Places.csv file for the country, and we would need to add those new entries.
I'll make a thorough repo check tomorrow and see how the newer merges have been going.
Thank you both for all the help!


php74: 7.4.7 -> 7.4.8

Motivation for this change
Changelog: https://www.php.net/ChangeLog-7.php#7.4.8
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@etu I assume want to backport this to stable (and also the php73/php72 updates), right?

@Ma27 Correct, I will flag all three PR's with that label. Also the security label.

@ofborg build php74

mysqlnd fails to build:
php-mysqlnd> applying patch /nix/store/qah4sfz2p2azgh51xs866igyayjbsix1-mysqlnd_fix_compression.patch
php-mysqlnd> patching file ext/mysqlnd/mysqlnd.h
php-mysqlnd> Reversed (or previously applied) patch detected!  Assume -R? [n]
php-mysqlnd> Apply anyway? [n]
php-mysqlnd> Skipping patch.
php-mysqlnd> 1 out of 1 hunk ignored -- saving rejects to file ext/mysqlnd/mysqlnd.h.rej

@ofborg build php74

@ofborg eval

Thanks! Backported as b2459a1510aeda44e22fc2489205b92f5687917d.


Clarify group type

Please state that these are SharePoint groups and not any other type of group. This will help decrease the chance of confusion.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0c804225-8b1e-f7e7-3baf-825330eeba9c
Version Independent ID: 1f2e229b-dbe4-f408-8f6d-a3e18138e3cb
Content: Get-PnPGroup (sharepoint-pnp)
Content Source: sharepoint/sharepoint-ps/sharepoint-pnp/Get-PnPGroup.md
Service: unspecified
GitHub Login: @techwriter40
Microsoft Alias: kirks

@DeanGross  - thank you for the feedback. For the PnP cmdlets you can add content by updating the source at github.com/sharepoint.
@VesaJuvonen  can confirm and close this one out. Thanks!

Good one @DeanGross : fixed by this PR: https://github.com/SharePoint/PnP-PowerShell/pull/1511

Needed changes have been applied. We'll get the docs updated with the next release. Closing as a fixed issue.


Mobile Data Saver

When using a self-owned SIM Card, Comma 3 is uploading all drives all the time in the background and uses lot of data.
It would be nice to have an option "Upload Videos only via WiFi". Then a SIM with a low data plan would be sufficient.

We already minimize cell data usage for comma prime and only upload the low res logs on cell. If you’d like to upload less on cell, it’s fairly straightforward to make your own changes in the uploader.


API crashed

The API seems currently unavailable, it returns the following error :
{
  "errors": [
    {
      "message": "invalid json response body at https://jsonplaceholder.typicode.com/posts/1 reason: Unexpected token \u003c in JSON at position 0",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "post"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "exception": {
          "name": "FetchError",
          "message": "invalid json response body at https://jsonplaceholder.typicode.com/posts/1 reason: Unexpected token \u003c in JSON at position 0",
          "type": "invalid-json"
        }
      }
    }
  ],
  "data": {}
}

Hi, thanks for reporting this.
The API is up again now.


feat: Add ListFetch and ListPushFront

This adds two list data structures, enough to establish a pattern and test them.

ListFetch
ListPushFront

Also:

Make CacheGet.Hit.toString() consistent when the value is truncated.

@schwern It looks good to me too!
One question I have is: do we want to create API-based test files instead of grouping APIs and make one test? (for example, create one test file for list APIs and one for set APIs, etc?)
If we want to do that, then I need to update my PR based on this.

@virratanasangpunth

do we want to create API-based test files instead of grouping APIs and make one test? (for example, create one test file for list APIs and one for set APIs, etc?)

Yes, if you can avoid copying a bunch of scaffolding code. Otherwise, lump the integration tests together for now. I plan on doing a refactoring pass to DRY up the code and split up that monster test.


Adds feature for users to customize connections created by the pool

Implementation for https://github.com/djc/bb8/issues/88
I ended up running into not too many issues!

Overall this is looking good, thanks for working on it!

I think this is ready for another look. Removing on_release made it a much smaller PR too.

This is looking good, some minor style things and then I think this is good to merge!

Thanks!


Progress tracker

This issue serves as a tracker for other issues that need to be resolved as we work towards 1.0 (do we even have versioning?). I'm currently listing these down so that I don't forget when I need to create separate issues later.
Meta

[x] Landing page and onboarding steps (#43)
[x] Client script (#44)
[x] Logo (#45)
[x] Contributing guide (#46)

Bugs/limitations

[ ] Cannot show more than 100 replies (#32)
[ ] Cannot toggle upvote (#31)

New features

[x] Automatic discussion creation if no matching discussion exists (#33)
[x] Other methods to find a matching discussion (e.g. discussionNumber, <title>, og:title, etc.) (#34)
[ ] Show/hide comment toggle for hidden comments and replies (#35)
[ ] KebabHorizontalIcon menu (add copy link and quote reply options) (#36)
[ ] New themes (#37)
[ ] Support Q&A mode (if that makes sense?) (#38)
[ ] Cover GFM edge cases/features (#47)

Improvements

[ ] Drop passthru GraphQL API when possible (#30)
[ ] Replace @peculiar/webcrypto with built-in Node crypto module (#29)
[ ] Improve error handling (#39)
[ ] Drop unused CSS variables (#48)
[ ] Audit security stuff (#40)
[ ] Audit accessibility stuff (#42)
[ ] Evaluate other data-fetching libraries (still in #32)
[ ] Evaluate @primer and other GitHub stuff (CSS libraries, components, etc.) (#41)

I think we no longer need this issue; we can track the progress in each issue.


Enable CLI configuration of Version and Commandline switches via plugin hooks

Hi,
I came up with a practical - as in, plugin-agnostic and hopefully timesaving -  polyfill for an upcoming feaure in cordova-lib, which lets us specify plugin preference defaults and enables supplying CLI variables with hard-requiring them (see https://issues.apache.org/jira/browse/CB-9162).
Motivation? The programmatic setup of Crosswalk plugin is often required by 3rd party CLIs or other tools, which defer to or embed cordova. (e.g., Ionic via "ionic browser add").
Need XWalk 15 for a new project and want to test experimental Chromium features? Try:
cordova plugin add cordova-plugin-crosswalk-webview --variable CROSSWALK_ANDROID_VERSION="15" --variable CROSSWALK_ANDROID_COMMANDLINE="--enable-usermedia-screen-capturing"

Of course, all present configuration vectors remain active. The hook simply gets its defaults by parsing plugin.xml, and creates configuration elements in config.xml (which are in turn parsed by platforms). Full JSDoc documentation inside.
Also did some very minor cleanup. Looking forward to your input.
Sincerely,
S

LGTM. ping @lincsoon @huningxin

LGTM. Thanks!


Updated tutorials

Updated tutorials to match and added the one for Azure.

@Maksimiliana Can we have the conflicts resolved and move on with merge?

@Maksimiliana Can we have the conflicts resolved and move on with merge?


Fix an error for Layout/HeredocArgumentClosingParenthesis

This PR fixes an error for Layout/HeredocArgumentClosingParenthesis when heredoc is a method argument in a parenthesized block argument:
foo(bar do
  baz <<~EOS
  EOS
end)

% bundle exec rubocop --only Layout/HeredocArgumentClosingParenthesis
(snip)

undefined method `begin_pos' for nil:NilClass
/Users/koic/src/github.com/rubocop/rubocop/lib/rubocop/cop/layout/
heredoc_argument_closing_parenthesis.rb:220:in `exist_argument_between_heredoc_end_and_closing_parentheses?'
/Users/koic/src/github.com/rubocop/rubocop/lib/rubocop/cop/layout/
heredoc_argument_closing_parenthesis.rb:73:in `on_send'
/Users/koic/src/github.com/rubocop/rubocop/lib/rubocop/cop/commissioner.rb:107:in `public_send'

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Fix keyboard hiding

We start our application with active keyboard. After request to branch, our keyboard hides on calling [self.secondWindow makeKeyWindow] inside.
You can add SFSafariController as child view controller to prevent this.

In attached videos I close tutorial, tap on camera request, accept it.
Before: https://youtu.be/wuOrgTx9Frs
After: https://youtu.be/jE10DbVHTlo

@vdugnist  Thank you for your patch!
We have a fix for this that is beta testing right now.
If you'd test our fix for this to make sure it fixes your problem it would be a huge help.
Here's the info for getting our beta code:
https://github.com/BranchMetrics/ios-branch-deep-linking/wiki/The-SDK-Beta-Project

@E-B-Smith beta works well. Can I use it in production right now or it's better to use current stable version with my fix?

This is the version that we will push to production provided no significant problems are found.
It's been tested on iOS 8/9/10.  I would love some feedback so I can release it soon!

Ok, thx!

Thanks : Please send me feedback either way!

@E-B-Smith I've tried to run tests before PR, but it looks like they call outdated methods.
We'll test current beta and I'll give feedback in a few days.

@vdugnist Great! Thanks.


Prepare app for deployment

Watch out! Since I told you during the daily, the hole code is now adapted to work for deployment. If you want to run it in developer mode you must change the path for the credentials in the writing_functions script.