layer CRS not correctly detected

Issue:
For some raster and vector layers conda QGIS is not able to detect the CRS.
E.g. C:/miniconda/envs/qgis/Library/resources/data/world_map.gpkg|layername=countries

In standard OSGeo4W QGIS the CRS is correctly detected.
Also in the conda console it seams to work:
(qgis) C:\Users\janzandr>python
Python 3.8.5 | packaged by conda-forge | (default, Aug 29 2020, 00:43:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from qgis.core import QgsVectorLayer
>>> v = QgsVectorLayer('C:/miniconda/envs/qgis/Library/resources/data/world_map.gpkg|layername=countries')
>>> v.crs()
<QgsCoordinateReferenceSystem: EPSG:4326>

Environment (conda list):

$ conda list
blas                      1.0                         mkl
boost-cpp                 1.72.0               h89d28cc_2    conda-forge
brotlipy                  0.7.0           py38h1e8a9f7_1000    conda-forge
bzip2                     1.0.8                he774522_3    conda-forge
ca-certificates           2020.6.20            hecda079_0    conda-forge
cairo                     1.16.0            h8a5e50b_1003    conda-forge
certifi                   2020.6.20        py38h32f6830_0    conda-forge
cffi                      1.14.1           py38hba49e27_0    conda-forge
cfitsio                   3.470                hbbe6aef_6    conda-forge
chardet                   3.0.4           py38h32f6830_1006    conda-forge
coverage                  5.2.1            py38h1e8a9f7_0    conda-forge
cryptography              3.1              py38hba49e27_0    conda-forge
curl                      7.71.1               h4b64cdc_5    conda-forge
exiv2                     0.27.1               hfa2c1cf_0    conda-forge
expat                     2.2.9                h33f27b4_2    conda-forge
freetype                  2.10.2               hd328e21_0    conda-forge
freexl                    1.0.5             hd288d7e_1002    conda-forge
future                    0.18.2           py38h32f6830_1    conda-forge
gdal                      3.1.1            py38h3ba59e7_0    conda-forge
geos                      3.8.1                he025d50_0    conda-forge
geotiff                   1.6.0                hcadc5cd_0    conda-forge
gettext                   <IP_ADDRESS>          hb01d8f6_1002    conda-forge
glib                      2.65.0               he4de6d7_0    conda-forge
gsl                       2.6                  h86b8168_0    conda-forge
hdf4                      4.2.13            hf8e6fe8_1003    conda-forge
hdf5                      1.10.6          nompi_he0bbb20_101    conda-forge
httplib2                  0.18.1             pyh9f0ad1d_0    conda-forge
icc_rt                    2019.0.0             h0cc432a_1
icu                       64.2                 he025d50_1    conda-forge
idna                      2.10               pyh9f0ad1d_0    conda-forge
intel-openmp              2020.1                      216
jinja2                    2.11.2             pyh9f0ad1d_0    conda-forge
joblib                    0.16.0                     py_0    conda-forge
jpeg                      9d                   he774522_0    conda-forge
kealib                    1.4.13               h3b59ab9_1    conda-forge
krb5                      1.17.1               hc04afaa_3    conda-forge
libblas                   3.8.0                    16_mkl    conda-forge
libcblas                  3.8.0                    16_mkl    conda-forge
libclang                  9.0.1           default_hf44288c_0    conda-forge
libcurl                   7.71.1               h4b64cdc_5    conda-forge
libffi                    3.2.1             ha925a31_1007    conda-forge
libgdal                   3.1.1                hbc6966c_0    conda-forge
libiconv                  1.16                 he774522_0    conda-forge
libkml                    1.3.0             h7e985d0_1011    conda-forge
liblapack                 3.8.0                    16_mkl    conda-forge
libnetcdf                 4.7.4           nompi_h256d12c_105    conda-forge
libpng                    1.6.37               ha81a0f5_2    conda-forge
libpq                     12.3                 hd9aa61d_0    conda-forge
libprotobuf               3.11.4               h1a1b453_0    conda-forge
libspatialindex           1.9.3                he025d50_3    conda-forge
libspatialite             4.3.0a            h51df0ed_1038    conda-forge
libssh2                   1.9.0                hb06d900_5    conda-forge
libtiff                   4.1.0                h885aae3_6    conda-forge
libwebp-base              1.1.0                hfa6e2cd_3    conda-forge
libxml2                   2.9.10               h1006b36_2    conda-forge
libzip                    1.5.1             h8f0db0c_1005    conda-forge
lz4-c                     1.9.2                h62dcd97_2    conda-forge
m2w64-expat               2.1.1                         2
m2w64-gcc-libgfortran     5.3.0                         6
m2w64-gcc-libs            5.3.0                         7
m2w64-gcc-libs-core       5.3.0                         7
m2w64-gettext             0.19.7                        2
m2w64-gmp                 6.1.0                         2
m2w64-libiconv            1.14                          6
m2w64-libwinpthread-git   <IP_ADDRESS>34.697f757               2
m2w64-xz                  5.2.2                         2
markupsafe                1.1.1            py38h9de7a3e_1    conda-forge
mkl                       2020.1                      216
mkl-service               2.3.0            py38hb782905_0
mock                      4.0.2            py38h32f6830_0    conda-forge
msys2-conda-epoch         20160418                      1
nose2                     0.9.2                      py_0    conda-forge
numpy                     1.19.1           py38h72c728b_0    conda-forge
openjpeg                  2.3.1                h57dd2e7_3    conda-forge
openssl                   1.1.1g               he774522_1    conda-forge
owslib                    0.20.0                     py_0    conda-forge
pcre                      8.44                 h6538335_0    conda-forge
pip                       20.2.3                     py_0    conda-forge
pixman                    0.38.0            hfa6e2cd_1003    conda-forge
plotly                    4.9.0              pyh9f0ad1d_0    conda-forge
poppler                   0.89.0               h5d62644_1    conda-forge
poppler-data              0.4.9                         1    conda-forge
postgresql                12.3                 he14cc48_0    conda-forge
proj                      7.0.0                haa36216_5    conda-forge
psycopg2                  2.8.6            py38hba49e27_0    conda-forge
pycparser                 2.20               pyh9f0ad1d_2    conda-forge
pygments                  2.6.1                      py_0    conda-forge
pyopenssl                 19.1.0                     py_1    conda-forge
pyproj                    2.6.1.post1      py38h1dd9442_0    conda-forge
pyqt                      5.12.3           py38h6538335_1    conda-forge
pyqt5-sip                 4.19.18                  pypi_0    pypi
pyqtwebengine             5.12.1                   pypi_0    pypi
pysocks                   1.7.1            py38h32f6830_1    conda-forge
python                    3.8.5           h60c2a47_7_cpython    conda-forge
python-dateutil           2.8.1                      py_0    conda-forge
python_abi                3.8                      1_cp38    conda-forge
pytz                      2020.1             pyh9f0ad1d_0    conda-forge
pyyaml                    5.3.1            py38h9de7a3e_0    conda-forge
qca                       2.2.1                hd7ce7fb_3    conda-forge
qgis                      3.14.1           py38h21d4842_0    conda-forge
qjson                     0.9.0             hd7ce7fb_1006    conda-forge
qscintilla2               2.11.2           py38h19e3e1c_2    conda-forge
qt                        5.12.5               h7ef1ec2_0    conda-forge
qtkeychain                0.10.0               hd7ce7fb_0    conda-forge
qtlocation                5.12.5               he025d50_0    conda-forge
qwt                       6.1.5                h265ddaf_0    conda-forge
qwtpolar                  1.1.1                hd7ce7fb_7    conda-forge
requests                  2.24.0             pyh9f0ad1d_0    conda-forge
retrying                  1.3.3                      py_2    conda-forge
scikit-learn              0.23.2           py38hf00eced_0    conda-forge
scipy                     1.5.0            py38h9439919_0
setuptools                49.6.0           py38h32f6830_0    conda-forge
sip                       4.19.20          py38h6538335_0    conda-forge
six                       1.15.0             pyh9f0ad1d_0    conda-forge
sqlite                    3.33.0               he774522_0    conda-forge
tbb                       2020.1               he980bc4_0    conda-forge
threadpoolctl             2.1.0              pyh5ca1d4c_0    conda-forge
tiledb                    2.0.8                h71c485d_0    conda-forge
tk                        8.6.10               he774522_0    conda-forge
urllib3                   1.25.10                    py_0    conda-forge
vc                        14.1                 h869be7e_1    conda-forge
vs2015_runtime            14.16.27012          h30e32a0_2    conda-forge
wheel                     0.35.1             pyh9f0ad1d_0    conda-forge
win_inet_pton             1.1.0                    py38_0    conda-forge
wincertstore              0.2                   py38_1003    conda-forge
xerces-c                  3.2.2             h6538335_1004    conda-forge
xz                        5.2.5                h62dcd97_1    conda-forge
yaml                      0.2.5                he774522_0    conda-forge
zlib                      1.2.11            h62dcd97_1009    conda-forge
zstd                      1.4.5                h1f3a1b7_2    conda-forge

Details about  conda and system ( conda info ):

$ conda info

     active environment : qgis
    active env location : C:\miniconda\envs\qgis
            shell level : 2
       user config file : C:\Users\janzandr\.condarc
 populated config files : C:\Users\janzandr\.condarc
          conda version : 4.7.12
    conda-build version : not installed
         python version : 3.7.4.final.0
       virtual packages : __cuda=10.2
       base environment : C:\miniconda  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\miniconda\pkgs
                          C:\Users\janzandr\.conda\pkgs
                          C:\Users\janzandr\AppData\Local\conda\conda\pkgs
       envs directories : C:\miniconda\envs
                          C:\Users\janzandr\.conda\envs
                          C:\Users\janzandr\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.7.12 requests/2.22.0 CPython/3.7.4 Windows/10 Windows/10.0.17134
          administrator : False
             netrc file : None
           offline mode : False

@AndreasRabe can you please provide some sample data for testing?

You can use the world_map.gpkg that is shipped with QGIS. On my system it is found here:

Could not replicate the problem in Linux.

can you try again for QGIS 3.16.1?

I'm on a Windows 10 system. I updated a minute ago, but my Conda QGIS is still 3.14.16-Pi. The problem remains.

Yes, we are stuck on 3.14 for Windows until we have a new conda-build. I will try 3.14 on windows as I didn't see any problems on Linux.

We'll have a meeting tomorrow with some AnacondaInc folks. I'll ask for a new conda-build release that hopefully will fix this for good.

@AndreasRabe Windows builds are back. can you try the most recent version of QGIS and see if the CRS are detected now?

@AndreasRabe Windows builds are back. can you try the most recent version of QGIS and see if the CRS are detected now?

I installed version 3.16.3. Unfortunately, the problem still exists.

I installed version 3.16.3. Unfortunately, the problem still exists.

@AndreasRabe Are you install qgis into new environment?

@AndreasRabe Are you install qgis into new environment?

Yes, fresh env with qgis only:
conda create -n test qgis

Yes, fresh env with qgis only:
conda create -n test qgis

I can confirm the problem on Win10. It seems to be an issue related to srs.db
The following test returns True in OSGeo4W, but False in the conda installation:
wkt='GEOGCS["WGS 84",DATUM["World Geodetic System 1984",SPHEROID["WGS84",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4326"]]'
QgsCoordinateReferenceSystem.fromWkt(wkt).isValid()

As a consequence, it is also impossible to add a custom CRS. To exclude a possible connections to the parallel OSGeo4W installation, I deleted C:\Users\...\Roaming\QGIS and C:\Users\...\AppData\Local\QGIS before installing the conda QGIS, but this did not help.
During the conda QGIS installation I got this error:
SafetyError: The package for qgis located at D:\miniconda3\pkgs\qgis-3.16.3-py38h4dc3349_0
appears to be corrupted. The path 'Library/resources/srs.db'
has an incorrect size.
  reported size: 2777088 bytes
  actual size: 2755584 bytes

I can confirm the problem on Win10. It seems to be an issue related to srs.db
The following test returns True in OSGeo4W, but False in the conda installation:
wkt='GEOGCS["WGS 84",DATUM["World Geodetic System 1984",SPHEROID["WGS84",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4326"]]'
QgsCoordinateReferenceSystem.fromWkt(wkt).isValid()

As a consequence, it is also impossible to add a custom CRS. To exclude a possible connections to the parallel OSGeo4W installation, I deleted C:\Users\...\Roaming\QGIS and C:\Users\...\AppData\Local\QGIS before installing the conda QGIS, but this did not help.
During the conda QGIS installation I got this error:
SafetyError: The package for qgis located at D:\miniconda3\pkgs\qgis-3.16.3-py38h4dc3349_0
appears to be corrupted. The path 'Library/resources/srs.db'
has an incorrect size.
  reported size: 2777088 bytes
  actual size: 2755584 bytes

I wonder if Library/resources/srs.db is already installed by another package...?

I wonder if Library/resources/srs.db is already installed by another package...?

I run a sqldiff between OSGeo4W and conda srs.db, but this did not reveal any difference.

I run a sqldiff between OSGeo4W and conda srs.db, but this did not reveal any difference.

The paths returned by QgsProjUtils.searchPaths() are slightly different in the way how they refer to the internal share folder:
Conda returns returns ...\share, while (the working) OSGeo4W refers to ..\share\proj.

The paths returned by QgsProjUtils.searchPaths() are slightly different in the way how they refer to the internal share folder:
Conda returns returns ...\share, while (the working) OSGeo4W refers to ..\share\proj.

@AndreasRabe you can fix this problem manually:

open your %CONDA_PREFIX%\Library\bin\qgis.env
ensure that PROJ_LIB ends on share\proj, e.g.
PROJ_LIB=D:\miniconda3\envs\qgis_stable\Library\share\proj

@AndreasRabe you can fix this problem manually:

open your %CONDA_PREFIX%\Library\bin\qgis.env
ensure that PROJ_LIB ends on share\proj, e.g.
PROJ_LIB=D:\miniconda3\envs\qgis_stable\Library\share\proj

Thanks a lot! Is working now.

Thanks a lot! Is working now.


Serialization logic modified

The main change is that uid assigned to unividuals instead graphs and pipelines.
It allow simplifying the tracking of ancestors

Hello @nicl-nno! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file test/unit/composer/test_history.py:

Line 95:38: W292 no newline at end of file


Issues in building knative on Power PC, ppc64le architecture

I am trying to build knative on ppc64le and wanted to understand the general requirements for building it (along with all dependent images) from scratch.
I have been referring to the DEVELOPMENT.md and could build the base (build-base) image
ko.local/github.com/knative/build/build-base
for ppc64le, however looks like some of the other required images like git-init and creds-init are either not being built locally (i.e. are pulled from gcr.io) or are being used using incorrect base images, as they are still showing amd64 as architecture (in docker image inspect).
I could not find any Dockerfiles in the repo that could be directly used to build the other images (apart from build base) and am trying to use
./hack/release.sh --nopublish --skip-tests --notag-release
to get the images.
Is there another way to force all the images under build and serving to be built locally? Is there some setting/configuration that I might be missing?
Any guidance on this would be of great help, thanks in advance!

This is probably my fault because I haven't finished adding proper manifest list support to ko.
The container images are built using ko, which defaults to using gcr.io/distroless/base:latest here.
You can try overriding the base image to use something that works with ppc64le, but I'm not sure where the problem lies.
There may be another issue here where we build the go binaries. It looks like we don't yet hardcode GOARCH=amd64, so it may be possible to export GOARCH=ppc64le to build for the right architecture.
I'd like to eventually fix this by adding proper manifest list support to ko: https://github.com/google/go-containerregistry/issues/333
We might be able to fix this use case with a smaller change in the meantime. Let me know if any of that helps or if I can help with unblocking anything.

Thanks @jonjohnsonjr for all your suggestions. This really helps with the understanding. I will try making the changes, as per your suggestions and see how it goes, will keep you posted.

Update - I was able to build all the docker images for ppc64le locally, after overriding the base image on .ko.yaml in build and serving to use the equivalent ppc64le image (again built locally). I had to additionally update the baseImageOverrides section to use the correct ppc64le image for creds-init and git-init (after pushing it to a local registry).
I have the following ppc64le images now
ko.local/github.com/knative/build/cmd/creds-init
ko.local/github.com/knative/serving/cmd/queue
ko.local/github.com/knative/build/cmd/nop                     ko.local/github.com/knative/build/cmd/controller              ko.local/github.com/knative/serving/cmd/activator             ko.local/github.com/knative/serving/cmd/controller
ko.local/github.com/knative/build/build-base
localhost:5000/ko.local/github.com/knative/build/build-base
ko.local/github.com/knative/serving/cmd/autoscaler            ko.local/github.com/knative/serving/cmd/webhook
ko.local/github.com/knative/build/cmd/git-init                ko.local/github.com/knative/build/cmd/webhook
Next, I am planning to follow the instructions here
https://github.com/knative/docs/blob/master/install/Knative-with-any-k8s.md
after updating the release.yaml file locally in an attempt to install knative. I already have the istio pods deployed and up and running...

This works on ICP 3.1.1 on Power as per https://github.com/knative/docs/blob/master/install/Knative-with-ICP.md, only significant changes required were due to use of locally built images for knative components ..

@seth-priya does the images support multi-arch?

@clyang82 - no not at this point, as indicated by @jonjohnsonjr this would need work on the ko side. We have based the deployment on ppc64le specific images as of now.

@clyang82 - no not at this point, as indicated by @jonjohnsonjr this would need work on the ko side. We have based the deployment on ppc64le specific images as of now.

@seth-priya Thanks for your answer. That means @jonjohnsonjr is working on that. right?

I'm slowly working on this as part of some other work. We need to add support for pulling and pushing manifest lists to go-containerregistry for a variety of reasons, and once that lands it'll be ~easy to update ko to support building and publishing multi-platform images.

@jonjohnsonjr I see that you are doing some work to support multiarch images here. We have some bandwidth available and can contribute in this aspect. I would like to know how much more work is pending and when can we expect power/multi-arch support in ko and subsequently in knative? Let me know if I can help in anything.

@junawaneshivani I'd like to refactor that implementation to what I described in the PR. I filed an issue upstream to make that easier: https://github.com/google/go-containerregistry/issues/474 -- I'll need to fix that before landing the change in ko. If somebody could build and test that PR against power, it would validate the approach.
After refactoring and merging https://github.com/google/ko/pull/38, we'll need a multi-platform base image to use for releases. Right now we're using gcr.io/distroless/static as the base, which is amd64/linux specific (at least in the config file[1]). We could turn that into a manifest list with an entry for each platform we care about. We could try to contribute that upstream to distroless, or maintain our own image and push that somewhere.
Once we have an appropriate base image, we would just need to update the release script to point to a separate release config via KO_CONFIG_PATH.
We currently only test on amd64/linux. I'm not sure if/how we'd test other architectures and operation systems.
[1]:
$ crane manifest gcr.io/distroless/static | jq .
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
  "config": {
    "mediaType": "application/vnd.docker.container.image.v1+json",
    "size": 458,
    "digest": "sha256:a574914f27fd415df3951c7bba405640659ec59bbd1fa56adc08f70dd51c585d"
  },
  "layers": [
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 654432,
      "digest": "sha256:1558143043601a425aa864511da238799b57fcf7d062d47044f6ddd0e04fe99a"
    }
  ]
}

$ crane config gcr.io/distroless/static | jq .
{
  "architecture": "amd64",
  "author": "Bazel",
  "config": {
    "Env": [
      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
      "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"
    ]
  },
  "created": "1970-01-01T00:00:00Z",
  "history": [
    {
      "author": "Bazel",
      "created": "1970-01-01T00:00:00Z",
      "created_by": "bazel build ..."
    }
  ],
  "os": "linux",
  "rootfs": {
    "diff_ids": [
      "sha256:01092e5921c5543a918d54d9df752ee09a84c912a1d914b7eb37e7152f20b951"
    ],
    "type": "layers"
  }
}

Hi @jonjohnsonjr , will work on validating the PR against power. Thank you for your efforts in providing multi-arch support. :smile:

Hi @jonjohnsonjr , one of my colleague Lysanne, has successfully validated your PR changes against power for ko. Are there any other outstanding issues in adding POWER suppot for knative, other than the PR getting merged?


Add more latex symbols

I'm only opening this PR as it might be interesting/useful for people like @chantisnake @tecosaur and others from the Latex Workshop community.

With something like the LaTeX workshop, this would be great! There are one or two other things that I've got going in my settings which I think are worthwhile:

Replacement of the non-English characters like \o with ø
Gobbling up whitespace before/after commands (makes spacing more consistant)
Adding replacements for \qquad etc. with the appropriate Unicode spaces.

Though, since you seem to know what you're doing I am hoping you might be able to help me with some things I'm trying to do but ATM can't.

Having a replacement only active in the maths section
Replacing something used as a "pre". E.g. I want to replace \vec{x} with x⃗. To get the arrow I can use: "pre": "\\\\vec\\{[^\\}]+", "ugly": "\\}", "pretty": " ⃗" but then I don't seem to be able to replace \vec{.

I have tested it and would not recommend this for performance reasons. I may do a pull request with what I've currently got going though (lighter weight, still an improvement).


Fixes bug with duplicate path dependencies

Path dependencies do not store the source in the Cargo.lock. If the same path
dependency is used by different projects in the same workspace, but each project
has a different path for the path dependency (e.g. they are git submodules of
the project), the path dependency occurs multiple times in the Cargo.lock. This
patch solves the problem, by extracting all path dependencies with their
corresponding 'parent packages'. So, the path for the path dependency is searched by
searching the path dependencies of the parent package and not by searching the path
dependency by name in the workspace (which omits duplicates, because the mapping
was from name -> path).
Solves: https://github.com/rust-lang/cargo/issues/2981
But I'm not 100% sure if the problem of @Zoxc is the same.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Thanks for the PR! Due to the way lock files are encoded today the original intention was to disallow two crates with the same name in a workspace (or in a lock file). In that sense it's interesting to see an implementation here!
One thing I'm curious about, though, is that I'm not sure if this can resolve ambiguities. For example let's say we have two packages named foo in our lock file (both path dependencies). Both these dependencies depend on bar = "*" and then in the lock file we see:
[[package]]
name = "foo"
version = "1.0.0"
dependencies = [
 "bar 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "foo"
version = "1.0.0"
dependencies = [
 "bar 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

Given that, how do we know which foo is which?
I haven't dug too deeply into the patch yet, but figured I'd ask first to see what's what! I wonder if maybe we could disallow (name, version) duplicates to solve that problem?

I don't know if you already looked over my test, that tests reflects my real use case with the problem. Nevermind, where do you want to disallow (name, version) duplicates? The problem is, that my main project depends on two other project (both are path dependencies) and these two projects also depend on a project (also a path dependency). But, the last path dependency is the same project, but checked out in different paths. So, it is valid that the lockfile contains both. If I remove the duplicate entry in the lockfile and run cargo, my project compiles without any problems, but cargo readds the duplicate entry :D
After thinking about your example, you are right. We can not know which foo is which. If we would store relative paths to the dependencies, it should work. That would probably also simplify this pull request^^

Ah yeah looking at your test is what inspired me to think about this problem and generate the ambiguous example above. I'd actually be pretty surprised if Cargo deduplicated dependencies such as in your use case. In general if there's two crates at two different locations on the filesystem (even with the same name) they shouldn't unifty to the same crate because the sources could be different.
I'd be fine, though, supporting multiple crates in a crate graph that are path dependencies and have the same name. I'm somewhat wary though to use relative paths because unfortunately right now that'd be a backwards-incompatible change to the lock file format. We could try to pursue a solution where only if duplicate names are mentioned that relative paths are used (as today there are no duplicate packages), however.

Yeah, deduplication is not needed. But that would also be a way to solve this problem, if two path dependencies with the same name exist, check if they are the same (compare version, dependencies and ultimately compare the directory?). If they are not the same, we could throw an error message.

Hm no I'd prefer to not do deduplication here (that seems like a nonstandard project setup?) and stick to just having a package in Cargo.lock correspond to precisely one upstream crate.

Hmm yeah, that is probably not that much a standard setup. I think we can then close this pull request. ^^
Maybe implementing https://github.com/rust-lang/cargo/issues/2078 could solve my problem.
The main reason for this structure is, that the main project is a multicall binary that links all other projects in one binary and the two other projects share configuration structures in one other project.^^ I will need to think about that :)

Ok sure we can close this for now. Thanks regardless for the PR!


Cannot patch multiple json fields in same patch

Hey there,
Having some trouble with this query. I'm trying to patch both the object_data.updated_at field and the object_data.status field in the same patch, but only the second one will run if both are in the query. Either of them works on their own. Here's my code:
return await ProcessStep
            .bindTransaction(trx)
            .query()
            .where('process_id', process_id)
            .andWhere(builder => {
                builder
                    .where(ProcessStep.raw('object_data->>\'status\''), "=", stepStatus.PENDING)
                    .orWhere(ProcessStep.raw('object_data->>\'status\''), "=", stepStatus.NEEDS_WORK)
            })
            .patch({
                'object_data:status': ProcessStep.raw('?::text', [stepStatus.INCOMPLETE]), // This isn't getting run
                'object_data:updated_at': ProcessStep.raw('?::text', [new Date().toISOString()]),
                assignee_id: null,
                assigner_id: null
            });

This was a workaround in the first place-- I just want to set updated_at whenever I patch and I have a $beforeUpdate in BaseModel that's supposed to set object_data.updated_at, but it gets overridden when using the .patch syntax because I'm not passing in object_data to the patch.
  $beforeUpdate() {
    // TODO: Any time we patch non-object_data fields with patchAndFetchById, updated_at won't get updated necessarily.
      // If you log "this" here, it doesn't have any part of the entity except the fields you directly pass into patchAndFetchById.
    if (this.object_data) this.object_data.updated_at = new Date().toISOString();
  }

Any thoughts?
objection "version": "0.7.12", node version v8.9.0

I think I just fixed this 😄 Are you sure you are running the latest version?

By the way, you should be able to replace this
builder
  .where(ProcessStep.raw('object_data->>\'status\''), "=", stepStatus.PENDING)
  .orWhere(ProcessStep.raw('object_data->>\'status\''), "=", stepStatus.NEEDS_WORK)

with this:
builder
  .where(ref('object_data:status'), stepStatus.PENDING)
  .orWhere(ref('object_data:status'), stepStatus.NEEDS_WORK)

ref comes from
const { ref } = require('objection');

Rad. I'll upgrade and try again. Thanks!! And long time no see.

What version do I need? The latest? 1.1.7?

Yeah, nice to see you again! You need some 1.1.x version, don't remember which. Better try the 1.1.7

Any commentary on the base model problem? We aren't getting our object_data.updated_at updated unless we explicitly pass in object_data during the patch. Should I make a separate ticket?

You should be able to say this in $beforeUpdate:
  $beforeUpdate() {
    const now = new Date().toISOString();
    this['object_data:updated_at'] = lit(now).castText();
  }

and again lit comes from the objection package.

Thanks, Sami! I'll try it out. Gotta update Objection first. I'll consider this closed.


Dog-Fooding: Build BuildStream with BuildStream

See original issue on GitLab
In GitLab by [Gitlab user @LaurenceUrhegyi] on May 29, 2018, 22:22
Background
Also posted to the mailing list about this, and then followed up on in another thread.
I think there are some clear benefits to dog-fooding:

Demonstrate confidence in BuildStream.
Increase the amount of real world use cases, thus identifying more bugs.
Mitigating against the risk of developers working 'in a vacuum', by ensuring developers are also users of the tool.

There is a risk that this will prove more difficult than anticipated, and potentially serve as a distraction that does not bring as much benefit as desired, but I think this risk is quite low, overall.
Having spoken to people informally about this, there seems to be a general consensus that this is clearly a good idea, but BuildStream is probably not yet ready for it at the moment.
If there is something you know of which blocks dog-fooding, I ask for your contributions here to help me identify that. Please could I request that you link from this issue to any already open issue which is blocking dog-fooding from happening, or open up a new issue if something is not already captured.
Task description

[ ] Build BuildStream using BuildStream.

I plan to expand this once the specifics of the task become clearer...
Acceptance Criteria

[ ] Link to a subgroup in gitlab for the example project
[ ] Successful demo of buildstream being built using buildstream

I plan to expand this once the specifics of the task become clearer...

In GitLab by [Gitlab user @LaurenceUrhegyi] on May 29, 2018, 22:24
changed the description

In GitLab by [Gitlab user @toscalix] on Jun 24, 2018, 15:47
[Gitlab user @laurence] I believe there is further actions related to this topic sent to the mailing list. If there will be actions derived from those mails, they should be added to the description of this topic, right?
If the discussion is still ongoing, then a link to the thread would be the way to go.

In GitLab by [Gitlab user @LaurenceUrhegyi] on Jun 24, 2018, 16:48
Correct.
Currently, that conversation is still ongoing, and this ticket will be updated when the time is right.

In GitLab by [Gitlab user @LaurenceUrhegyi] on Jul 11, 2018, 10:57
changed the description

In GitLab by [Gitlab user @LaurenceUrhegyi] on Jul 11, 2018, 11:41
Notes taken from the GUADEC BoF of Weds July 11 2018:
Dogfooding
Introduction

We have a problem that developers are making changes to buildstream without using buildtream so the only feedback we get is from users.
We can advance some of those issues by using the tool ourselves.
there's been debate about best way to do this
we could build a system to host buildstream in and use bst shell to run the test suit in this
we could build other images as well  (flatpak/container) images out of this so that we can use the current version
There's worries that we could end up over optimising for our own usecase

Potential blocker

Linux kernel, before 4.18, does not support unprivilaged fuse mounting - you can't combine usernamespace and  FUSE, and we need FUSE.
So one option is just to wait for 4.18 which is realeased in a couple of weeks

Other notes

Valentine emphasises the point that the bottom line is simple: Our developers aren't using the tool and that using the tool in anyway is going to be a big step forward.
It looks like we have users working with slightly different workflows: bst shell vs workspaces.
Augustin has points he wants developers to consider in order to ensure we do not go too far.
dogfooding is about testing a tool as it is consumed by users and use it as users do, mimetising their workflow as much as possible. It is advancing problems they will have.
Dogfooding vs simulation/emulation.
AB: simulate the dev workflow in one example and then set up test to run over and over again - that is a simulation / emulation, rather than dog-fooding
we are testing as users are going to use the tool, not how they are using it at the moment. There is a risk of getting an experience that is not real.
Let's ensure we don't set up an imagined workflow here - need to base it on actual use cases.
questions that this is actually dog fooding but still sees value in doing it...
Problem is perhaps that bst is too different from the stuff being developed by downstream users
We can test the workflow of developing using workspaces, but may not be able to test bst shell due to the above issues
We could make an example building buildstream, buildgrid and buildbox
Tristan M points out that python developer workflow means we'll never actually build anything using buildstream for buildstream
we could use buildstream to build pakages from which we could install buildstream.

Summary

Clear path forward is to have a project that we can open a workspace with, develop in that way, build a package that we can install.
We may not get shell working because of kernel versions but it's something to look at. Building Buildbox is a good target.
So, outcome should be a workflow for devs to use bst files for 3 compenents to build - buildgrid, buildbox, buildstream.

In GitLab by [Gitlab user @richardmaw-codethink] on Aug 7, 2018, 11:26
assigned to [Gitlab user @richardmaw-codethink]

In GitLab by [Gitlab user @richardmaw-codethink] on Aug 7, 2018, 11:31
The workflow we're hoping to support is to
be able to create workspaces for BuildStream components,
use bst build to provide BuildStream's dependencies
and test that it is still installable,
then ideally run BuildStream's test suite inside a bst shell.

Create project skeleton for BuildStream .bst files super-project.
This is a separate task to account for bike-shedding of the name
and acquiring permission to create the GitLab project if necessary.

Add BuildStream to BuildStream super-project.
This should depend on freedesktop-sdk via a junction,
and include any extra dependencies not in freedesktop-sdk.

Test and Document the workflow.
Ideally the documentation would be written
such that it can be run as a test in CI.

Add BuildBox to BuildStream super-project.
This should depend on freedesktop-sdk via a junction,
and include any extra dependencies not in freedesktop-sdk.

Add BuildGrid to BuildStream super-project.
This should depend on BuildBox as a runtime dependency
and include any extra dependencies not in freedesktop-sdk.

Barring some miracle, we can't depend on Linux 4.18 being available
so we need to task one of:

Add a flag to cripple bst shell enough
that BuildStream may start its sandbox inside.

Documentation and tooling for how to set up a freedesktop-sdk container
that doesn't use user namespacing
that we can install our buildbox and buildgrid artifacts into
so we can run the test suite in an environment
similar to if we had a working bst shell.

Modify the definitions to produce a self-contained application bundle
for BuildBox, BuildGrid and BuildStream
that may be installed independently of the host platform.
Difficult to estimate.
BuildBox may be possible to handle by statically linking.
To reliably bundle BuildGrid would require distributing a python runtime
and I've no experience to draw an estimate from that.
pip might be enough to install BuildGrid without problems,
but we're still depending on the host system satisfying the dependencies,
and we've experience with pip getting confused and breaking the host.

In GitLab by [Gitlab user @jjardon] on Aug 8, 2018, 16:35
Related with this, other ways of "dog-fooding":

https://gitlab.com/BuildStream/buildstream/issues/548
https://gitlab.com/BuildStream/buildstream/issues/549

In GitLab by [Gitlab user @jjardon] on Aug 8, 2018, 16:35
marked this issue as related to #548

In GitLab by [Gitlab user @jjardon] on Aug 8, 2018, 16:35
marked this issue as related to #549

In GitLab by [Gitlab user @richardmaw-codethink] on Aug 9, 2018, 12:55
mentioned in merge request !570

In GitLab by [Gitlab user @LaurenceUrhegyi] on Sep 11, 2018, 19:43
Related MRs that were found as a result of dog-fooding:

https://gitlab.com/BuildStream/buildstream/merge_requests/780
https://gitlab.com/BuildStream/buildstream/merge_requests/781
https://gitlab.com/BuildStream/buildstream/merge_requests/783
https://gitlab.com/BuildStream/buildstream/merge_requests/784
https://gitlab.com/BuildStream/buildstream/merge_requests/788

In GitLab by [Gitlab user @richardmaw-codethink] on Sep 17, 2018, 12:00
https://gitlab.com/BuildStream/buildstream/merge_requests/781 is the last outstanding MR and is needing a rework.
Investigation of using 4.18 is postponed until after that, since using a 4.18 backport on debian still has the issue of proc being unmountable while [Gitlab user @juergbi] reported being able to nest bubblewrap.
Integration repository at https://gitlab.com/richardmaw-codethink/buildstream-integration is not tidy, but at minimum needs a license to be considered releasable, though should be moved under the buildstream project proper.

I think that we've very reasonably covered this ground, and that it need not be achieved in the core buildstream repository per se.
We now have plenty of evidence of fdsdk building docker images for the purpose of running buildstream which contain buildstream and are then used again for building using buildstream, this is demonstrated on a variety of machine architectures too.
I think it would not make sense to replicate all of this machinery in the BuildStream repo itself, and so I think it's save to close this and regard this issue as resolved.


lost contact to V4.1 board and unable to upgrade FW on 5.0 board

i have a setup with a raspberrypi ZW and two rtd boards(one is from the kickstarter v4.1(rtd 0) and the other board is bought from you regular shop v 5.0(rtd 1) and one 4relind board (rtd 2) on a pHAT Stack
by [Pimoroni](https://shop.pimoroni.com/collections/all?vendor=Pimoroni) .
This has worked very well for over a year but recently i have had some big variations in the reading from two of the sensors. While investigating this problem decided to upgrade the rtd software and firmware i discoverd that
When i tried to upgrade to the latest firmware
pi@rpi-zw-01:~/rtd-rpi/update $ ./update 0
You are ready to update the firmware on your board.
Your Raspberry Pi must be connected to the internet.
Type "yes" (without quotes) to continue or anything else to quit:
yes
CPUID:<PHONE_NUMBER>51524635333820
Downloading firmware...               Board version < 6.0
Done
Programming the board...  9%
 Retry 21 times. Write fail!
FAIL to write!
pi@rpi-zw-01:~/rtd-rpi/update $ ./update 1
You are ready to update the firmware on your board.
Your Raspberry Pi must be connected to the internet.
Type "yes" (without quotes) to continue or anything else to quit:
yes
CPUID: 3b001d000151564135373120
Downloading firmware...               Board version < 6.0
Done
Bootloader no answer!!!

no rtd boards ar detected
rtd -list
0 board(s) detected]

detecting the 4relind board is working
pi@rpi-zw-01:~/rtd-rpi/update $ 4relind -list
1 board(s) detected
Id: 2

When disconnecting the kickstarter board(rtd 0) i can connect to the other boards.
pi@rpi-zw-01:~ $ rtd 1 board
Mega RTD firmware version 1.11
Vin 5.048V, Vrasp 5.042V, CPU Temp 37C
pi@rpi-zw-01:~ $ rtd 1 read 1
19.793970
pi@rpi-zw-01:~ $ rtd 1 read 2
32.919575

pi@rpi-zw-01:~/rtd-rpi/update $ 4relind -list
1 board(s) detected
Id: 2

but not able to upgrade the rtd 1 board
pi@rpi-zw-01:~/rtd-rpi/update $ ./update 1
You are ready to update the firmware on your board.
Your Raspberry Pi must be connected to the internet.
Type "yes" (without quotes) to continue or anything else to quit:
yes
read cmd NACK ret 0xffffffff !!!
Cpu id read fail!!

pi@rpi-zw-01:~/rtd-rpi/update $ ./update 1
You are ready to update the firmware on your board.
Your Raspberry Pi must be connected to the internet.
Type "yes" (without quotes) to continue or anything else to quit:
yes
CPUID: 3b001d000151564135373120
Downloading firmware...               Board version < 6.0
Done
Bootloader no answer!!!

if i connect the raspberry pi directly on the rtd1 board i get the same behaviour.
pi@rpi-zw-01:~/rtd-rpi/update $ ./update 1
You are ready to update the firmware on your board.
Your Raspberry Pi must be connected to the internet.
Type "yes" (without quotes) to continue or anything else to quit:
yes
CPUID: 3b001d000151564135373120
Downloading firmware...               Board version < 6.0
Done
Bootloader no answer!!!

Hi,
Please make sure nobody (python scripts, node-RED flows, etc.) tries to access the I2C port during the update.
I personally tested with multiple cards but connect just one card to the raspberry and use-it on stack level 0 (no jumpers).

i succeede in upgrading the 4.1 board butt sill not detected
pi@rpi-zw-01:~/rtd-rpi/update $ ./update 0
You are ready to update the firmware on your board.
Your Raspberry Pi must be connected to the internet.
Type "yes" (without quotes) to continue or anything else to quit:
yes
CPUID:<PHONE_NUMBER>51524635333820
Downloading firmware...               Board version < 6.0
Done
Programming the board...100%         Done
pi@rpi-zw-01:~/rtd-rpi/update $ rtd -list
1 board(s) detected
Id: 0

ok i will stop node-red before upgrading FW!

sweet got it working again! thanx!

Hi, Please make sure nobody (python scripts, node-RED flows, etc.) tries to access the I2C port during the update. I personally


ask

I want to know whether this kotlin language server will support/can be used for android editor applications? for example: SoraEditor? because the sora editor library supports language server ports

Hey! It is intended to work with any editor that supports the LSP (Language Server Protocol). Though, the project is still in its early stages and very far from being complete.

Hey! It is intended to work with any editor that supports the LSP (Language Server Protocol). Though, the project is still in its early stages and very far from being complete.

that sounds interesting, would you like to check out the sora editor lsp api so that from the start of your project you can use this in sora editor, here is the repository: https://github.com/Rosemoe/sora-editor.git

Hey! It is intended to work with any editor that supports the LSP (Language Server Protocol). Though, the project is still in its early stages and very far from being complete.

because until now no one has been able to implement kotlin lsp in the android editor

From the looks of it, it does seem to support the protocol, and should work seamlessly with any language server, including this one. I'm not familiar with Sora, so it might be a good idea to confirm this with them instead.

From the looks of it, it does seem to support the protocol, and should work seamlessly with any language server, including this one. I'm not familiar with Sora, so it might be a good idea to confirm this with them instead.

yeah that's a good idea


On newer versions of windows the debug script isnn't working

On newer versions of windows the debug script isnn't working and i think it is due to the sudo command. I always get this error.
error: unexpected argument '-e' found    tip: to pass '-e' as a value, use '-- -e'  Usage: sudo.exe [OPTIONS] [COMMANDLINE]... [COMMAND]  For more information, try 'help'.
If i run this script as admin having removed the sudo line irt works perfeclty

The debug script uses gsudo, you need to modify the script if you're using other sudo commands.
https://github.com/8LWXpg/PowerToysRun-PluginTemplate/blob/898ed204dc24db52ca9059a5d6ffe1b7aa1c736a/debug.ps1#L1


unable to start k3s server

Environmental Info:
K3s Version:
v1.21.5+k3s2
Node(s) CPU architecture, OS, and Version:
3.10.0-1160.42.2.el7.x86_64 #1 SMP Tue Aug 31 20:15:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:
2 servers with 4 workers
Describe the bug:
Unable to start k3s server with postgeSQL
Steps To Reproduce:
curl -sfL https://get.k3s.io | sh -s - server --node-taint CriticalAddonsOnly=true:NoExecute --tls-san <IP_ADDRESS> --datastore-endpoint="postgres://k3s:k3s@postgres.xyz.com:5432/k3s?sslmode=disable"
Expected behavior:
Installation progress and succeeds
Actual behavior:
fails on creating the database
Additional context / logs:

Oct 20 09:30:06 k3smastersrv01dc1.xyz.com systemd[1]: Starting Lightweight Kubernetes...
Oct 20 09:30:06 k3smastersrv01dc1.xyz.com sh[10357]: + /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service
Oct 20 09:30:06 k3smastersrv01dc1.xyz.com sh[10357]: Failed to get unit file state for nm-cloud-setup.service: No such file or directory
Oct 20 09:30:06 k3smastersrv01dc1.xyz.com k3s[10366]: time="2021-10-20T09:30:06.429631688Z" level=info msg="Starting k3s v1.21.5+k3s2 (724ef700)"
Oct 20 09:30:06 k3smastersrv01dc1.xyz.com k3s[10366]: time="2021-10-20T09:30:06.484074519Z" level=info msg="Configuring postgres database connection pooling: maxIdleConns=2, maxOpenConns=0, connMaxLifetime=0s"
Oct 20 09:30:06 k3smastersrv01dc1.xyz.com k3s[10366]: time="2021-10-20T09:30:06.484306271Z" level=info msg="Configuring database table schema and indexes, this may take a moment..."
Oct 20 09:30:06 k3smastersrv01dc1.xyz.com k3s[10366]: time="2021-10-20T09:30:06.486068872Z" level=fatal msg="starting kubernetes: preparing server: creating storage endpoint: building kine: pq: syntax error at or near "NOT""

good catch, will update and try again.


delegate layout initialization to routes

Description
Fixes #943
Notes (out of scope, known isues, hints for reviewing code, ...)  (optional)
...
Test cases

[ ] Case: Group page

Given I am usual user
When I navigate to this page
Then I see the left menu is displayed without animation

[ ] Case: User page

Given I am usual user
When I navigate to this page or profile page
Then I see the left menu is displayed without animation

[ ] Case: My groups page

Given I am usual user
When I navigate to this page
Then I see the left menu is displayed without animation

[ ] Case: Item by id → Task → normal mode

Given I am usual user
When I navigate to this page
Then I see the left menu is never displayed and starts collapsed

[ ] Case: Item by id → Task → edit mode

Given I am usual user
When I navigate to this page
Then I see the left menu is never displayed and starts collapsed

[ ] Case: Item by id → Chapter → normal mode

Given I am usual user
When I navigate to this page
Then I see the left menu is displayed without animation

[ ] Case: Item by id → Chapter → edit mode

Given I am usual user
When I navigate to this page
Then I see the left menu is displayed without animation

[ ] Case: LTI page :warning: can be tested only locally

Given I am an authenticated moodle user
When I navigate to moodle
And I click on LTI Test 2
And I click on "Test dev.algorea.org (new platform localhost)"
Then I see platform is launched in LTI mode and never displays the left menu

I would have preferred avoiding this call in any routed content (if a new page is created, it is easy to miss that if that page is the first visited, there is a problem). But I don't see any much better alternative 🤷♂.

Typically, it may cause issue for error cases as well... and from I quickly see, this is not handled properly if an item cannot be loaded (and it is not in the tests, so I suppose it is not).


Non-Remote Non-GET Links with Request Entities

Feature Suggestion: Support non-remote non-get links with request entities.
Given the following:
link_to title, resource, :method => :put, :data => { :params => { "a" => "x", "b" => "y" } }

This, when clicked, should send a PUT request with the params above as the request entity in either text/www-url-form-encoded or application/json. It looks like there's code to handle this scenario in a :remote => true link; handle this case even when it is not a :remote => true link.

This seems useful and feasible.


upload fails due to unicode encode error

To reproduce, grab the docker image "savvynavvy/buildpack" and then try to use the mapbox cli to upload a tileset.
Error:
 File "/usr/local/lib/python2.7/dist-packages/mapboxcli/scripts/uploads.py", line 71, in upload
    callback=callback)
  File "/usr/local/lib/python2.7/dist-packages/mapbox/services/uploads.py", line 157, in upload
    url = self.stage(fileobj, callback=callback)
  File "/usr/local/lib/python2.7/dist-packages/mapbox/services/uploads.py", line 70, in stage
    bucket.upload_fileobj(fileobj, creds['key'], Callback=callback)
  File "/usr/local/lib/python2.7/dist-packages/boto3/s3/inject.py", line 469, in bucket_upload_fileobj
    Callback=Callback, Config=Config)
  File "/usr/local/lib/python2.7/dist-packages/boto3/s3/inject.py", line 427, in upload_fileobj
    return future.result()
  File "/usr/local/lib/python2.7/dist-packages/s3transfer/futures.py", line 73, in result
    return self._coordinator.result()
  File "/usr/local/lib/python2.7/dist-packages/s3transfer/futures.py", line 233, inresult
    raise self._exception
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2588' in position 31: ordinal not in range(128)

I'm a bit confused by the docker bit, are you saying the error only occurs inside of that container?
Preferably we could isolate the error without adding docker to the mix: a dataset and a command should be all we need to reproduce it.

Sorry, yes you should be able to repro it without the docker part; that was just an easy way for you to see the various versions of boto3/python/mapboxcli etc that we have (in case it was due to some mismatch there)

And how might one reproduce this error? It would be helpful if you could provide any details: the dataset, the command that failed, the version numbers of the packages.

Let me see if I can be somewhat clearer.
Here are the three relevant python modules I use and their versions for reference:

pip show boto3
Name: boto3
Version: 1.4.4
Summary: The AWS SDK for Python
Home-page: https://github.com/boto/boto3
Author: Amazon Web Services
Author-email: UNKNOWN
License: Apache License 2.0
Location: /usr/local/lib/python2.7/dist-packages
Requires: jmespath, s3transfer, botocore
pip show mapboxcli
Name: mapboxcli
Version: 0.6.0
Summary: Command line interface to Mapbox Web Services
Home-page: https://github.com/mapbox/mapbox-cli-py
Author: Sean Gillies
Author-email<EMAIL_ADDRESS>License: MIT
Location: /usr/local/lib/python2.7/dist-packages
Requires: six, click-plugins, mapbox, cligj, click
pip show s3transfer
Name: s3transfer
Version: 0.1.10
Summary: An Amazon S3 Transfer Manager
Home-page: https://github.com/boto/s3transfer
Author: Amazon Web Services
Author-email<EMAIL_ADDRESS>License: Apache License 2.0
Location: /usr/local/lib/python2.7/dist-packages
Requires: futures, botocore

Using those, just run:
mapbox upload --name foo-staging username.foo-staging foo.mbtiles

I tried adding the tileset I was using, but it's larger than what is allowed on github issues; lemme see if I can upload it elsewhere

see if this works:
https://wetransfer.com/downloads/b7a1a32c3b3c5a9fad9a8046d4a6a20c20170410171936/b90f39780f0c85bf10c3d1b9b1a7875e20170410171936/5300c7

The upload starts, gets to about 2% and then throws the error I pasted in the original report

(alternatively, to reproduce, run the mapbox upload command inside the docker image)

oh and this is running on Python 2.7.9

Thanks @jliebrand! I tried that command with the same version and was able to upload the mbtiles successfully.
$ mapbox --version
0.6.0

$ mapbox upload --name foo-staging perrygeo.foo-staging ~/Downloads/foo.mbtiles
Uploading data source  [████████████████████████████████████]  100%

Another follow up question: what version of mapbox-sdk-py do you have? My test environment is using
$ python -c "import mapbox; print(mapbox.__version__)"
0.12

I'm able to reproduce this but only from your Docker container. The same versions installed locally on mac and linux both work. 😕  Need to investigate a bit more...

Ah, great you are able to reproduce; yeah I suspect it's some odd combination of dependencies, but if it helps, the docker image is based on buildpack-deps:jessie-scm with pip installed via easy_install and mapboxcli installed via pip... (also tried installing python-pip via apt-get, same results)... Let me know if you need the Dockerfile

I was able to reproduce this on Ubuntu 16.04 using python 2.7.12. It happens regardless of the input file and only on Linux, cannot reproduce on OSX.
I traced the error down to a very strange interaction between boto3 and the click progressbar. We can remove mapboxcli from the equation for the sake of the most direct demonstration:
If I set up a boto3 session
from boto3.session import Session as boto3_session
import click
import os
import sys

session = boto3_session()
s3 = session.resource('s3')
bucket = s3.Bucket('perrygeo-test')

Then upload using a click progressbar with an ascii character  (fill_char="#"), it works
In [2]: with open('test.tif', 'rb') as fileobj:
   ...:     filelen = os.stat(fileobj.name).st_size
   ...:     with click.progressbar(length=filelen, fill_char="#", file=sys.stderr) as bar:
   ...:
   ...:         def callback(num_bytes):
   ...:             bar.update(num_bytes)
   ...:
   ...:         bucket.upload_fileobj(fileobj, 'test.tif', Callback=callback)
   ...:
  [####################################]  100%

But if use a unicode character (as mapbox cli does here) for fill_char, the error occurs
In [9]: with open('test.tif', 'rb') as fileobj:
   ...:     filelen = os.stat(fileobj.name).st_size
   ...:     with click.progressbar(length=filelen, fill_char=u"\u2588", file=sys.stderr) as bar:
   ...:
   ...:         def callback(num_bytes):
   ...:             bar.update(num_bytes)
   ...:
   ...:         bucket.upload_fileobj(fileobj, 'test.tif', Callback=callback)
   ...:
  [------------------------------------]    0%

UnicodeEncodeError                        Traceback (most recent call last)
...
UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-19: ordinal not in range(128)

The callback never returns a value so it is perplexing how the boto3 code which calls it can fail when its merely manipulating the state of the progress bar. There is some wierd interaction here which I don't yet understand.
Regardless of the underlying cause, the fix is simple from the perspective of mapbox-cli: just use an ascii fill character.
@jliebrand I'll work up a pull request shortly. If you're able to modify your mapboxcli/scripts/uploads.py, you can patch the change into your application if you need it immediately.

@jliebrand New version is on pypi: https://pypi.python.org/pypi/mapboxcli/0.6.1
Let me know if this does the trick.

Ha! Who would have thought that an error about unicode encoding during upload_fileobj was actually completely unrelated to the data in the file!! :-)
Thanks for the amazingly quick turn around on this guys! 0.6.1 works like a charm on my side!


Stripe connector: incorporate code review feedback

A code review was performed as part of the effort to document how to build a connector. Several opportunities for growth were identified.

Delivered.


v0.1.19

@JuliaRegistrator register

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


Runtime texture update

Description
This pull request brings to CARLA the capability to change textures of objects in the scene in runtime.
Object are anything in the scene using textures, the following functions have been added to the World in order to manage texture updating:
get_names_of_all_objects: returns the names of all objects in the scene.
apply_color_texture_to_object: Applies an 8bit per channel, RGBA texture to an object (uint8 values).
apply_float_color_texture_to_object: Applies an 32bit per channel, RGBA texture to an object (float values).
apply_textures_to_object: Applies the full set of textures (Diffuse, Normal, Emissive, ARME) to an object.
The plural versions of these functions allow to apply the same texture to multiple items.
The new enum MaterialParameter defines what texture parameter in the material to modify (Diffuse, Normal, Emissive, ARME).
The new TextureColor and TextureFloatColor define the texture objects, they have height and width and pixels can be accessed and modified to define their values with the get and set functions. The pixel format is Color and FloatColor respectively.
The new FloatColor structure defines a color composed of float values.
Where has this been tested?

Platform(s): Ubuntu 18.04
Python version(s): 3
Unreal Engine version(s): 4.26

This change is

Hi @Axel1092 , thanks for implementing the feature. May I use the APIs to update texture of vehicle actors in runtime?


enhancement: Add LoRa Tx Power setting

Would be nice to be able to set LoRa TX power.   17dB is default.  Range is between 0 and 20 dB.   Less power means less battery used.
LoRa.setTxPower();
Low priority.

Agreed, btw. Forgot to respond when I saw this.
Tx power and any other LoRa options I may have overlooked. That'll be a quick one I'll do one of these days.

I said I was going to do this, but have busied myself with other things now. If you want to take care of these changes you're welcomed to. 👍

Will do.  Should be an easy one.   I'm working on the sensor READING_ID issue first and then will work on this one.
Wondering if the SystemPacket communication from the gateway to the sensors is the next big feature to work on.  I see you have started that with the ping.

Submitted PR so closing this discussion.


Replace the underscore by h

Hi Tobias !
Thank you for this very cool tool, I use everyday !
When you format file name, I think you should replace underscore by hyphens or let the user choose. Here is why :

In regards to SEO, by providing search engines with textual information for images, your site will benefit from both better placement in search returns and improved positioning in image search results. Remember to use hyphens rather than underscores to separate words.

Source : https://www.winthrop.edu/web/file-naming.aspx#:~:text=In regards to SEO%2C by,than underscores to separate words.
Thank you very much,
Have fun building in open source !

Hey Emilien, thanks for bringing that up! Will take a look into it to get a toggle in the ui. Hyphens by default would break Android :/

Hi Emilien!
We finally added the ability to change the naming. So I'm gonna close this PR.

Thank you very much ☀


Error on @update

I'm receiving the following error when using the @update binding:
Uncaught TypeError: Cannot read property 'apply' of undefined
I have the component registered:
import Multiselect from 'vue-multiselect';
Vue.component('multiselect', Multiselect);

HTML:
<multiselect :id="$index" @update="updateSelectOptions" :options="postcodes" :selected="area.postcodes" :multiple="true" :searchable="true" label="postcode" key="id" :max-height="150"></multiselect>

The multiselect works perfectly it just gives the error when updating. Not sure if it is something to do with my webpack setup? This is what I can see when looking further into the error (not sure how helpful it is!)
(function(scope
/**/) {
return  scope.updateSelectOptions.apply(this,scope.$arguments);
})

That’s weird. Would you mind trying to register it locally?
Also, where is your updateSelectOptions method located?

Hey @scrwdnet! I managed to reproduce this problem locally.
The global component registration doesn’t cause any problems. Uff... :)
However, the problem happens when the updateSelectOptions method isn’t defined on the component, where the multiselect is used. Is the method defined in the same component the postcodes data is?

Hey @shentao just been looking into this for the past couple of hours, you are right I didn't have the method on the right component it was in a sibling component and I must have had a bad case of code blindness!
Thanks for taking the time to have a look into it for me. Would it be worth adding in a check for the method and throwing an error message if it doesn't exist might help someone in the future who is having a moment of madness!
Thanks again, it's a great component!

Haha! It happens to the best of us! :D
You’re right, but this is more a Vue related issue. Maybe you could suggest adding such error message to Vue?

Ahhh ok, yeah I'll bring up an issue and see if they can add something helpful :D


Feature Request: Multisite single sign on

Hi
I store it here as anyhow I will need to have it (or develop it) as continuation of refactor user PR. Anyhow, if anyone have time, ideas or opinion to shape it or do it before I'll be able to pick it up - feel free.

Assume main system is installed as example.com
System allow to spinoff other instances in subdomains like subdomain.example.com
Each subdomain system works as separate process with separate database
Subdomain system uses main system as passport strategy and consumes user session as it is from the main instance
Account management is always happening in main instance
Subdomain systems use ACL to decide who has access to them.
Subdomain systems doesn't use other passport strategies.

@sielay I'm not sure I understand, can you further elaborate on the story here?

@sielay So you want to have subdomains that are running their own instance of MEAN.js and databases, but you want them to share sessions, user accounts, and permissions?

If that's the case then first thing is to make sure you that sessions are stored in a shared area like mongodb, redis, etc. Which will also make your app stateless (that is a good thing).

@sielay Did that answer your question?

Yep. Let's close it.

i am going through the same problem.
what is meant by 'making the app stateless' ?
i have only one db of mongo which i want to be shared across all my subdomains.
can anyone help guide me do this ?


--output-encoding parameter is not used

libwatchman now seems to default to bser encoding, but --output-encoding (and --server-encoding?) are not passed to watchman.  This means that watchman will write JSON but libwatchman will be expecting bser.
Also libwatchman could maybe detect json vs bser by looking at the 1st byte of server output, which will be either '{' or '\x01'?

According to this page (https://facebook.github.io/watchman/docs/socket-interface.html) watchman will respond with the encoding used in making the request.

That's the socket interface, not the command-line interface (which libwatchman uses to get the socket name).

To be clear: this means that libwatchman isn't working for me out of the box.  I get: "Got bad JSON/BSER from watchman get-sockname: object expected".  Is it working for you?

Yeah, it is working for me, but I just realized I don't have that bser code integrated into 2.8 -- so I'll have to merge that and try it out.

A minimal fix is: https://github.com/novalis/libwatchman/commit/7343e5b9848fef793ec3434a9cceaad81b2a3051


Move ui strings to resource file

Just like the title says.
Extract those strings so we're ready for localization

Great work!


Esoteric Mfenced problem

Mfenced elements like
<math>
  <mfenced open="55" close=" ">
    <mn>1</mn>
    <mn>2</mn>
    <mn>3</mn>
    <mn>4</mn>
  </mfenced>
</math>

or
<math>
  <mfenced close="55" open=" ">
    <mn>1</mn>
    <mn>2</mn>
    <mn>3</mn>
    <mn>4</mn>
  </mfenced>
</math>

produce the correct semantic tree but in complete MathML.

Elements like
<math>
  <mfenced open="55" close="44">
    <mn>1</mn>
    <mn>2</mn>
    <mn>3</mn>
    <mn>4</mn>
  </mfenced>
</math>

Produce correct MathML but the semantic tree uses the numbers as fences.

As MathML is a rubbish specification  there is not much we can do about that!


Update embedded-hal dependency to latest version

Nightly still fails due to embedded-time, but otherwise all is green.


Frontend - Lin's work + index type specificaion

In this PR:

Lin's work on TPCC
Index type specification from the parser (Default is SKIPLIST)

From NewYork with love

Commit c499042 changes the default logging level, which causes a failure in Travis CI because too many log messages are printed inside index_performance_test (inserting 1 million key). We could either consider disabling logging inside index performance test, or revert back to the normal default logging level

@wangziqi2013 That is fixed. Thanks!


Add proc macro for binding methods to action maps

Continuation of https://github.com/gtk-rs/gtk3-rs/pull/266
Closes https://github.com/gtk-rs/gtk-rs-core/issues/16

Before going any further: is it really worth it to create a whole new crate for this? Shouldn't we put it into glib-macros instead?
Also: please add error message tests for your macro (like there are in ./glib/clone_tests/clone_compilation_errors.py).

Before going any further: is it really worth it to create a whole new crate for this? Shouldn't we put it into glib-macros instead?

fyi, the actions are part of gio not glib

We can rename "glib-macros" into "gtk-rs-macros" or something along the line if you prefer? I'd simply prefer to avoid creating too many repositories.

fyi, the actions are part of gio not glib

Don't we have a macro for GResource things somewhere? That would also be part of some kind of gio-macros crate then

fyi, the actions are part of gio not glib

Don't we have a macro for GResource things somewhere? That would also be part of some kind of gio-macros crate then

Indeed we do

Ah but that's not a proc macro so irrelevant here.
We could put this into the glib-macros crate here, doesn't seem like much of a problem. gio already indirectly depends on it anyway, and glib-macros wouldn't have to depend on gio. And technically gio is a part of glib anyway.

Moving this to glib-macros will make a circular dependency. Doc-tests depend on gio.

On Sun, 2021-06-06 at 03:30 -0700, Andrey Kutejko wrote:

Moving this to glib-macros will make a circular dependency. Doc-tests
depend on gio.

Well that decides it then :)

Is something blocking this PR at the moment?

Is something blocking this PR at the moment?

Someone who knows well about actions to review if the way how the macro exposes them makes sense, and someone to review if adding this macro causes us composibility problems in the future.

@Hofer-Julian You may try this macro with my crate.

@andy128k I'd like to see this updated with the latest bits from awesome-gtk (async stuff, lint fixes) and then I can review it

A couple more things:

I didn't bother tagging all of them because there's so many, but every usage of gio and glib inside a quote block should be fully qualified using proc-macro-crate. crate_ident_new can be copied from glib-macros. Then it can be #crate_ident for gio and #crate_ident::glib for glib.
Does the #[allow(clippy)] bits actually do anything here? I thought those didn't have an effect inside macros but I could be wrong.

Do we want to require an #[action] attribute on the method in order to make it an action? Without that attribute the macro would skip over that function. That's what I did with gtk::template_callbacks but not sure if it makes sense here?

There are multiple examples of actions with and without an attribute in tests.

Let me modify the example to show what I mean. Would it help to be like this:
#[gio::actions]
impl MyApplication {
    #[action]
    fn action1(&self) { /* this method gets added with add_action */ }
    fn my_method(&self) { /* not an action, just an ordinary method */ }
}

Then action1 becomes an action but my_method does not. Does that make sense? It would allow for putting multiple macros on the same block, like for a widget:
#[gio::actions]
#[gtk::template_callbacks]
impl MyWidget {
    #[action]
    fn action1(&self) { /* ... */ }
    #[template_callback]
    fn callback1(&self) { /* ... */ }
}

What do you think? Or does it make sense to enforce a separate impl block for each macro? I'm not sure.

My opinion is that it is better to keep such blocks separated. Such macros may modify signatures of functions, generate new ones and step on each others feet any other way.

Sounds good to me

@bilelmoussaoui As you worked on actions API, what do you think of this considering the existing helpers you added for making this easier?

Current API is still very verbose and repetitive. I gave it a try and that's how it looks like just for two actions.
            window
                .add_action_entries([
                    gio::ActionEntry::builder("find")
                        .activate(move |this: &Self::Type, _, _| {
                            let this = this.clone();
                            glib::MainContext::default().spawn_local(async move {
                                this.find().await;
                            });
                        })
                        .build(),
                    gio::ActionEntry::builder("copy")
                        .activate(move |this: &Self::Type, _, _| this.copy())
                        .build(),
                ])
                .unwrap();


Little video memory

Hello, everyone.
The guest machine only has 3MB video memory even though I set it to be 128MB in Virtualbox. I got this figure from "About this computer". And therefore I got bad windows display and laggy mouse movement. I searched for solution on the Internet but nothing useful has been found.
Does anyone know how to fix this problem?

Hello,
This looks like a VirtualBox bug, since box itself doesn't affect how much video memory should be provided by default. Maybe try to update VirtualBox or to turn 3D-Acceleration on? (Don't forget to turn it back off, since VM won't boot in headless mode.)


OCI Chart version and tags inconsistency

Hi,
I'm migrating some chartmuseum charts to OCI format, and found that I can add tags directly on the OCI registry (using crane or other oci tool). This lead to some inconsistency between the OCI registry tag and the version in Chart.yml file.
Example:
$ cd demo-app
$ helm package -u . --version 1.0.0
$ helm push demo-app-1.0.0.tgz  oci://registry.com/library/charts/ # version pushed and tag are 1.0.0
$ crane tag oci://registry.com/library/charts/demo-app:1.0.0 2.0.0
$ helm install oci://registry.com/library/charts/demo-app --version 2.0.0

Tags 1.0.0 and 2.0.0 refer to the same artifact, and then helm list shows version 1.0.0, the one written in the file Chart.yml
How can we manage this behaviour, to avoid misconfiguration? I see 2 options for now:

Not tagging OCI registry directly
Remove the version chart information, and manage it with OCI metadata (like we do with containers).

If you have any other idea or remarks, I'm happy to help!

IMHO, to me, this is beyond the scope of Helm. And really a "user error" (But still worth considering if Helm can prevent such a confusing thing if possible)
And, for example, if you replace 2.0.0 with "stable" in the example here, it start to look more reasonable (not sure if helm install --version <..> will accept a non-semver constraint string):
$ cd demo-app
$ helm package -u . --version 1.0.0
$ helm push demo-app-1.0.0.tgz  oci://registry.com/library/charts/ # version pushed and tag are 1.0.0
$ crane tag oci://registry.com/library/charts/demo-app:1.0.0 stable
$ helm install oci://registry.com/library/charts/demo-app --version stable  # not sure if this would actually work

For an improvement, I think charts maintaining their version is deeply ingrained within Helm. And Helm will continue to support non-OCI registries for the foreseeable future. So removing the version from the chart isn't really an option. And the OCI tag is presumably used to identity the version, so needs to be present.
@sabre1041 -- thoughts?


Use Rotation Pivot as FBX Center Point on export

Currently when I switch a creation into FBX, the pivot gets reset to center of mass. I'd prefer to use the rotation pivot (as an option?). This change will let me create mechanisms with custom pivots etc.

I'll take a look at what's going on, thanks for reporting


e2e tests

As the docker compose file is deleted by the pull request:
https://github.com/eclipse-edc/FederatedCatalog/commit/e95bdbca1493135dd986d3e5190b0df5694e8195#diff-5a009985c3c2b86314420cbabdc342063e0b66628bf25b9f879911085079a2c7
I am wondering how the https://github.com/eclipse-edc/FederatedCatalog/tree/main/system-tests/end2end-test#test-execution
is supposed to run.
Thanks so much

we have a way of spinning up runtimes from within the JUnit runner using dedicated URLClassLoaders. The documentation is wrong though, and it should be removed.


hwameistor admission controller prevents pvc creation where sc does not exist

fix in https://github.com/hwameistor/hwameistor/pull/671


Using multiple=true with ember-changeset-validations

Hello,
I'm currently working on a project using both ember-cli-selectize and ember-changeset-validations and am wondering if there is a trick into validating the selectize element when using multiple=true. I'm looking to validate the presence of one or more selections in the element. The single select mode is currently working fine. Here's an example template of where I'm running into issues:
{{#form.element label="Valid Choices" property="validChoices"
                    useIcons=false as |el|}}
      {{ember-selectize
        content=choices
        optionValuePath="content.id"
        optionLabelPath="content.name"
        selection=changeset.pickedChoices
        multiple=true
        placeholder="Valid Choices"}}
{{/form.element}}

I have defined pickedChoices in the model with a hasMany('choice') relationship. Apart from validation not occurring I'm also receiving an error to use an array with multiple. I can only get the error to disappear if I remove changeset. from the selection variable and define pickedChoices as an array in the .js file of the component. I'm not sure if this is a selectize or changeset issue, but any direction would be greatly appreciated!

@nchoch it's not really a direct answer to the problem, but did you consider using ember-power-select? ember-power-select.com

@miguelcobain Yes and I was running into similar problems validating multiple selection. Think I should be looking at ember-changeset-validations then?

I switched to ember-power-select as you suggested and eventually came up with this hacky solution to check for presence. My apologies if this isn't the relevant place to post this, but I thought I'd just follow through on this issue.
{{#if changeset.pickedChoice}}
    {{#form.element label="Valid Choices" validation="success"
                    useIcons=false as |el|}}
      {{#power-select-multiple searchField="name" options=choices
                               selected=changeset.pickedChoice
                               onchange=(action (mut changeset.pickedChoice))
                               as |choice|}}
         {{choice.name}}
      {{/power-select-multiple}}
    {{/form.element}}

{{else}}

    Valid Choices
    {{#form.element validation="error" useIcons=false as |el|}}
      {{#power-select-multiple searchField="name" options=choices
                               selected=changeset.pickedChoice
                               onchange=(action (mut changeset.pickedChoice))
                               as |choice|}}
         {{choice.name}}
      {{/power-select-multiple}}
      At least one choice must be present
    {{/form.element}}
{{/if}}

There are now two nearly identical form elements, but one with validation="success" and one with validation="error". The page will simply use the pre-set passing form element if any selections have been made, and otherwise use the pre-set failing form element if no selections have been made. The downside to this is that there is no neutral state to present to a user. For this problem I've implemented the styling class custom-error where I've specified my own color for the label and message. Unfortunately, I could not get this technique to work using ember-cli-selectize.
A note to anyone who may use this: I have not verified the integrity of data passed this way yet using ember-changeset.


SpotMenu Window appears in the Not-Active window, after clicked.

Prerequisites
Please check that your issue isn't already filed: Checked
Description
Great tool. Works perfect, liked the new version too. This is only a visual bug.
SpotMenu View appears on the second window, when clicked from primary window
Steps to Reproduce

Have an extra monitor other than Macbook Pro 13 inc.
Adjust monitor arrangement as picture attached.

Click to spotmenu on the bottom monitor.

Expected behavior: Appears on the primary window.
Actual behavior: Appears the secondary window which is not active.
Reproduces how often: Always
Versions
SpotMenu version: 1.9.0
MacOS version: MacOS 10.14.2

I have the same issue with 2 secondary screens.

https://github.com/kmikiy/SpotMenu/issues/187#issuecomment-483167708 this should help


HTM-783 Dialogue Enhancement Update and Revised Ordering

Description:

Addressed issue where dialogueEnhancementGain being 0 is now removed.
Adjusted dialogue enhancement override process to ensure receiving one response message and a notification. The order has been updated, with the notification coming after the response.

Testing:

Build image
org.hbbtv_AC4-DE0120
org.hbbtv_AC4-DE0110
org.hbbtv_AC4-DE0160
org.hbbtv_AC4-DE0003
org.hbbtv_AC4-DE0080
org.hbbtv_AC4-DE0070

Happy to merge unless @LiyunOBS has any comments

Ready to merge. @joshua-h


Action and Func Delegates Implementation<EMAIL_ADDRESS>

Requirements

Implement Action delegate
Implement Func delegate
Run unit test

retest this please

retest this please

I have retested and here's a prove:


Remove dependency of dmd on .clone

cc @MartinNowak
Sadly the dependency of dmd on .clone does not work out.
Consider a user who wants to build dlang.org and has a preexisting dmd created by other means (i.e. there's no ../dmd/.cloned directory) and built properly. Then, trying to make dlang.org will follow an unpleasant sequence of events:

There's no ../dmd/.cloned so it will execute the rule for it. The rule uses touch to create a ../dmd/.cloned that is NEWER than the prebuilt ../dmd/src/dmd.

Following that, the rule attempts to build ../dmd/src/dmd. The rule will issue make in dmd's directory, which in turn requires that either dmd had been installed so it's usable for bootstrapping, or AUTO_BOOTSTRAP=1 is used in the command line (which isn't).

It's nice to have the build of dlang.org attempt to build the entire world of dependencies needed for it to work, but having it require boostrapping paraphernalia etc. seems excessive, particularly when ../dmd/src/dmd is present and functional. So this PR removes the dependency on .cloned. The build will be attempted only if ../dmd/src/dmd is actually absent.

Whaaa? No idea why those spurious changes.

bleh I need to redo all that

It's nice to have the build of dlang.org attempt to build the entire world of dependencies needed for it to work, but having it require boostrapping paraphernalia etc. seems excessive, particularly when ../dmd/src/dmd is present and functional.

I absolutely agree, have been struggling with the fact that dlang.org comes with it's own build system for quite a while in the release scripts.


It won't work

Hi.
Is this code updated? I'm total noob and I just wanted to copy paste and use it but it doesn't seem to work.

I'm not using any gesture scripts myself at the moment, but I just tried the script and it works for me.
What mouse are you using? You might have to skip the default bindings like 4 and 5, because those are Mouse4 and Mouse5 on some mice. I would also recommend to clear the G keys you want to use so their bindings do not interfere.

Hi,
The code isn't updated because as far as I can tell it still works great and it hasn't shown any bugs so why change a working piece of script. So it's as updated as need be.
That said, a couple things you need to check is the buttons the script is mapped to, as underlined by @wookiefriseur above. The other thing you need to check is the shortcuts used in System Preferences>Keyboard>Shortcuts

If those are all mapped correctly the script should work and you can check using the debuggingEnabled flag as marked by wookie. If you still encounter problems feel free to respond here with some details about what you checked


fix: fix get-job-artifacts path handling

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/ankorstore/toolbelt?version=dev:7abb88c4898d89f27a49615376f5cefac6ae6d32

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/ankorstore/toolbelt?version=dev:03e38092c5d56e5e329b9e8dd748f9ac28b4ac66


Problem running container

Complaining about Class "Facade\Ignition\IgnitionServiceProvider" not found when running the container, I realized that this is a require-dev dependency and that --no-scripts doesn't enable @php artisan package:discover --ansi if you move for require dependencies, do you have any solution?

If you need this package, I think you should try to run composer install command without any flag or exactly without --no-dev flag.

Thanks for the feedback

@tiagodevweb Please remove composer.lock before building the image. Maybe solves the problem.

Actually the problem was with the bootstrap cache


Add an option to skip ignore if labels or milestones already exist

What does this PR do?
Add an option to skip ignore if labels or milestones already exist
Motivation
Make this step idempotent
Describe how you validated your changes

Possible Drawbacks / Trade-offs
Additional Notes

/merge


adds a new request for subscriptions creation

CC @jthake-msft

@baywet
"raw": "{\r\n  \"changeType\": \"created,updated\",\r\n  \"notificationUrl\": \"{{notificationUrl}}\",\r\n  \"resource\": \"{{resourcePath}}\",\r\n  \"expirationDateTime\": \"2020-04-24T13:30:00.0000000Z\",\r\n  \"clientState\": \"secretClientState\"\r\n}",
This requires environment variables to work. To date we've not been putting things in postman collection like this if they need additional steps. Postman doesn't have a great way to prompt people for variables with explanation of what the variables are. I have spoken to the Postman engineering team and raised this as a feature request.
Any thoughts on what we could do so this is understandable? maybe a sample body would be more useful than just leaving a token?

Good point. We could use tokens like "put your url here". Or I could write a quick unit test that check the variable is set. Opinions?

Let me be a bit clearer, sorry.
rather than https://replacewith.your/notificationURL actually use {{NotificationUrl}}

"raw": "{\r\n  \"changeType\": \"created,updated\",\r\n  \"notificationUrl\": \"{{notificationUrl}}\",\r\n  \"resource\": \"{{resourcePath}}\",\r\n  \"expirationDateTime\": \"2020-04-24T13:30:00.0000000Z\",\r\n  \"clientState\": \"secretClientState\"\r\n}",
can we make {{expirationDateTime}} one too? as its then clear that this needs changing to work?
also can you change it to v1.0 please? ;)

@jthake-msft done!


How localize?

Please advice, how to localize alert messages?

As messages are sent from the backend, you can do like:
public function store(Request $request)
{
     // Code to add a resource

    Alert::message(trans('messages.alert'));
}

That way the messages are translated and sweet alert will show them :)


Finding a place to host the design guide

[ ] domain?
[x] integration?

We've integrated the whole lot. Now just waiting for domain and go ahead.
Should all work automatically once we got the domain... (famous last words)


chore: Send analytics event after branch protection

Description
Sends analytics events when branches are protected or un-protected.
PR fixes following issue(s)
Fixes #29410
Media
Type of change

Chore (housekeeping or task changes that don't impact user perception)

Testing

How Has This Been Tested?

[x] Manual
[x] JUnit

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

Summary by CodeRabbit

New Features

Introduced analytics tracking for adding and removing protected Git branches.

Enhancements

Improved monitoring of changes in Git branch protection settings.

Tests

Implemented tests to verify new analytics event tracking for Git operations.

@AnaghHegde I've updated the PR as per the requested changes

/ok-to-test<EMAIL_ADDRESS>


[Bug Report] Calendar locale

Element UI version
2.10.1
OS/Browsers version
Mac/chrome
Vue version
2.6.10
Reproduction Link
https://jsfiddle.net/mmx38qxw/
Steps to reproduce
Please open your calendar (https://element.eleme.io/#/en-US/component/calendar) from USA any browser, you will see previous month and next month is not working. Previous month is going to May from July
What is Expected?
If I am clicking Previous month from India it’s working fine, but it’s not working when it’s from USA. It should be same.
What is actually happening?
Strange issue, previous and next month is not working from USA country, from India it’s fine. And also day of week is not showing English, though I m using English as default language.

Me too.

Same here... previous month/next month do not work and weekdays are displayed in Chinese.

I have same issue too.
I set i18n locale but weekdays are displayed in Chinese always in version ^2.10.
It works well in 2.8.

+1

+1

+1


feat: add twikoo js version with cloudbase skd

Thanks for your pull request! But it is this file https://github.com/HEIGE-PCloud/DoIt/blob/main/dependencies.json that needs to get updated. The dependencies.json in this repo is just for testing purpose.


Dependency updates

Various dependency updates.

Coverage remained the same at 57.634% when pulling 742e86052b3a393a105fdc985428bc9d11f11ecc on graylog-labs:dependency-updates into e6a8539fb92930f76d1a51a205751face35c89df on searchbox-io:master.


Design for creating and combining operations via CLI

Currently we are adding the ability to create operations transactions here: https://github.com/stellar/stellar-cli/issues/1437
This adds a new tx new subcommand. Then each operation is a subcommand of this: e.g.
stellar tx new create-account --destination G... --starting-balance 10000

By default this will sign and submit the transaction, but does also accept --build-only to return the built transaction.
So to be able to add multiple operations into one transaction we would add a tx add subcommand. This would take a transaction envelope as input via stdin and then has the same interface as new, but in this case would add the operation to the passed in transaction. e.g.
stellar tx new --build-only create-account --destination G... --starting-balance 10000 |
stellar tx add payment --source <key corresponding to the first> --amount 1000 --destination G..

I think we should change tx add to tx add-operation so it is clear what's being added.
In the future we may want sub-commands for adding other things, like add-signature.
This seems like a nice idea to me, but I'm not sure what the priority is as it seems like it would be usable only by some very advanced use cases, and folks can always use Stellar SDKs for advanced use cases.

Agreed, but that goal can be served without supporting sponsorship specifically, and without supporting multi-operation transactions. Do we specifically need those?

A multi-operation transaction is a neat feature that we could work on in the future. For this quarter, I think being able to add classic ops is already a great win.


enhancement: import information and subscriptions from Fritter

I couldn't find how to do a non-bug issue
I need it because my fritter stopped working.

I need it because my fritter stopped working.

There is a functional Fritter version in the ci build.
Just download the following apk file and install it.

Since there were no feedback following my answer, I'm closing this issue.


test/raftstore: add random latency filter for simulation transport

For issue #963
PTAL @siddontang @BusyJay

LGTM
PATL @BusyJay

PTAL

LGTM


Fix showing token prompt if only client_id is missing

This prevents showing of token prompt when a user has lying around a non valid beatport_token.json in the config dir but has valid username and password configured in the beets config. The only thing that's missing in such a situation is a valid client_id which will now be automatically fetched.

Hi @Samik081, what you think about this solution? Just changing to an or instead of an and? Could there be side effects?
The current alternative to how it's initially implemented is to delete the broken beatport_token.json each and every day again which is rather tedious.
Hope that helps. Please get back to me with any concerns.

Hey @JOJ0, thank you for spotting this bug! 👀
I see a little problem with your change - fetching client_id from Beatport creates an additional connection, which would make the total plugin loading time longer. There is no need to fetch the client_id if the token in beatport_token.json is valid.
I think, that the correct solution to this issue is moving fetching client_id to the _authorize() function, so it will be fetched only if t's needed.
Would you like to work on this, or should I close the PR and fix it? :)

Hi,
I gave it a quick try yesterday eveneing. Latest commit is what I came up with.  Somehow I'm can't fetch a valid API_CLIENT_ID anymore. Even when I revert that commit I still get this error:
prod  (beets)    ~/git/beets-beatport4   fix_client_id_not_fetched  beet -vv import -L -t truss
user configuration: /home/jojo/.config/remotebeets/config.yaml
data directory: /home/jojo/.config/remotebeets
plugin paths: /home/jojo/git/whatlastgenre/plugin/beets/beetsplug
inline: adding item field disc_and_track
inline: adding album field incomplete
artresizer: method is ImageMagick
thumbnails: using ImageMagick to write metadata
thumbnails: using GIO to compute URIs
Sending event: pluginload
library database: /home/jojo/.config/remotebeets/remotebeets.db
library directory: /remote/data/music-library
Sending event: library_opened
Sending event: import_begin
beatport4: Started authorizing to the API using username and password
Could not fetch API_CLIENT_ID
Could not fetch token. Check your beatport username and password in the config, or try to get token manually.
Login at https://api.beatport.com/v4/docs/ and paste /token endpoint response from the browser:

So, not sure what's wrong on my end. Anyway, hope you can work with this PR's change. Close or use as a starter, however you like. Thanks! :-) HTH


⚠ Bofrost.be has degraded performance

In ca4a7ff, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1759 ms

Resolved: Bofrost.be performance has improved in d68e4da.


[#noissue] Update message of corrupted state

Codecov Report

Merging #4994 into master will decrease coverage by 0.03%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master    #4994      +/-   ##
==========================================
- Coverage   40.81%   40.78%   -0.04%
==========================================
  Files        2649     2649
  Lines       79281    79281
  Branches    10716    10716
==========================================
- Hits        32361    32333      -28
- Misses      43992    44017      +25
- Partials     2928     2931       +3

Impacted Files
Coverage Δ

...int/web/calltree/span/MetaSpanCallTreeFactory.java
92% <50%> (ø)
:arrow_up:

...uster/zookeeper/exception/ConnectionException.java
0% <0%> (-28.58%)
:arrow_down:

.../cluster/zookeeper/ZookeeperExceptionResolver.java
17.24% <0%> (-17.25%)
:arrow_down:

...vercorp/pinpoint/rpc/packet/ServerClosePacket.java
52% <0%> (-16%)
:arrow_down:

...vercorp/pinpoint/rpc/packet/ClientClosePacket.java
55.55% <0%> (-11.12%)
:arrow_down:

...r/zookeeper/CuratorZookeeperConnectionManager.java
68.75% <0%> (-6.25%)
:arrow_down:

...rp/pinpoint/rpc/server/PinpointServerAcceptor.java
84.93% <0%> (-4.8%)
:arrow_down:

...r/zookeeper/ZookeeperClusterDataManagerHelper.java
76.59% <0%> (-4.26%)
:arrow_down:

...rc/main/java/com/navercorp/pinpoint/test/Item.java
68.96% <0%> (-3.45%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
78.47% <0%> (-1.39%)
:arrow_down:

... and 3 more

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 36d857b...7263845. Read the comment docs.