Refactoring for pickModel.js

There are some issues that are related to model picking, most of them boiling down to the pickModel.js functions. These became more apparent with the changed behavior of the screen space camera controller that was introduced in Cesium 1.114. This change caused the pickModel.js functions to be called many times, and the behavior was crucially dependent on the correctness of the results. Some of these issues are

https://github.com/CesiumGS/cesium/issues/11811
https://github.com/CesiumGS/cesium/issues/11812
https://github.com/CesiumGS/cesium/issues/11814
https://github.com/CesiumGS/cesium/issues/11816

This PR attempts to refactor the pickModel.js functions to either resolve/alleviate these issues, isolate their causes, and/or make fixing them a bit easier.
NOTE: The current state is an intermediate state, containing some debug output and compile-time flags. There are a few places marked with TODO where the correctness of the refactored state has to be verified, or where specific reasons for some of the issues have been identified but not fixed yet.
(BTW: The build failure is only due to TSDoc issues - this can trivially be resolved. The unit tests are still passing, apparently)
Changes until now
The change started with breaking the original pickModel function into smaller pieces. These should not include any changes in the behavior or approach. The was only intended to have functions that may be easier to test and modify.
The main actual changes  for now try to address the performance issues. The old behavior for this part can be restored via the DEBUG_USE_ORIGINAL compile-time flag.
Old approach
The original approach for finding intersections is now carved out into a function computeClosestOriginal. This approach was as follows:

For each instance transform t

For each triangle (v0,v1,v2)

Transform the triangle vertices with t  (done on-the fly in getVertexPosition)
Test the transformed triangle for intersection with the ray

This causes all vertices to be transformed many times (once for each instancing transform).
New approach
The new approach is in the computeClosestWithTransformedRays function. It works as follows

For each instance transform t

compute a transformedRay that was computed as t^-1 * ray

For each triangle (v0,v1,v2)

Test the triangle for intersections with each transformedRay

Now, the vertices do not have to be transformed any more.

A comparision of a very crude "benchmak" (details below), with ballpark estimates for picking times:

TOTAL took 16198.300000000745ms for 81 hits with current main
TOTAL took 16834.5ms for 81 hits with the refactored state, without the new approach
TOTAL took 10083.099999999627ms for 81 hits with the new approach

Current state
The original pickModel function is wrapped into one that prints timing- and debug information. (Before merging, the lines that contain debugInfo may simply be removed, but maybe something like that could be useful later, maybe via some compile-time flag?). The debug information just collects info about how many nodes/primitives/indices have been considered during the picking. This may be an output like
{
  "numNodes": 10,
  "nodeInfos": [
    {
      "numTransforms": 1,
      "numPrimitives": 1,
      "numCheckedPrimitives": 1,
      "primitiveInfos": [
        {
          "numIndices": 372006
        }
      ]
    },
    ...
  ],
  "totalNumIndices": 3720060
}
took 125.5ms

The idea is that this could give valuable hints about why a certain pick operation took as long as it took.
Here is an archive that contains a Sandcastle for picking tests, and a few test models:
Cesium 114 picking issues PR 2024-02-14.zip
The archive also contains a README.md explaining some details about the test models.
The sandcastle can load one of these models, and allows "debug picking". It also contains some sort of crude "benchmark". For example, when loading the plane-xz-p-n-250x250-times-10.glb test model and then RIGHT clicking once, it will send many picking rays through the model and print the accumulated timing information.
Further steps
The main change until now was to avoid transforming the vertices, and instead, transforming the picking ray. The function getVertexPositionRaw is obtaining the vertices in their un-transformed form. But this function is still doing dequantization and other things. Considering that each vertex is contained in (on average) six triangles, this will still do a lot of work multiple times. It may be worthwhile to consider doing this only once, and storing the "fully decoded" vertices, before going through the indices/triangles and doing the intersection tests.
I have not yet created test models that contain quantization. One reason for that is that I'd do this with glTF-Transform, and this always uses interleaved buffers, which don't work at all right now - see below. As soon as this issue is resolved, further test models with quantization can be created, to perform the appropriate benchmark runs and comparisons.
Testing plan
As mentioned above, the current state is a DRAFT. Aspects that require review and further tests are marked with TODO in the current code. This includes...

Models with interleaved accessors do not work. The reasons are pointed out in https://github.com/CesiumGS/cesium/issues/11816#issuecomment-1939803607 , and the archive contains two test models for that: One "unit square" with standard accessor layout, and once with interleaved accessor layout
The new approach for the intersection tests will transform the ray, and not the vertices. One place in the code is marked with a TODO to point out that the "vertical exaggeration" may have to be taken into account here (I haven't yet thought about the details how this could be done)
Models that use EXT_mesh_gpu_instancing cannot be picked. The point for addressing this is in the part that is now carved out into a function called computeInstancesTransforms.

Author checklist

[x] I have submitted a Contributor License Agreement
[X] I have added my name to CONTRIBUTORS.md
[ ] I have updated CHANGES.md with a short summary of my change
[ ] I have added or updated unit tests to ensure consistent code coverage
[X] I have update the inline documentation, and included code examples where relevant
[ ] I have performed a self-review of my code

I mentioned

The new approach for the intersection tests will transform the ray, and not the vertices. One place in the code is marked with a TODO to point out that the "vertical exaggeration" may have to be taken into account here (I haven't yet thought about the details how this could be done)

and I've accidentally been thinking about this. A relatively straightforward approach could be to apply ... the inverse of the exaggeration (a ... belittling... or floccinaucinihilipilification ... ?) to the ray before transforming it with the actual inverse transform. The difficult point here is that the exaggeration is non-linear (it is linear along the normal (at least, I think that there is no such thing like a 'logarithmic exaggeration', even though that could be interesting as well), but it is not linear on the scale of the globe). As a last resort, there would always be the 'safe fallback' like if (verticalExaggeration !== 1.0) useTheOldApproach();...

@javagl I think the proposed approach could be used with vertical exaggeration if both the ray and the position are transformed into the vertically exaggerated ellipsoid space. However, this will still end up applying a transform to each vertex, which I assume would nullify the optimization.
As you said above, we could do this only when verticalExaggeration !== 1.0. While still slower in the vertical exaggeration case, transforming both the ray and position to scaled ellipsoid space will avoid too much branch code.

Actually, upon further review, that is only possible for geocentric exaggeration, not geodetic exaggeration as vertical exaggeration works elsewhere.

@javagl I'm going to go ahead and close this PR for now. Some of these improvements were integrated with https://github.com/CesiumGS/cesium/pull/11842, and we'll want to make sure we have the proper time to go through the rest.
Thanks!


Add healthcheck to standalone

healthcheck is added in the same way as collect and query since it is missed in standalone.
https://github.com/jaegertracing/jaeger/issues/775
Signed-off-by: Eundoo Song<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling fa7acd8f6d7b9dd28328076db5c80c7fd1219165 on eundoosong:healcheck_standalone into cfb68d6649bfbae44bd4cbaeaae9ea5f7d19b856 on jaegertracing:master.

So this is actually adding two independent health check endpoints, for collector and query.
Could you describe in the PR why this is needed, how it can be used? Our objective is to only add features that are actually useful to people (and documented!).
Thanks.

I think it would be better for people who want to use health check in the same way as separated one.
Because it is more consistent rather than providing another end point.
Plus, help message already shows each healthcheck flags of collector and query.
Documentation should be as different PR in documentation repo.
Thanks.

I think it would be better for people who want to use health check in the same way as separated one.

But how would you use it? E.g. our internal deployment system and discovery system (part of routing) only support one health endpoint per service.
I am not suggesting a separate endpoint (we serve metrics from one port only, healthcheck would be on the same port), but I think there should be only one health status for the binary, not two that are potentially conflicting.

I think there should be only one health status for the binary, not two that are potentially conflicting.

+1, from an operator's perspective, it makes more sense to have one endpoint that reports the health of the system in general than one health check endpoint for each component.

we serve metrics from one port only, healthcheck would be on the same port

I don'get this, does this mean healthcheck is using the same port as metrics?
I agree that one endpoint of the health check per service(binary) makes more sense.
Thanks for pointing out.
So, if you agree with adding one healthcheck in standalone, the following should be considered.

Add a healthcheck for standalone. (with new port number)
Add a flag like "standalone.health-check-http-port"
Hide existing collector(--collector.health-check-http-port) and query(--query.health-check-http-port) flags

I think the implementation will not be many changes, but I'm wondering which port number can be used.

You don't need a new port, all-in-one already opens several HTTP ports, you can just add an endpoint to one of them. E.g. we define ports for the /metrics endpoint here https://www.jaegertracing.io/docs/monitoring/. In all-in-one the /metrics endpoint is served from query service API port (https://github.com/jaegertracing/jaeger/pull/784/files#diff-053312057ab6b9282b572674adc5b7f6R298), so it makes the  most sense to me to add the /health endpoint to the same port.

Your suggestion looks good. But since health check is using its own HTTP server(with ServeMux) and the other service(collector, query) is using Gorilla Mux, it's a bit difficult for health check to use without change in health check. I did implement (https://github.com/eundoosong/jaeger/commit/5d16806e0f7cf6f1a08b6c3a2b33c18de7f2db26) but IMO it doesn't look better in term of design.
So I decided collector port for health check(port num is 14269) is used for standalone health check port.
Please review.

Reverted.
Ready to be merged, or is there anything else missing?


using Xorg + XFCE + xmodmap + .Xmodmap incurs constant Xserver load

Describe the bug
I installed the package xorg.xmodmap and populated the file .Xmodmap using ``, then modified keycode 107 to dead_greek, to use greek alphabet using my PrtScr key.
To Reproduce
Steps to reproduce the behavior:

Add xorg.xmodmap to the installed system packages, run nixos-rebuild switch
Populate $HOME/.Xmodmap using xmodmap -pke > ~/.Xmodmap
Modify some of the bindings. I modifed the line with keycode 107 to keycode 107 = dead_greek dead_greek dead_greek dead_greek
At least after a reboot, and then login, the X server load stays at ~25% on my laptop.

Expected behavior
The X server load should not depend on the presence of .Xmodmap.
Screenshots
None.
Additional context
Normally, XFCE greets me with a message "bounced keys are disable", but this doesn't seem to be the case when I use .Xmodmap.
Notify maintainers
The file which contains the package is automatically generated. And it seems to be caused by a bad interaction between Xorg, XFCE and xmodmap.

Metadata

system: "x86_64-linux"
host os: Linux 5.4.100, NixOS, 20.09.20210227.d303eee (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.4pre20201201_5a6ddb3
channels(root): "nixos-20.09.3281.06b11191834"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
  # I'm not sure if the following is correct
  - xfce.xfce4-settings
  - xorg.xmodmap
# a list of nixos modules affected by the problem
module:

I don't know about an issue with xmodmap, but I thought I'd point you to a recent xfce problem just in case:
When you did nixos-rebuild switch did you also upgrade xfce? If so, are you running into the xfce4-power-manager issue, which I reported upstream? If so, see the linked NixOS xfce4-notifyd issue.

I don't think I ran into this problem, but I also wasn't able to get xfce4-power-manager to work (but I also hadn't tried that hard).


[RTL] Fix I-side timing loop

See issue #265 (partially fixes)
Remove path from instr_rvalid_i to instr_req_o
Prefetch buffer unit can now issue up to two outstanding requests
Structure moved from state machine to request queue
Change fetch fifo to use an unaligned flag rather than updating
the address each time

Thanks for the update Tom! Please feel free to merge whenever you're ready.


Fix existing endpoints

Description
Fix existing endpoints
Fixes/resolves #100, resolves  #98
Screenshots
Please include any screenshots or media that illustrates the changes made
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Improvement (non-breaking change which improves existing functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:
Leave blank if not applicable
I have completed these steps when making this pull request:

[x] I have checked that the PR is from a forked repository
[x] I have assigned my name to the issue
[x] I have moved the issue to the In Progress column
[x] I have labelled the PR appropriately
[x] I have assigned people responsible to the PR

Before opening the PR for review:

[ ] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[ ] I have documented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] 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
[ ] I have moved the linked issue to the Review in Progress column

middleware.lib.ts Line 24 in isAuthenticated() - is it possible to refactor the nested try catch

This currently has to be there due to a limitation in how express cannot catch errors in asynchronous code


Update dependency numpy to v1.22.2

This PR contains the following updates:

Package
Update
Change

numpy (source)
patch
==1.22.1 -> ==1.22.2

Release Notes

numpy/numpy
v1.22.2
Compare Source
NumPy 1.22.2 Release Notes
The NumPy 1.22.2 is maintenance release that fixes bugs discovered after
the 1.22.1 release. Notable fixes are:

Several build related fixes for downstream projects and other
platforms.
Various Annotation fixes/additions.
Numpy wheels for Windows will use the 1.41 tool chain, fixing
downstream link problems for projects using NumPy provided libraries
on Windows.
Deal with CVE-2021-41495 complaint.

The Python versions supported for this release are 3.8-3.10.
Contributors
A total of 14 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.

Andrew J. Hesford +
Bas van Beek
Brénainn Woodsend +
Charles Harris
Hood Chatham
Janus Heide +
Leo Singer
Matti Picus
Mukulika Pahari
Niyas Sait
Pearu Peterson
Ralf Gommers
Sebastian Berg
Serge Guelton

Pull requests merged
A total of 21 pull requests were merged for this release.

#20842: BLD: Add NPY_DISABLE_SVML env var to opt out of SVML
#20843: BUG: Fix build of third party extensions with Py_LIMITED_API
#20844: TYP: Fix pyright being unable to infer the real and imag...
#20845: BUG: Fix comparator function signatures
#20906: BUG: Avoid importing numpy.distutils on import numpy.testing
#20907: MAINT: remove outdated mingw32 fseek support
#20908: TYP: Relax the return type of np.vectorize
#20909: BUG: fix f2py's define for threading when building with Mingw
#20910: BUG: distutils: fix building mixed C/Fortran extensions
#20912: DOC,TST: Fix Pandas code example as per new release
#20935: TYP, MAINT: Add annotations for flatiter.__setitem__
#20936: MAINT, TYP: Added missing where typehints in fromnumeric.pyi
#20937: BUG: Fix build_ext interaction with non numpy extensions
#20938: BUG: Fix missing intrinsics for windows/arm64 target
#20945: REL: Prepare for the NumPy 1.22.2 release.
#20982: MAINT: f2py: don't generate code that triggers -Wsometimes-uninitialized.
#20983: BUG: Fix incorrect return type in reduce without initial value
#20984: ENH: review return values for PyArray_DescrNew
#20985: MAINT: be more tolerant of setuptools >= 60
#20986: BUG: Fix misplaced return.
#20992: MAINT: Further small return value validation fixes

Checksums
MD5
2319f8d7c629d0ba3d3d3b1d5605d494  numpy-1.22.2-cp310-cp310-macosx_10_14_x86_64.whl
023c01a6d3aa528f8e88b0837dcab7ed  numpy-1.22.2-cp310-cp310-macosx_11_0_arm64.whl
84b36e8893b811d17a19404c68db7ce6  numpy-1.22.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
744da9614e8272a384b542d129cd17a9  numpy-1.22.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ee012ed5e7c98c6f48026dfa818b2274  numpy-1.22.2-cp310-cp310-win_amd64.whl
73e4fdcf398327bc4241dc38b6d10211  numpy-1.22.2-cp38-cp38-macosx_10_14_x86_64.whl
9fcbca2a614af3b9a37456643ab1c99d  numpy-1.22.2-cp38-cp38-macosx_11_0_arm64.whl
b7e0d4a19867d33765c7187d1390eef4  numpy-1.22.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
dc8d79d75588737ea77fe85a4f05365a  numpy-1.22.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
05906141c095148c53c043c381e6fabe  numpy-1.22.2-cp38-cp38-win32.whl
05d3b6d34c0fa031e69ec0476e8d4c9c  numpy-1.22.2-cp38-cp38-win_amd64.whl
1449889d856de0e88437fa76d3284e00  numpy-1.22.2-cp39-cp39-macosx_10_14_x86_64.whl
e25666ab6ec0692368f328b7b98c27a3  numpy-1.22.2-cp39-cp39-macosx_11_0_arm64.whl
59e3013894bcc6267054c746d9339cf8  numpy-1.22.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7606b9898c20d2b2aa7fc7018bc9c5cd  numpy-1.22.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2686a1495c620e85842967bf8a5f1b2f  numpy-1.22.2-cp39-cp39-win32.whl
54432a84807ab69ac3432e6090d5a169  numpy-1.22.2-cp39-cp39-win_amd64.whl
4dbecace42595742485b854b213341b6  numpy-1.22.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5b506b01ef454f39272ca75de1c7f61c  numpy-1.22.2.tar.gz
a903008d992b77cb68129173c0f61f60  numpy-1.22.2.zip

SHA256
515a8b6edbb904594685da6e176ac9fbea8f73a5ebae947281de6613e27f1956  numpy-1.22.2-cp310-cp310-macosx_10_14_x86_64.whl
76a4f9bce0278becc2da7da3b8ef854bed41a991f4226911a24a9711baad672c  numpy-1.22.2-cp310-cp310-macosx_11_0_arm64.whl
168259b1b184aa83a514f307352c25c56af111c269ffc109d9704e81f72e764b  numpy-1.22.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3556c5550de40027d3121ebbb170f61bbe19eb639c7ad0c7b482cd9b560cd23b  numpy-1.22.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
aafa46b5a39a27aca566198d3312fb3bde95ce9677085efd02c86f7ef6be4ec7  numpy-1.22.2-cp310-cp310-win_amd64.whl
55535c7c2f61e2b2fc817c5cbe1af7cb907c7f011e46ae0a52caa4be1f19afe2  numpy-1.22.2-cp38-cp38-macosx_10_14_x86_64.whl
60cb8e5933193a3cc2912ee29ca331e9c15b2da034f76159b7abc520b3d1233a  numpy-1.22.2-cp38-cp38-macosx_11_0_arm64.whl
0b536b6840e84c1c6a410f3a5aa727821e6108f3454d81a5cd5900999ef04f89  numpy-1.22.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2638389562bda1635b564490d76713695ff497242a83d9b684d27bb4a6cc9d7a  numpy-1.22.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6767ad399e9327bfdbaa40871be4254d1995f4a3ca3806127f10cec778bd9896  numpy-1.22.2-cp38-cp38-win32.whl
03ae5850619abb34a879d5f2d4bb4dcd025d6d8fb72f5e461dae84edccfe129f  numpy-1.22.2-cp38-cp38-win_amd64.whl
d76a26c5118c4d96e264acc9e3242d72e1a2b92e739807b3b69d8d47684b6677  numpy-1.22.2-cp39-cp39-macosx_10_14_x86_64.whl
15efb7b93806d438e3bc590ca8ef2f953b0ce4f86f337ef4559d31ec6cf9d7dd  numpy-1.22.2-cp39-cp39-macosx_11_0_arm64.whl
badca914580eb46385e7f7e4e426fea6de0a37b9e06bec252e481ae7ec287082  numpy-1.22.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
94dd11d9f13ea1be17bac39c1942f527cbf7065f94953cf62dfe805653da2f8f  numpy-1.22.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8cf33634b60c9cef346663a222d9841d3bbbc0a2f00221d6bcfd0d993d5543f6  numpy-1.22.2-cp39-cp39-win32.whl
59153979d60f5bfe9e4c00e401e24dfe0469ef8da6d68247439d3278f30a180f  numpy-1.22.2-cp39-cp39-win_amd64.whl
4a176959b6e7e00b5a0d6f549a479f869829bfd8150282c590deee6d099bbb6e  numpy-1.22.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
093d513a460fd94f94c16193c3ef29b2d69a33e482071e3d6d6e561a700587a6  numpy-1.22.2.tar.gz
076aee5a3763d41da6bef9565fdf3cb987606f567cd8b104aded2b38b7b47abf  numpy-1.22.2.zip

Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: undefined
Command failed: pip3 install -r requirements.txt
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'
WARNING: You are using pip version 21.3.1; however, version 22.0.3 is available.
You should consider upgrading via the '/usr/local/python/3.10.1/bin/python3.10 -m pip install --upgrade pip' command.

File name: undefined
Command failed: pip-licenses --ignore-packages pkg-resources --with-urls --format=csv --output-file=third-party-licenses/third-party-licenses.csv
/bin/sh: 1: pip-licenses: not found

File name: undefined
Command failed: pip-licenses --ignore-packages pkg-resources --summary --output-file=third-party-licenses/third-party-licenses-summary.txt
/bin/sh: 1: pip-licenses: not found

⚠ Artifact update problem
Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: undefined
Command failed: source venv/bin/activate && cd project && pip3 install -r requirements.txt
/bin/sh: 1: source: not found

File name: undefined
Command failed: source venv/bin/activate && cd project && pip-licenses --ignore-packages pkg-resources --with-urls --format=csv --output-file=third-party-licenses/third-party-licenses.csv
/bin/sh: 1: source: not found

File name: undefined
Command failed: source venv/bin/activate && cd project && pip-licenses --ignore-packages pkg-resources --summary --output-file=third-party-licenses/third-party-licenses-summary.txt
/bin/sh: 1: source: not found


How to Accelerate Operation？

now GPU P100 test，200ms/per，but it is slower for me，how to do ？？

DULR is very time-consuming. You can remove it and retrain the model. As a result, the performance may be reduced.


Changing avatar does not refresh it when selecting the file

STR

Go to "Account settings"
Go to "Profile"
"Chose avatar"
Select a file

Current result
There is no preview of the new avatar
Expected result
The new avatar should have a preview (specially when you don't have an avatar yet)

For me this is not a bug, flow works.

oki


AnimationPlayer.GetCurrent* methods fail to run with "Condition ' !playback.current.from ' is true."

Godot version:
master / 68f277477b5a5f3003405e36c6b6853720cb91de
OS/device including version:
Manjaro Linux 17.1
Issue description:
While playing an animation with AnimationPlayer, invoking any of the GetCurrent* methods fail with the following message:
ERROR: get_current_animation_position: Condition ' !playback.current.from ' is true. returned: 0
   At: scene/animation/animation_player.cpp:1068.

Is this C# specific issue, or does it happen with GDScript as well?

I can only say that it happens with C# for now, as I haven't used GDScript before.
I might be able to create a GDScript project sometime later, but I wish someone who's already working on a GDScript project could confirm this one.

this happens in GDScript as well.

Still happening in GDScript v3.0.5
tried the following pointless and redundant code in failed effort to prevent error
am simply trying to reset all animations within a grid of dynamically instanced button nodes, each with a child animationplayer node, everything works just cannot rid of the error code
func resetBTN_animations():
var targetBTNs = _chartGrid.get_children()
for i in targetBTNs.size():
	if targetBTNs[i].get_node("anim").current_animation_position > 0:
		targetBTNs[i].get_node("anim").seek(0,true)
		targetBTNs[i].get_node("anim").stop()

I will close this, because I don't see how it could be a bug. Code can't be clearer also:
	ERR_FAIL_COND_V(!playback.current.from, 0);
	return playback.current.from->animation->get_length();

Also getting this error with C# in 3.1 stable.

Getting this with GDScript when using seek(0, true) or anything with seek too

I'm getting this with GDScript while using current_animation_position in an if statement, but I don't see a reason for the error as everything seems to work.

I found a way to get around this. Maybe someone finds it useful in the future:
if current_animation!="":
	print(current_animation_position)
	seek(0)

It won't produce any errors. The reason is obviously: when there was never an animation played, you can't access its position or seek through it.

Very useful @mrimvo - thank you. The idea that it happens when an animation was never played makes sense to me as I could sometimes replicate it and sometimes not. Would be great if this could be re-opened and addressed though.

Well that's what the error message says since the beginning, but @reduz failed to make that more explicit to users here...
Let's reopen and improve the error message.


Update README.md

Added a few emoticons, gifs and badges to make it look more attractive

Why is kinda SFW required?
Also, I wanted the working of moboff to be displayed in a GIF - see this for example : keep.

kinda SFW made it look a bit humorous :P
and the running moboff thing....there is a problem in that...
moboff also asks the directory when i am using my mobile as device. So it first downloads in my laptop then to the device so that will also be shown.

@mihirg008 I think kinda SFW should be removed, and the GIFs depicting the usage need to be here.

I'll do that ASAP.


Open file with same button with enter directory

Is your feature request related to a problem? Please describe
No response
Will you be willing to contribute this feature?

[ ] Yes, I'll give it a shot

Describe the solution you'd like
Enter the children's directory and the file opening key (Right arrow) should also be used so that if you are standing on a file, it will be opened and standing directory, then enter the directory (aka lf file manager, vifm etc)
Describe alternatives you've considered
No response
Additional context
No response

See https://yazi-rs.github.io/docs/faq#why-cant-open-and-enter-be-a-single-command
When the plugin system is available (should be soon, https://github.com/sxyazi/yazi/pull/401), for users who truly don't need it, it will be easy to implement with just a few lines of code.

We've supported it now, see this tip https://yazi-rs.github.io/docs/tips/#smart-enter-enter-for-directory-open-for-file.
Note that Yazi main branch is currently required.


Ignore gradle scripts generated by Intellij

IntelliJ IDEA if you select gradle wrapper in project creation time it creates two scripts (linux and windows) called gradlew and gradlew.bat, and I think it's not good idea to upload those files.

gradlew and gradlew.batare part of the gradle-wrapper, that should be checked in to version control...
From Gradle documentation :

gradlew
gradlew.bat
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.properties

"All of these files should be submitted to your version control system. This only needs to be done once. After these files have been added to the project, the project should then be built with the added gradlew command. The gradlew command can be used exactly the same way as the gradle command."

@haritzmedina the feedback from @drothmaler - as well as the mention in the official documentation - makes me thing this isn't a good change to incorporate.
Let me know if you agree or disagree with his feedback.

Yes, I agree with @drothmaler. Thanks for your advices.


Checkbox toggle functions

This pull request contains some features like-
-Check and uncheck the Checkbox and update the information in Local Storage.
-Line through a task if it is complete.
-Clear all completed tasks with a single button click.

[ ] Readme file:
Can you remove the live demo link? because the link you provided is not appropriate.
Can you provide a better link to be cloned? what is there does not match this PR
Can you provide better links to Twitter and LinkedIn? because your links are broken

NB: This comment is not inline with the code because the File was not made available.


Unable to build docker image for arm machine

I am getting the error that was shown in the above image i want to build image in arm machine

Try using arm64v8/node:14-alpine instead of node:14-alpine to build the image.


cmd/gofmt: change in exponent literal notation from 1.12 to 1.13

What version of Go are you using (go version)?

$ go version

go version devel +6a4b1f745d Wed Jun 12 17:10:31 2019 +0000 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/liggitt/Library/Caches/go-build"
GOENV="/Users/liggitt/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/liggitt/go"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Users/liggitt/git/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/liggitt/git/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/h8/3dzrjpfj76d93vbhc5f2r8tw00kjgb/T/go-build371862376=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Ran go fmt on 1.12.
Ran go fmt on 1.13.
What did you expect to see?
Results to be consistent.
What did you see instead?
Exponent numbers were normalized differently:
1.12: 100E6
1.13: 100e6

I think this was an intentional change.
CC @griesemer

any rationale or reference for the change? dueling gofmt across releases makes for unhappy CI and contributors. If the benefit is significant, changes make sense, but I'm not seeing it here.

Correct. This was done on purpose. We do the same for prefixes, e.g. 0X123 becomes 0x123. The reason is that now that we allow 0O123, the form 0o123` is easier to read. We simply make the change everywhere, and didn't stop with exponents either (but we leave hexadecimal digits alone).
Closing as working as intended.

@liggitt My apologies. With the proliferation of new number formats that are permitted, we (I mean several people in the Go team) felt that it would be good for gofmt to enforce a preferred, uniform style of capitalization.
I understand the unhappy CI - but that would be the case for any gofmt change, woulnd't it? If there's anything more "substantial" (I don't mean to disqualify your complaint) where this is causing problems, please feel free to re-open.

that would be the case for any gofmt change, woulnd't it?

Yes, though usually the cost is easier to bear given the improved readability. The benefit here wasn't as obvious (we only had exponents in our codebase)
Digging into the change, it looks like this is normalizing where no normalization previously occurred, so the output of 1.13 will still be acceptable to 1.12, which reduces my concern (versions of gofmt flipping opinions about the "right" formatting makes backports to branches built with different go versions painful)

Correct. The new gofmt is now stricter. It has not changed its opinion.


[opt](index compaction)Optimize logic of picking columns for index compaction (#42051)

Proposed changes
bp #42051

run buildall


outdated pythonwrapper-tests

Seems to me that the pythonwrapper-tests.py is outdated. I build TiGL with the TIGL_BUILD_TEST activate.
Then, when I try to run the "runtests.sh" script in folder "./build/tests/unittests/", I get the error
"tiglwrapper" not present.  So I make sure that the variable PYTHONPATH and LD_LIBRARY_PATH was correctly set, but there was still the same error.
I realize that the generate wrapper was named "tigl3wrapper", but "tiglwrapper is used in "pythonwrapper-test.py.
So I update the pythonwrapper-test.py file to use tigl3wrapper instead of tiglwrapper . I do the same for tixiwrapper. (see the file attached to this issue)
Now most of the tests are running, but there is still some errors.
modified-pythonwrapper-tests.zip

Also, it does not work with python 3. "unicode()" is no longer part of python.
Used in file nsiqcppstyle.py in def ModulePath():
It does work with python2.
Also, it seems the unit tests will not run on windwows? There is only a runtests.sh but no bat.
Running with the VS2019 Test explorer only results in a syntaxheck.
Using RUN_TESTS produces an error - see
https://gist.github.com/spirritus/0467e9498d81de966a1aea1243aa9812


ARROW-1689 Allow User To Request No Data Copies

This makes performance debugging much easier, as it allows you to track down what (Arrow) data is causing unexpected delays in loading. It also makes testing features like ARROW-1689 easier as you can prove (via unit tests) that copies are not being made.

pandas aggressively consolidates blocks. For non-categorical types, the maximum performance, most memory efficient choice for nearly all pandas users is to create pre-consolidated blocks.
I’m a bit worried about doing significant work on this code without having ASV benchmarks set up

@xhochy OK - Travis, &c. are all green now. @wesm thanks - that makes sense. I'm definitely not looking to do significant work! That said, MAP_FIXED looks like a path to mapping different columns in the Arrow file to a contiguous address space (i.e. a pre-consolidated block) without physically copying the data...:)


Unable to add multiline text to header_footer

I'm unable to add multiline text to the header_footer object, is there a control character that facilitates this that I'm missing?
Seems when header_footer calls the xml_to_string method, any newline/return characters I add are ignored and read as plain text. The method CGI.escapeHTML in to_xml_string doesn't appear to handle new lines and therefore they're not properly converted to their XML equivalent.

Understanding this current workaround only covers my given use case, as a temporary fix I've manually added the following three lines to the to_xml_string method of HeaderFooter to handle a newline character:
if value.include?('\\n')
  value = value.gsub('\\n', '
')
end

Then I added the newly modified method to an initializer:
Axlsx::HeaderFooter.module_eval do
  def to_xml_string(str = '')
    str << "<headerFooter "
    serialized_attributes str
    str << ">"
    serialized_element_attributes(str) do |value|
      value = ::CGI.escapeHTML(value)
      if value.include?('\\n')
        value = value.gsub('\\n', '
')
      end
    end
    str << "</headerFooter>"
  end
end

Any thoughts on shoring this up?

It works for me just using single backslash n in a double-quotes string "\n":
center_header = "&CMAIN TITLE\nSubtitle"


pyparsing not included in requirements.txt file so make fails.

After performing the initial install of packages and executing the make  I get this error.  The python module pyparsing is missing from the installation.  Here is the error below.
Also recommend instruction for creating a virtual environment and specify Python version required.
After installing pyparsing 3.1.2 both the make and make ut ran successfully!
Also I recommend in your import of module not to use aliases.  Perhaps talk to Micheal Starch about Python style guides.
ERROR FOLLOW:
(QM) reder@pop-os:~/QM/QMAutocoder$ make
make -C models
make[1]: Entering directory '/home/reder/QM/QMAutocoder/models'
make[2]: Entering directory '/home/reder/QM/QMAutocoder/QHsm'
gcc -c -Wall hsm_qf.c -o hsm_qf.o
gcc -c -Wall log_event.c -o log_event.o
ar rs libqhsm.a hsm_qf.o log_event.o
ar: creating libqhsm.a
make[2]: Leaving directory '/home/reder/QM/QMAutocoder/QHsm'
make[2]: Entering directory '/home/reder/QM/QMAutocoder/models/TestModels/simple'
make[3]: Entering directory '/home/reder/QM/QMAutocoder/models/TestModels/simple/C'
**** Running the state-machine autocoder ****
../../../../autocoder/QMAutocoder.py c  -debug ../Simple.qm
Traceback (most recent call last):
  File "/home/reder/QM/QMAutocoder/models/TestModels/simple/C/../../../../autocoder/QMAutocoder.py", line 65, in <module>
    import UmlParser
  File "/home/reder/QM/QMAutocoder/autocoder/UmlParser.py", line 12, in <module>
    import pyparsing as pyparse
ModuleNotFoundError: No module named 'pyparsing'
make[3]: *** [../../Common_C_Makefile:9: autocode] Error 1
make[3]: Leaving directory '/home/reder/QM/QMAutocoder/models/TestModels/simple/C'
make[2]: *** [Makefile:20: c-depend] Error 2
make[2]: Leaving directory '/home/reder/QM/QMAutocoder/models/TestModels/simple'
make[1]: *** [Makefile:138: TestModels/simple-build] Error 2
make[1]: Leaving directory '/home/reder/QM/QMAutocoder/models'
make: *** [Makefile:8: all] Error 2

Fixed: 739f2d4325bde707ffd571c526ba9b2e219003f2


Problem with svg textures on iPhone, iPad and Safari on OSX

It looks like the there is an issue with svg textures in base64 format, on on iPhone, iPad and Safari on OSX (physical devices).
When creating two sprites using to different svg textures the second sprite is rendered having the first textrure and on top it's normal one.

To demonstrate the issue i created the following code pen snippet.
http://codepen.io/bravewick/pen/NbBPvw (use iPhone or iPad)
It looks that the problem lies on the the WebGLRenderer. Using CanvasRenderer works fine. On mobile devices I had problems with iPhone, iPad (Chrome and Safari). On OSX the problem appeared on Safari only. PNG textures are working just fine.
I tried to track down the problem but without success. I will try to look more into this later.

Confirmed on iPhone 5S, iOS 9.3

I had the same issue with PIXI v4.5.5, tested with iPhone 6S and iOS 10.3.3.
I have an idea what causes this "stacking bug" described by @bravewick above.
In my application, I am working with an isometric grid to place sprites, and sprites are also following this grid's base unit. Therefore I have e.g. the following sources to create a container ship scene (source paths contain the dimensions sizeX x sizeY x height):
source = [
	'assets/graphics/ship_10x17x10.svg',
	'assets/graphics/container_1x1x2.svg',
	'assets/graphics/grabber_1x1x2.svg',
	'assets/graphics/cables_1x1x3.svg',
	'assets/graphics/cabin_1x1x2.svg',
	...
];

This will render the following on canvas in iOS Safari, as you can see the container/grabber are rendered behind the cabin texture which should not be the case:

While narrowing down the problem, I made the following observations:

The "stacking bug" seems to be related to the source texture's width (height does not seem to cause this bug, according to my tests). In my example above, I have several SVG graphics with the same width. These are the only textures that were "stacked" on render time. After I changed the size of the grabber SVG source, only the container was stacked behind the cabin. After adjusting that size too, all textures render correctly. Yay!
The "stacking bug" only occurs among textures which are placed within the same PIXI container. If I place one 1x1x1 texture within the root container, and two more 1x1x1 within a child container, only those textures within the child container are stacking.

I hope this may help to fix the original problem.

Hi there! Closing this issue for now due to its inactivity. Sure Apple have sorted this one by now :D Feel free to give us a poke if you would like this issue reopened. Thanks 👍

Hi @GoodBoyDigital,
unfortunately, this issue still exists – I just tested it on macOS High Sierra 10.13.3, Safari 11.0.3 using the Codepen linked in the first comment above. It also persists with pixi.js version 4.7.0.
I guess that this is still a bug within pixi.js, since there is a workaround when placing those graphics in separated PIXI containers (see my comment above). Thus I recommend to keep this issue open.
Currently I am short of time, but maybe it helps to add a link to the source code that is responsible for rendering/adding the SVG textures, so we can have a look into it. In case you do not intent to do so ;)


Better page reloading

This should help for a better page reload.
Adding a random number to the URL so the browser things its a new page when the STRATUX link is clicked

won't this cause unnecessary fetching of resources by the browser?
I saw an error my my desktop browser (Chrome) when it attempted to reference the manifest. I'm looking into what/why. Solving the manifest cache will be a more efficient mechanism for invalidating old resources.

Well that might be but there is an issue with some browsers and the #.  It wants to just jump to an anchor and not actually fetch the page again

what browser(s) are you having issues with?

I am using chrome/firefox but I have had issues with the connected green bar coming back after just clicking on the link. If i refresh the page I get it back.
This is more a way for a dev to make sure they get a new page while working with stratux.  The load on the device is minimal.

I guess my issue is when I am on the status page and reboot my stratux from SSH I just wanted a way to force a good reload of the data. The # in the url I believe is the issue. Also a cached page might not want to reload all data because the url is the same.

Usually you'd want to limit cache busting to a version number so you can be sure that in the majority of field cases (when the version hasn't changed) you'll get the performance benefit of the browser cache.

we can move index.html out of appcache by placing under a section labeled NETWORK in teh manifest. alternately, we can just disable all cross session caching if its not a performance hit.

@peepsnet: could you make a screen recording of the issue that this solves? I don't understand what the issue is that this addresses.

If I can... It was just the /#/ in the url would sometimes not reload the page as if it was jumping to an anchor and not actually loading a page. If i see it stuck again I will try to do it.

Well I guess it was a fix for an old issue. I am not able to get this to work cross-browser


Implicit const parameters

With this PR a parameter is implicitly considered const when there are no assignments to the parameter anywhere in the declaring function (or functions nested within it). Similar to const variables, when a parameter is considered const, type guards for the parameter remain in effect in nested function expressions and arrow functions:
function f1(x: Object) {
    if (typeof x === "string") {
        setTimeout(() => console.log(x.charAt(0)), 0);
    }
}

function f2(info?: { name: string }) {
    if (!info) {
        return;
    }
    setTimeout(() => console.log(info.name), 0);
}

Above, x and info are implicitly const because there are no assignments to them anywhere in their containing functions, and therefore the type guards remain in effect in the callback functions.
Fixes #10180. Also see #7719 and a number of similar issues.

:+1: . Seems like Travis isn't going anywhere...


Add wrapper for RealTimeGenomics/rtg-tools vcfeval

Closing as WontFix, vcfeval uses -b baseline and -c calls as input, and a quick glance doesn't show any way to call in a manner compatible with streaming via pipe API.


xml files not recognized

Hi,
I'd like to ingest XML files using your connector, however, xml files are not recognized/found. Here is my json config
{
  "config": {
    "connector.class": "io.streamthoughts.kafka.connect.filepulse.source.FilePulseSourceConnector",
    "fs.scanner.class": "io.streamthoughts.kafka.connect.filepulse.scanner.local.LocalFSDirectoryWalker",
    "fs.scan.directory.path": "/tmp/kafka-connect/examples/",
    "fs.scan.interval.ms": "10000",
    "fs.scan.filters": "io.streamthoughts.kafka.connect.filepulse.scanner.local.filter.RegexFileListFilter",
    "fs.cleanup.policy.class": "io.streamthoughts.kafka.connect.filepulse.clean.LogCleanupPolicy",
    "file.filter.regex.pattern": "\\.xml$",
    "internal.kafka.reporter.bootstrap.servers": "broker:29092",
    "internal.kafka.reporter.topic": "xmlfile-connect",
    "offset.strategy": "name+hash",
    "task.reader.class": "io.streamthoughts.kafka.connect.filepulse.reader.XMLFileInputReader",
    "topic": "xmlfile-connect",
    "tasks.max": 1
  },
  "name": "xmlfile-connect"
}

The output of connect log says:
connect  | 2020-07-24 09:15:13,505 INFO [FileSystemMonitorThread] Completed scanned, number of files detected '0'  (io.streamthoughts.kafka.connect.filepulse.scanner.LocalFileSystemScanner)
connect  | 2020-07-24 09:15:13,951 INFO [FileSystemMonitorThread] Finished lookup for new files : '0' files selected (io.streamthoughts.kafka.connect.filepulse.scanner.LocalFileSystemScanner)
connect  | 2020-07-24 09:15:13,952 INFO [FileSystemMonitorThread] Waiting 9553 ms to scan for new files. (io.streamthoughts.kafka.connect.filepulse.source.FileSystemMonitorThread)

although the file sample-review.xml exists in the directory /tmp/kafka-connect/examples/ of the connect container of your docker-compose example. Could you kindly assist why files are not found? Could you maybe also provide me an XML example for your reader, because I haven't found anything. This would be really a big help.
Many Thanks
Eduard

Hi @hirsche, update the file.filter.regex.pattern to "^.*\\.xml$". In addition, you have to add the property xpath.expression to indicate the nodes to select in your XML Files.
Also, please do not configure the internal.kafka.reporter.topic to the same topic than your output topic.

@fhussonnois thanks for your help. Some of your hints I could resolve by myself already, however, e.g. the reporter topic had been still an issue! FYI: Here at your documentation, I guess, you are missing the  "^.*" part for the regexp as well.
There would be one more question: if I am matching elements (including sub-elements) using an xpath query, would it be possible to map the resulting entities together with their properties (sub-elements) to avro-classes (taken from kafak schema-registry) and then post it to a topic?
Many Thank for your help,
Eduard


feat: confirm to remove signer from refused by list & added proposed by to census info

@ifaouibadi can you also update the README accordingly and add the new attribute for consensus_info ?


Learn Tailwindcss

https://tailwindcss.com/

Found a great playlist to learn Tailwindcss
https://youtube.com/playlist?list=PL5f_mz_zU5eXWYDXHUDOLBE0scnuJofO0


a minor update from oldurl to discoversmo url

Pull request for: local copy changes and git push --set-upstream origin readme-updates sent up.

no updates


Update prometheus-remote-write-active-directory.md

Update container image

#assign: @bwren

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team
@rakshith210  - you can't change the 'author' value in the public repo, and any changes must be to a valid GitHub user ID to the content owner. You can work in the private repo (and in collaboration with the content) owner to make changes to the metadata.

#sign-off


--local runs are broken

After #637, the --local runs don't work since the logic of install_protoc.sh does not work outside of the carefully crafted Docker image. We need to use install_protoc.sh in Docker only, and if it does not exist, not fail but revert to using the protoc installed in the system.

@hzyi-google so since @andreamlin is out, do you think you'll have bandwidth to fix it, or should I just go ahead and do it? We do have folks using --local so they will complain soon I guess.
Also, I don't like the idea that the .sh script is being parsed in Python to extract the version numbers; I'd better refactor the version numbers away from the shell script but it's out of scope of this issue.

Hey Alex,
If you have time please go ahead and fix it. I am on vacation for the rest
of the week and the entire week next week.
Thanks,
Hanzhen
On Thu, Jun 20, 2019, 15:00 Alexander Fenster<EMAIL_ADDRESS>wrote:

@hzyi-google https://github.com/hzyi-google so since @andreamlin
https://github.com/andreamlin is out, do you think you'll have
bandwidth to fix it, or should I just go ahead and do it? We do have folks
using --local so they will complain soon I guess.
Also, I don't like the idea that the .sh script is being parsed in Python
to extract the version numbers; I'd better refactor the version numbers
away from the shell script but it's out of scope of this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/googleapis/artman/issues/649?email_source=notifications&email_token=AIBMYD6MQZBDTBBMOR7GP2TP3P4YHA5CNFSM4HZ7YP72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYG3PJQ#issuecomment-504215462,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIBMYD5SQLV47LPVOQGYCJLP3P4YHANCNFSM4HZ7YP7Q
.

@alexander-fenster I'm wondering why that change was introduced. It looks like older version used by java was the case. Why didn't we just bumped the java protoc and grpc version, instead of doing that change. I would strongly consider reverting the change, as it complicates the system even more


YAML Support

YamlDotNet is most used (216 207 total downloads of Nuget package) .NET library for parsing and emitting of YAML. We often use it in our work and are quite happy with the results.
Closes #82

@ekulakov,
Thanks for your contribution.
To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla2.dotnetfoundation.org.
It will cover your contributions to all .NET Foundation-managed open source projects.
Thanks,
.NET Foundation Pull Request Bot

@ekulakov, thanks for signing the contribution license agreement. We will now validate the agreement and then the pull request.
Thanks, .NET Foundation Pull Request Bot

@ekulakov Can you expand the PR description a bit. Why did you choose Yaml.NET as the Yaml library over the other ones? Any particular reason? Did you have to make any tradeoffs? Is there anything fundamental that doesn't work?

@davidfowl Is it enough? I'm a bad speaker 😊

@davidfowl Do you want this for 2.1?

@ekulakov thank you for the PR, and apologies for the delay. We discussed within the team and we feel it is best to let the YAML provider be an external library and not part of the core release. If you (or anyone) release a NuGet package for the YAML provider, we'd be more than happy to include a link to it in this repo's readme file (just like we do in other repos, such as here).


Code check-in ETA

Hi,
saw the talk at cppcon16 on youtube. Just wondering how the lib was coming along?
Would be a terrifically nice thing to play around with and eventually work with.
Currently maintaining a roughly similar approach –without the separation between API and driver– for a pgsql library internally. Maybe there is something I can do to help on the pgsql driver implementation side?
Best Regards,
~lweberk

Hi iweberk - thanks for the interest!  Sorry for delay, I just got a bit swamped after the conference, but initial check-in coming soon - probably this week and want to make some sustained progress on it to get it to a stable state.  It would be great to get some help with the pgsql driver.  I'll likely have some implementation of a pgsql driver present but as with all the drivers, there will be missing capabilities (particularly with binding for all types).  Check back this week.

Great Will do. Thank you.

Looking forward to it 😉

Me too!
Waiting for ETA.

Token.

I'am also looking forward to see some code I can play with. At the moment I'am very frustrated when trying to use C++ with databases. Also I had some resources to maybe contribute, especially for NoSQL Databases, which mostly rely on REST APIs.

Allow me to follow-up with a sign of life ^^. How is it coming?

I think I can help in adding SQL Server interface.

Saw the talk. I have an interest in using this now (otherwise will continue with my own). Happy to contribute. Can probably offer some guidance on dynamic variadic args and non-blocking.

new for 2017: actual code!  Very rough code to start but I'm going to try to produce a steady stream of commits.

Excellent! Many thanks! and happy new year!


removed hash equality from yy_modelIsEqual:

This is a fix for #278 . hash equality won't work if the object doesn't ovrride the hash method.

Codecov Report

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

@@            Coverage Diff             @@
##           master     #279      +/-   ##
==========================================
- Coverage   99.28%   93.95%   -5.33%
==========================================
  Files           2        2
  Lines        1540     1539       -1
  Branches        0      421     +421
==========================================
- Hits         1529     1446      -83
+ Misses         11        7       -4
- Partials        0       86      +86

Impacted Files
Coverage Δ

YYModel/NSObject+YYModel.m
93.35% <ø> (-5.87%)
:arrow_down:

YYModel/YYClassInfo.m
96.92% <0%> (-2.7%)
:arrow_down:

Continue to review full report at Codecov.

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


Losing local struct variable pointer in jitted function

Bug description
I'm aware that numpy struct is a reference type, not value type, but when it's used in function, Python copies struct values and "forgets" links to it (see example fill_python and fill_jit_global_struct functions below). Anyhow, numba behaviour differs dramatically from pure Python, so I consider it as a bug.
First example contains next tests:

We assure that struct is really a reference type
Pure python function fill_python correctly initialize local struct variable s with zeros and copies them to our array
Jitted function fill_jit fully ignores zero-initializing leaving only manual assignment to field1. Probably its pointer is lost instantly.
fill_jit_element_wise tries to copy struct element-wise, but also fails, so reason is the same as in pt. 4
fill_jit_global_struct uses previously initialized global struct global_s and succeeds
We make sure that however global_s was modified in function and assigned to array elements, but it's not linked to the last element of array (so in non-jitted function too)

Second example uses jitclass and shows us something new. Originally I found this issue and writing this ticket I tried to avoid jitclass in my example, but couldn't reproduce this bug with "simple functions". The thing is that if the struct is initialized INSIDE the loop, all works correctly (list_jit_inside_loop). But if it's initialized outside the loop, its pointer is lost like in pt. 3. Of course tests 2 and 5 work fine, I didn't include them here.
Example 1
from numba import njit
import numpy as np

Struct = np.dtype( [('field1', 'i4'), ('field2', 'i4' )])

print('-----======= check that struct is a reference type')
a = np.full(3, -1, dtype = Struct)
print("a[1]['field1'] = ", a[1]['field1'])
s1 = a[1]
s1['field1'] = 5
print("a[1]['field1'] = ", a[1]['field1'])
print()

# initialize array
a = np.full(3, -1, dtype = Struct)

def fill_python(a, n):
    # initialize single struct
    s = np.zeros(1, dtype = Struct)[0]
    for i in range(n):
        s['field1'] = i
        a[i] = s

print('-----======= fill_python')
a[:] = np.full(3, -1, dtype = Struct)
print('before fill:', a)
fill_python(a, 3)
print('after fill: ', a)
print()

@njit
def fill_jit(a, n):
    for i in range(n):
        s = np.zeros(1, dtype = Struct)[0]
        s.field1 = i
        a[i] = s

print('-----======= fill_jit')
a[:] = np.full(3, -1, dtype = Struct)
print('before fill:', a)
fill_jit(a, 3)
print('after fill: ', a)
print()

@njit
def fill_jit_element_wise(a, n):
    for i in range(n):
        s = np.zeros(1, dtype = Struct)[0]
        s.field1 = i
        a[i].field1 = s.field1
        a[i].field2 = s.field2

print('-----======= fill_jit_element_wise')
a[:] = np.full(3, -1, dtype = Struct)
print('before fill:', a)
fill_jit_element_wise(a, 3)
print('after fill: ', a)
print()

@njit
def fill_jit_global_struct(a, global_s, n):
    for i in range(n):
        global_s['field1'] = i
        a[i] = global_s

global_s = np.zeros(1, dtype = Struct)[0]
print('-----======= fill_jit_global_struct')
a[:] = np.full(3, -1, dtype = Struct)
print('before fill:', a)
fill_jit_global_struct(a, global_s, 3)
print('after fill: ', a)
print()

print('-----======= check that global_s pointer is not linked to a[-1]')
print( "global_s['field1'] = ", global_s['field1'] )
a[-1]['field1'] = -1
print( "a[-1]['field1'] = ", a[-1]['field1'] )
print( "global_s['field1'] = ", global_s['field1'] )

Example 1 output
-----======= check that struct is a reference type
a[1]['field1'] =  -1
a[1]['field1'] =  5

-----======= fill_python
before fill: [(-1, -1) (-1, -1) (-1, -1)]
after fill:  [(0, 0) (1, 0) (2, 0)]

-----======= fill_jit
before fill: [(-1, -1) (-1, -1) (-1, -1)]
after fill:  [(0, -555819298) (1, -555819298) (2, -555819298)]

-----======= fill_jit_element_wise
before fill: [(-1, -1) (-1, -1) (-1, -1)]
after fill:  [(0, -555819298) (1, -555819298) (2, -555819298)]

-----======= fill_jit_global_struct
before fill: [(-1, -1) (-1, -1) (-1, -1)]
after fill:  [(0, 0) (1, 0) (2, 0)]

-----======= check that global_s pointer is not linked to a[-1]
global_s['field1'] =  2
a[-1]['field1'] =  -1
global_s['field1'] =  2

Example 2 (jitclass)
from numba.experimental import jitclass
from numba import njit, int32
import numba
import numpy as np

Struct = np.dtype( [('field1', 'i4'), ('field2', 'i4' )])
nb_Struct = numba.from_dtype(Struct)

spec_List = [
    ('capacity', int32)
    ,('collection', nb_Struct[::1])
    ,('p_top', int32)
]
@jitclass(spec_List)
class List:
    def __init__(self, initial_capacity = 16):
        self.capacity = initial_capacity
        self.collection = np.zeros(self.capacity, dtype = Struct)
        self.p_top = -1

    def Add(self, x):
        self.p_top += 1
        self.collection[self.p_top] = x

    def Clear(self):
        self.collection = np.zeros(self.capacity, dtype = Struct)
        self.p_top = -1

    def Reset(self):
        self.p_top = -1

l = List(4)

@njit
def list_jit_outside_loop(l, n):
    l.Reset()
    s = np.zeros(1, dtype = Struct)[0]
    for i in range(n):
        s['field1'] = i
        l.Add(s)

@njit
def list_jit_inside_loop(l, n):
    l.Reset()
    for i in range(n):
        s = np.zeros(1, dtype = Struct)[0]
        s['field1'] = i
        l.Add(s)

print('-----======= list_jit_outside_loop')
list_jit_outside_loop(l, 3)
print( l.collection )

print('-----======= list_jit_inside_loop')
list_jit_inside_loop(l, 3)
print( l.collection )

Example 2 output
-----======= list_jit_outside_loop
[(0, -555819298) (1, -555819298) (2, -555819298) (0,          0)]
-----======= list_jit_inside_loop
[(0, 0) (1, 0) (2, 0) (0, 0)]

Thanks for the report. There's a lot of things going on here, for future it really helps with diagnosing problems to try and minimise sample code.
Classifying these problems:

The issue with fill_jit and fill_jit_element_wise appear to come from the same root cause:from numba import njit
import numpy as np

Struct = np.dtype( [('field1', 'i4'), ('field2', 'i4' )])

@njit
def problem1():
    return np.zeros(1, dtype = Struct)[0]

print(problem1.py_func())
print(problem1())

which produces:(0, 0)
(-555819298, -555819298)

essentially the zero initializer is failing.
I'm not sure what fill_jit_global_struct is demonstrating, with or without @njit the function seems to produce the same output for me. Could you please clarify?
The jitclass example looks like duplicate of the fundamental issue described in 1.?

Thanks for your help.

Sorry, I couldn't minimize these examples, because various tests are confusing and I couldn't investigate real root cause (I'm not sure if just ignoring of struct initiallization with numpy method (np.empty, np.zeros) is the reason). 2. As I said, fill_jit_global_struct showsnot fails asfill_jit, but succeeds. When we pass global variable to our function as a parameter, all is OK. 3. But why list_jit_inside_loop` works correctly?

Question: does the problem regarding adding an np.zeros also occur with Numba lists, typed or reflected? Or is this something specific to the jitclass? BTW: I also agree with @stuartarchibald here, dissecting this some more would be helpful to get to the root cause.

I don't understand how to apply np.zeros to a list. Issue is specific to initialiazing of single numpy struct record. Just to extend stuartarchibald's example:
Type = np.dtype( 'i4')
Struct = np.dtype( [('field1', 'i4')] )

@njit
def test_type():
    return np.zeros(1, dtype = Type)[0]

@njit
def test_struct():
    return np.zeros(1, dtype = Struct)[0]

@njit
def test_struct_slice():
    return np.zeros(1, dtype = Struct)[0:1]

print(test_type())
print(test_struct())
print(test_struct_slice())

which produces
0
(-555819298,)
[(0,)]

So, required conditions to reproduce the bug are:

Type must be struct, even consisting of one field, not a single type (compare Struct to Type in the example above)
You may initialize array of any length and extract any index, but you must extract single record from an array, not slice of records
In some cases bug is not reproduced and all works correctly, refer to list_jit_inside_loop in the first set of examples

@gmarkall Is there any workaround or general guideline to avoid this behavior? I am getting this exact same error.

@peakcipher One possible workaround would be to do something that keeps the underlying array alive (e.g. allocating it outside of a jitted function, or returning it).
I thought there was another issue describing this problem (basically we lose the refcount when only holding on to a struct member of an array) but I can't find it - @sklam / @stuartarchibald are you familiar with an issue like this? Or is it just something we all were vaguely aware of but didn't record in an issue previously?

@gmarkall Okay, so in my case, I had a structured numpy array containing structured numpy arrays. And my jitted function took the parent array as an argument and returned one of its elements. When I changed it to return the index of that element in the parent array instead of the element (which was a structured numpy array object) itself, the problem was solved.

@gmarkall I think perhaps #6835, which also xref's a few other reports of the same/similar?


Move API into own module

System-test will need to be able to initialize extensions to get hold of the resource handlers.
This requires the Creek and associated classes to be in a module system test can access, e.g. an api module.
Also, need to change CreekExtensionProvider to two stage construction....

step one: a void initialize(CreekApi api) method that both service and system test call. In here, extensions will register resouces etc.
step two: a CreekExtension create(ServiceDescriptor descriptor) method that only the service will call to initialize the extension.

Above PR only moves the API into its own module.  Splitting of the provider into two calls may not be necessary, as we can delegate adding resource handlers to the test extension for now.


Notifications not removed when they are read in the app

#3766

This seems like the wrong approach? It only makes sense if the notification was recent. If there are multiple unread notifications you'd risk marking them all as read, and you'd have no idea which one is new.

@mary-ext i thought since we are switching to notifications tab (here) this means user unread all of them. i think facebook works this way.


Getting error while running thenThrow

base_api_client.dart
abstract class ApiClient {
  Future<Map<String, dynamic>?> post(String url, String body,
      [bool auth = false]);
}

class BaseApiClient implements ApiClient {
  ....
  ....
  ....

  @override
  Future<Map<String, dynamic>?> post(String url, String body,
      [bool auth = false]) async {
    try {
      Response response = await _dio.post(url, data: body);
      return response.data;
    } on DioError catch (e) {
      final errMsg = DioException.fromDioError(e); // formatting error message
      throw PostRequestException(message: errMsg.message);
    }
  }
}

base_api_client_test.dart
class MockClientService extends Mock implements ApiClient {}

void main() {
  late final MockClientService _mockClientService;

  setUpAll(
    () {
      ...
      ...
      ...

      _mockClientService = MockClientService();
    },
  );

  group('Sign In', () {
    ....
    ....
    test('Failed', () async {
      // Arrange

      // Act
      when(
        () => _mockClientService.post(
          'auth/signin/',
          jsonEncode(
            {'username': '', 'password': ''},
          ),
        ),
      ).thenThrow(PostRequestException(message: ['invalid credentials']));
      var response = await _mockClientService.post(
          'auth/signin/', jsonEncode({'username': '', 'password': ''}));

      // Assert
      expect(response, throwsA(isA<PostRequestException>()));
    });
  });
}

First of all, Thank you for the flutter_bloc. Just amazing.
I am new to mocktail & reading the doc. But I am not understanding the problem here. The problem is -
Exception has occurred.
PostRequestException

Could you please give a solution for that @felangel ?

Hi @TusharRoy23 👋
Thanks for opening an issue and for the positive feedback, I really appreciate it! 🙏
Regarding your question, I believe the issue here is the exception is being thrown and it propagates causing the test to failure whereas you're expecting the return value (response) to be an exception which is not the case. You can adjust the test like:
      // Act
      when(
        () => _mockClientService.post(
          'auth/signin/',
          jsonEncode(
            {'username': '', 'password': ''},
          ),
        ),
      ).thenThrow(PostRequestException(message: ['invalid credentials']));
      expect(
          () => _mockClientService.post('auth/signin/', jsonEncode({'username': '', 'password': ''})),
          throwsA(isA<PostRequestException>(),
      );

Oh Yes. It worked. Thanks again.

Oh sorry. I am reopening now. I have one more question. What is the difference between
expect(
          () => _mockClientService.post('auth/signin/', jsonEncode({'username': '', 'password': ''})),
          throwsA(isA<PostRequestException>(),
      );

AND
var response = await _mockClientService.post('auth/signin/', jsonEncode({'username': '', 'password': ''}));
expect(response, throwsA(isA<PostRequestException>()));

Both are looking the same to me just the second is declaring a variable I think & assigned it.
@felangel ?


Advanced Search: Change prefetch_related to use Prefetch() with filters derived from the advanced search Q expression

FEATURE DESCRIPTION
Feature Inspiration
The impending multiple labeled element feature and the recent meeting feedback regarding a general dislike of the refilter code used to overcome the limitations of the ORM surrounding M:M related table support, I googled to see if prefetch_related could be overridden to actually respect filters that use fields from the M:M related tables and I found this stack post that demonstrated how Prefetch() could be supplied a filtered subquery.  This inspired the following idea...
Feature Description
When a Q expression includes fields from M:M related tables, add those terms to a subquery supplied to Prefetch().  A few details that should be considered:

If the term is under an or group, the filter will have to account for all cases or simply not be supported
If a M:M relationship is included in a delimited fashion on a single row (e.g. Studies), there is no need to sub-filter, so that defail would have to be stored in compositeviews.py

Alternatives Considered

Use rowspans to simulate the record division so that record numbers make sense and the number of rows corresponds to the rows a page says it displays
Simply show more rows than the selected "rows per page" with a tooltip caveat that alerts users of the row discrepancy.  This means that a web page setting of "10 rows per page" would technically be incorrect.

Comment
The possibility of always showing all rows despite a row not meeting search criteria expressly designed to exclude such rows was a possibility floated in a recent meeting.  Alternatives 1 & 2 cover this possibility.  However, I think that this feature would be a more elegant solution that would make more intuitive sense to users.

ISSUE OWNER SECTION
Assumptions

List of assumptions made WRT the code
E.g. We will assume input is correct (explaining why there is no validation)

Requirements

List of conditions to be met for the feature
E.g. Every column/row must display a value, i.e. cannot be empty

Limitations

A list of things this work will specifically not do
E.g. This feature will only handle the most frequent use case X

Affected/Changed Components

Files
Environment variables
External executables
Database tables
Cron job settings
Etc.

DESIGN
GUI Change description
Describe changes the user will see.
Code Change Description (Pseudocode optional)
Describe code changes planned for the feature.
Tests
A test should be planned for each requirement (above), where possible.

Ha!  I did it.  Actually, it's a workaround, because Django simple does not support full join functionality through M:M related tables.  I'd thought there was a way to work it out "correctly" because I'd accomplished a proof of concept in a single case using Django's through method, but it turned out that that was not a scalable solution, as it only worked when the query went through a single M:M relation... (actually, it might have worked if I took the same approach as I'd done with rerooting a prefetch sub-query, but it would have involved a very large refactor and been more complicated and unwieldy).
As I was working on the result count, in order to make pagination work, I realized that if your search hit multiple M:M related records for 1 root table record, what you get out is duplicate rows.  For example, search in the advanced search (currently) for measured compound is citrate OR measured compound is isocitrate.  You get 2 rows for every peak group, which is what you'd expect, but you also get both citrate and isocitrate on each of those rows.
That's because the end result of a filter on PeakGroup is only a set of peakgroup records.  You get duplicates each time, as if it was once part of a join with compound (because it was during the filter), but in the template, all you can do is loop through all compounds that link to PeakGroup.  Sure, it's whittled down to only those that do join, but they're not associated in one big table like you would get in an SQL join operation.
So I realized that I could take advantage of that existing join during the collation of the data (before sending the peakgroup records to the template, to annotate the compound link that exists to like, "save" it.  Then in the template, when I parse through the nested compound loop, skip everything but the one whose ID I annotated with the root table record.
And it works!  This allows a correct result count AND pagination through "joined" records!  Ha!


--split_by broken?

Hello again!  First, please accept my thanks for sharing this script.  It's saved me a ton of time.  I'm interested in writing pseudo Autopicking output files so that I can display my good particles on the original micrographs and look for trends.  so I want to use --split_by {underscore}rlnMicrographName to split up my particles file that has ~50k particles into star files representing each micrograph in the dataset.
My input file particles3.star looks like this:
data_
loop_
_rlnCoordinateX #1
_rlnCoordinateY #2
_rlnClassNumber #3
_rlnAutopickFigureOfMerit #4
_rlnAnglePsi #5
_rlnMicrographName #6
1925.0  1531.0  49.0  0.484168  48.399981  movies/FoilHole_19688228_Data_19688973_19688974_20171219_1300_frames1to20.mrc
I'm trying to run it this way:
python /path/_git/StarTool/startool.py particles3.star --split_by _rlnMicrographName
usage: startool [-h] [--info [INFO]] [--show [SHOW]] [--use USE]
[--select SELECT] [--select_regex SELECT_REGEX]
[--select_star SELECT_STAR] [--select_fancy SELECT_FANCY]
[--release [RELEASE]] [--deselect [DESELECT]] [--sort SORT]
[--tros TROS] [--subset SUBSET] [--add_col ADD_COL]
[--delete_col DELETE_COL] [--rename_col RENAME_COL]
[--delete_table DELETE_TABLE] [--rename_table RENAME_TABLE]
[--replace REPLACE] [--replace_regex REPLACE_REGEX]
[--replace_star REPLACE_STAR] [--delete [DELETE]]
[--merge MERGE] [--query QUERY]
[--write_selection WRITE_SELECTION] [--write WRITE]
i
startool: error: unrecognized arguments: --split_by _rlnMicrographName
also, as an aside, when I call -h I don't see --split_by in the list of functions.
python /path/_git/StarTool/startool.py -h
usage: startool [-h] [--info [INFO]] [--show [SHOW]] [--use USE]
[--select SELECT] [--select_regex SELECT_REGEX]
[--select_star SELECT_STAR] [--select_fancy SELECT_FANCY]
[--release [RELEASE]] [--deselect [DESELECT]] [--sort SORT]
[--tros TROS] [--subset SUBSET] [--add_col ADD_COL]
[--delete_col DELETE_COL] [--rename_col RENAME_COL]
[--delete_table DELETE_TABLE] [--rename_table RENAME_TABLE]
[--replace REPLACE] [--replace_regex REPLACE_REGEX]
[--replace_star REPLACE_STAR] [--delete [DELETE]]
[--merge MERGE] [--query QUERY]
[--write_selection WRITE_SELECTION] [--write WRITE]
i
Swiss army knife for editing star files
positional arguments:
i
optional arguments:
-h, --help            show this help message and exit
--info [INFO]
--show [SHOW]
--use USE
--select SELECT
--select_regex SELECT_REGEX
--select_star SELECT_STAR
--select_fancy SELECT_FANCY
--release [RELEASE]
--deselect [DESELECT]
--sort SORT
--tros TROS
--subset SUBSET
--add_col ADD_COL
--delete_col DELETE_COL
--rename_col RENAME_COL
--delete_table DELETE_TABLE
--rename_table RENAME_TABLE
--replace REPLACE
--replace_regex REPLACE_REGEX
--replace_star REPLACE_STAR
--delete [DELETE]
--merge MERGE
--query QUERY
--write_selection WRITE_SELECTION
--write WRITE

Hi Sara,
sorry for my late reply but I was busy with my dissertation.
I have checked my local version (which I just committed again) with your star file and also the -h option and it works. Are you sure you use the latest version? Because you also miss some other functions that I implemented later (like --debug).
Best,
Chris


Remove white horizontal lines from all know more sheets

Makes sure there are no white lines on any of the know more sheets

-Verified this issue on Dev app v1.4.6(232)


[TestPR] Check doxygen violation case @open sesame 06/02 21:34

[TestPR] Check doxygen violation case

This patch tries to find doxygen violation case, please do not merge

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #1243. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnstreamer.mooo.com/.

:octocat: cibot: @zhoonit, nntrainer/optimizers/sgd.h does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1243-202106022037270.22118091583252-265a8a017e13c44c9aebe22a36a78c0f824f299d/.

Verification completed, closing

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1243-202106022134090.37600493431091-265a8a017e13c44c9aebe22a36a78c0f824f299d/.


Add RemotePath to RemoteRunnable

Short description 📝
Some schemes (e.g. Watch apps) have a RemotePath attribute set on the RemoteRunnable element.
e.g.
      <RemoteRunnable
         runnableDebuggingMode = "2"
         BundleIdentifier = "com.apple.Carousel"
         RemotePath = "/AppWithExtensions">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "42BF876824B0EA0700C4B605"
            BuildableName = "WatchApp.app"
            BlueprintName = "WatchApp"
            ReferencedContainer = "container:AppWithExtensions.xcodeproj">
         </BuildableReference>
      </RemoteRunnable>

Solution 📦
Add the missing attribute.
Implementation 👩💻👨💻

[x] Add RemotePath
[x] Fix how Equatable works for runnable (due to there being a class hierarchy)
[x] Add fixture to test out the new attribute

The fixture turned out to be quite a big one with all the default template files added - if needed I can omit it and only a handful of the .xcscheme files as those are the only ones needed for the test.

@kwridan thanks for adding this. Just a small question: where are we setting that attribute?

Thanks for reviewing @pepibumur - I don't believe this is expose in the Xcode UI / Scheme Editor, however we can see it int he raw .xcscheme file when we manually create new targets (e.g. Adding a Watch App / Extension), and Xcode auto generates a corresponding scheme for it.
e.g.
https://github.com/tuist/XcodeProj/pull/555/files#diff-59648d792327482305a8d10b32beb63cR60

My bad, when I was reviewing the PR I thought for some reason that it was in the Tuist repository. Changes look good then!


Feat: Upstream Oauth plugin

Description
Upstream OAuth plugin.
To do:

Short "how to use this" - or is the "basic examples" page enough?
Is this plugin supported in DB-less, hybrid, and Konnect?

Config reference and example added via https://github.com/Kong/docs-plugin-toolkit/pull/53
https://konghq.atlassian.net/browse/DOCU-4024
Testing instructions
Preview link:
https://deploy-preview-7814--kongdocs.netlify.app/hub/kong-inc/upstream-oauth/unreleased/
https://deploy-preview-7814--kongdocs.netlify.app/hub/kong-inc/upstream-oauth/unreleased/how-to/basic-example/ - how to set it up
https://deploy-preview-7814--kongdocs.netlify.app/hub/kong-inc/upstream-oauth/unreleased/configuration/ - parameter descriptions
Checklist

[x] Review label added
[x] Conditional version tags added, if applicable.

LGTM. @lena-larionova can you send me a link to the diagram? I can't find it in the docs preview

It should be here: https://deploy-preview-7814--kongdocs.netlify.app/hub/kong-inc/upstream-oauth/unreleased/ - does it not display for you?


linux: rig add release leads to [ERROR] Failed to resolve R version

Many thanks for the work!
I am on linux using the PopOS distribution, but since it is almost entirely based on ubuntu, everything is working nicely except for installing R versions I've got the following error:
rig add release

[ERROR] Failed to resolve R version: Cannot download JSON: HTTP status client error (404 Not Found) for url (https://api.r-hub.io/rversions/resolve/release/linux-pop-20.04/x86_64)

rig system detect-platform

Detected platform:
Architecture: x86_64
OS:           linux
Distribution: pop
Version:      20.04
PPM support:  false

If rig does not detect your OS, set the RIG_PLATFORM environment variable, in your case it would be RIG_PLATFORM=ubuntu-20.4.
E.g:
root@b7c4b4279840:~# rig system detect-platform
Detected platform:
Architecture: x86_64
OS:           linux
Distribution: ubuntu
Version:      22.04
PPM support:  true
PPM URL:      https://packagemanager.posit.co/cran/__linux__/jammy/latest
root@b7c4b4279840:~# RIG_PLATFORM=ubuntu-20.04 rig system detect-platform
Detected platform:
Architecture: x86_64
OS:           linux
Distribution: ubuntu
Version:      20.04
PPM support:  true
PPM URL:      https://packagemanager.posit.co/cran/__linux__/focal/latest

Many thanks for the answer!
running the command did change the platform but it is not saved for future commands:
RIG_PLATFORM=ubuntu-20.04 rig system detect-platform

Detected platform:
Architecture: x86_64
OS:           linux
Distribution: ubuntu
Version:      20.04
PPM support:  true
PPM URL:      https://packagemanager.posit.co/cran/linux/focal/latest

then running rig system detect-platform still gives 'pop' as distribution and I am having the same error
I thus copied RIG_PLATFORM=ubuntu-20.04 in the file from
nano ~/.bashrc
source ~/.bashrc
which provide now the right distribution
rig system detect-platform

Detected platform:
Architecture: x86_64
OS:           linux
Distribution: ubuntu
Version:      20.04
PPM support:  true
PPM URL:      https://packagemanager.posit.co/cran/linux/focal/latest

but I am still having the same error
rig add 4.2.2

[ERROR] Failed to resolve R version: Cannot download JSON: HTTP status client error (404 Not Found) for url (https://api.r-hub.io/rversions/resolve/4.2.2/linux-pop-20.04/x86_64)

Yes, you need to set the RIG_PLATFORM=ubuntu-20.04 for your user or for your computer. Read your docs on how to set environment variables. E.g. https://www.xda-developers.com/set-environment-variable-in-ubuntu/

It worked! many thanks for the help, and for the great work!


Feature issue12: set centre of rotation in savu reconstruction

closes #12 by adding option to set centre of rotation in savu.
Centre of rotation is set by default to the centre of the image (i.e., 0.5 * the y-dim of the aligned image from the mrc header of the aligned projection image). This is put into the savurecon.yaml file which can be edited manually.
Should also work on tilt series of different sizes as each centre of rotation is calculated per tilt series rather than using one value for the entire project.

Codecov Report

Merging #13 (33337a3) into main (8365d21) will decrease coverage by 0.08%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #13      +/-   ##
==========================================
- Coverage   17.30%   17.22%   -0.09%
==========================================
  Files          11       11
  Lines        1046     1051       +5
==========================================
  Hits          181      181
- Misses        865      870       +5

Impacted Files
Coverage Δ

src/Ot2Rec/main.py
11.29% <0.00%> (-0.14%)
:arrow_down:

src/Ot2Rec/params.py
32.60% <ø> (ø)

src/Ot2Rec/savurecon.py
17.14% <ø> (ø)

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 8365d21...33337a3. Read the comment docs.


[BEAM-11130] Exclude OrderedListState category for Dataflow V2.

Refactor how tests are excluded to use the category instead of a regex.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @kennknowles
Fixed. Thanks, I forgot these categories existed.

R: @kennknowles
Fixed. Thanks, I forgot these categories existed.

I need to clean up the other occurrences of ordered state tests:
    excludeTestsMatching 'org.apache.beam.sdk.transforms.ParDoTest$StateTests.testOrderedListState'
    excludeTestsMatching 'org.apache.beam.sdk.transforms.ParDoTest$StateTests.testOrderedListStateRangeDelete'
    excludeTestsMatching 'org.apache.beam.sdk.transforms.ParDoTest$StateTests.testOrderedListStateRangeFetch'

CC @ihji

run dataflow validatesrunner

run dataflow streaming validatesrunner

Oh wrong tests actually

Run Java Dataflow V2 ValidatesRunner

We probably also want a streaming variant of runner v2 tests, since most tests run with small bounded PCollections and do not test streaming mode.

We probably also want a streaming variant of runner v2 tests, since most tests run with small bounded PCollections and do not test streaming mode.

Yes, agreed. I'll refactor the build to have a 'createDataflow2ValidatesRunnerTest' like the legacy one when introducing the streaming variant.

Can this be merged?

Yes, indeed!


Use different package versions for .net64 and .netstandard builds

.netstandard packages Microsoft.Extensions.FileSystemGlobbing and Microsoft.Extensions.Logging.Abstractions of version 1.1.x aren't compiled specifically against .net46, and so they require separate version of System.Net.Http. Newer version of those packages are compatible only with .netstandard 2.0, so we need to use older versions (1.0.1) with .net46 and 1.1.x with .netcore

👍


MRTK vNext - Open vr device initial implementation

Overview
First pass for the OpenVR device implementation
Generic Headset and controllers, tested using Windows MR on a standalone platform using SteamVR
Changes

[X] Added OpenVR Device manager
[X] Added GenericOpenVRController
[X] Controller Positional tracking (no grip available)
[X] Controller Button actions (except Grip, as OpenVR reports it as a SingleAxis, not button)
[ ] Controller Axis input (I hate Unity...)
[ ] Other controller types
[ ] Test with more devices (on the delivery van)
[ ] walk on water
[x] Curse Unity (because you cannot tell the difference between left hands, if you have more than one)

Notes
Just in initial phase, I'm sharing as I have my controller visualizer showing cubes moving :D
Still a fair amount of work to do.

Please ignore the Debug statements in the latest commit, they are for testing only.
And if anyone has found a way to get Input.Axis data WITHOUT the damn InputMapping, please comment!
And no, the Input.GetAxis("axis 1") code in there DOES NOT work :S #grumble

I wanna dig into it and see if we can get the input directly or something along those lines.

wanna dig into it and see if we can get the input directly or something along those lines.
I don't wanna have to rely on Unity's old Input system, and the new one is still a ways off.

Does this imply platform specific input code for EVERY platform we support?

Does this imply platform specific input code for EVERY platform we support?

Not really @davidkline-ms , the default is Unity input system and where possible (like with WMR eventually) we'll use platform targeted code.
It's just that Input.GetAxis FORCES you to use the input  mapping.  Everything else is possible with just code.

Going back through the docs, I'll need to do another pass to add new events for things we didn't have in WMR, e.g. Trigger touch.

Changed Unity InputMapping method to be more generic and inheritable.  GenericOpenVRController is now the base extension for all OpenVR controller types.
Added base implementations for each controller type, including the extensions for the Knuckles controller as an example implementation.
However, haven't found a way with OpenVR to detect controller type.  Will tackle that in another PR.


Side cards at bottom of Group Finder should use meta serif for body copy

Acceptance Criteria

[ ] Side cards at bottom of Group Finder should use meta serif for body copy

UI Screenshot or Wireframe (optional)
https://my.newspring.cc/groups/home

https://beta.apollos.newspring.cc/groups

We use meta (or something like it) on the GroupCard. I feel like these cards here are just missing <BodyText> maybe?

@richarddubay I believe so. Should be an easy fix if so

@conrad-vanl I can take a look at it if you'd like.


feat(weave): Templates re-design

JIRA: https://wandb.atlassian.net/browse/WB-15682

Code was moved to https://github.com/wandb/weave/pull/623


Add local gems to Gemfile to be executed with bundle exec

Oh yeah, thanks @ohwutup. That's great, but it seems like it's causing issues on Travis (obviously as it doesn't use countdown): https://travis-ci.org/fastlane/fastlane/jobs/94550500
How about you add this before the first local dependency:
if `cd ..; git remote -v`.include?("countdown") # only use relative dependencies when countdown is used
   ...
end

:+1:


add in hand optimized bril, add support for fn args

I've added support for functions with arguments, although I'm not entirely certain it is sound (looking at you ReturnVal).
So far the tests are just making sure that everything passes through okay, but I've left comments on the top of each test to show the optimized version of each for when we actually attempt to optimize otherwise we will constantly fail tests

Great work-
Right now optimized version is in a comment
Could you add the optimized versions as bril code in another file? You could just add like a .optimized.bril extension.
For now they won't pass (the optimized version won't match the target exactly) so have a list of tests that shouldn't pass or something like that.

@oflatt We should probably just add in the hand-optimized bril and kill the rest. I'll see if I can get this done soonish as it isn't a large priority.
The test cases that I added for hand-optimized bril will help us from getting any sort of blowup in associativity/commutativity which will be nice to have

sounds good to me

@ryan-berger I think these benchmarks are still valuable, esp. because I implemented reassociation for addition
Would you open a PR for these benchmarks? You can even take a crack at optimizing them if you want

closing since this is quite out of date


Possible malware in Windows Release 1.5.9

The Windows installer is detected by as ransomware/malware during install. Usually I'd just assume it to be a false positive, but the reason given is strange: The install/uninstall writes encrypted data to a file "TmEncryptTemp.000". I got the installer from https://github.com/asciidocfx/AsciidocFX/releases/download/v1.5.9/AsciidocFX_Windows.exe (via https://www.asciidocfx.com, effectively downloaded file was served from https://github-production-release-asset-2e65be.s3.amazonaws.com)
What is the role of the file TmEncryptTemp.000 during the installation process?
EDIT: Other Install4J-based installers (SoapUI) don't write such a file.

Hi @jmiserez, the installer is generated by install4j but I didn't get the message before as you said. Which software analyzer gives this message? What is inside of this data? @ingokegel do you have any information about it?

The installer would not write to a file TmEncryptTemp.000 unless you have such file names in your distribution tree.

This was detected on Windows 7 by TrendMicro, which has some sort of anti-ransomware heuristic. It triggered both during the install and the uninstall and killed the program. The TmEncryptTemp.000 was actually there in the AsciidocFX install directory (C:\Program Files\AsciidocFX). I opened it in Notepad++ and it seemed to contain only random binary data.
I’ll try to run the installer in a safe Windows VM to see what happens and report back.

After some more googling, I think it's probably a false positive. TrendMicro (the virus scanner) encrypts all files it quarantines, and it names them TmEncryptTemp (Tm as in TrendMicro?). I don't know what sets TrendMicros "anti-ransomware heuristic" off, but it may just be the unzipping/unpacking during install.
If it installs clean on your machines, I think we can close this issue.


[1.20.1] Planned Features

Here are all planned features for 1.20.X listed. The checked ones have been implemented, but may not be released yet.
If you have a suggestion, please comment on this issue ☺
Released

[x] Hanging Signs => 7.0.0
[x] Trimmable Armor => 7.0.0
[x] Coffee Machine Slot icons => 7.1.0
[x] Paint Brush rework => 7.1.0
[x] Paint Bucket functionality => 7.1.0
[x] Bucket of Paint => 7.2.0

Not released yet

[x] ~Trim Material~

Nothing more planned for 1.20.1


Help needed how to create the test data

Hi All,
I have the issuer and validator services up and running, I also have the issuer web installed, and working.
I am able to produce the QR codes using these template applications.
How are you creating the test data, with the info required as per the json schema?
ie: How are you generating the payload below?
{
   "JSON": **JSON OBJECT**,
   "CBOR": **CBOR (hex encoded)**,
   "COSE": **COSE (hex encoded)**,
   "COMPRESSED": **COMPRESSED (hex encoded)**,
   "BASE45": **BASE45 Encoded compressed COSE**,
   "PREFIX": **BASE45 Encoded compressed COSE with Prefix HC(x):**,
   "2DCODE": **BASE64 Encoded PNG**,
   "TESTCTX":{
       "VERSION": **integer**,
       "SCHEMA": **string (USED SCHEMA, semver)**,
       "CERTIFICATE": **BASE64** ,
       "VALIDATIONCLOCK": **Timestamp**, (https://docs.jsonata.org/date-time-functions ISO8601)
       "DESCRIPTION": **string**
   },
   "EXPECTEDRESULTS": {
       "EXPECTEDVALIDOBJECT": **boolean**,
       "EXPECTEDSCHEMAVALIDATION": **boolean**,
       "EXPECTEDENCODE": **boolean**,
       "EXPECTEDDECODE": **boolean**,
       "EXPECTEDVERIFY": **boolean**,
       "EXPECTEDCOMPRESSION": **boolean**,
       "EXPECTEDKEYUSAGE": **boolean**,
       "EXPECTEDUNPREFIX": **boolean**,
       "EXPECTEDVALIDJSON": **boolean**,
       "EXPECTEDB45DECODE": **boolean**,
       "EXPECTEDPICTUREDECODE": **boolean**,
       "EXPECTEDEXPIRATIONCHECK": **boolean**,
    }
}

@psavva
You may find this useful, but not sure if this is official way to do it.
https://github.com/ehn-digital-green-development/dgc-java/blob/main/create-validate/src/test/java/se/digg/dgc/interop/CreateTestDataTest.java

@DragoMlakar @psavva No, it's not official in any way. And using this code (my code) is only relevant if you use the dgc-java library for your DGC issuance. The thing with this repo is that we test each others QR-codes that will be used in production.

Thank you all for your comments.
We have created the test data using the web issuing frontend and spooling out some logs of the data we need.  Constructed the needed examples based on the tests we had run...


Search for only python 2.7

If there are many pythons intalled on system this egrep may find for example 3.4, which this script will decline to use later. So why don't we just seach for python 2.7?

+1


Compute 'chunked' Lagrange commitments

This PR tweaks the SRS precomputations to calculate a 'chunked' representation of the Lagrange commitments.
The lack of this prevented the 'chunked' approach from working with public inputs. This brings us closer to a working version of the chunked prover.

The lack of this prevented the 'chunked' approach from working with public inputs

what's the problem there?

what's the problem there?

There wasn't a defined way to generate the chunked commitment by lagrange interpolation before, so attempting to generate the public input polynomial would use the 'unchunked' version. This would generate a polynomial of the incorrect degree: the lagrange polynomial should be (x^n - 1)/(x - w^i) (scaled by a constant when normalised), but instead we'd only be getting the polynomial terms from the first chunk.
Naturally, this will cause the public polynomial to modify the values at other entries than the desired i, causing verification to fail.