Animated meshes disapear if their original position is not within the field of view

Bevy version
cdb62af4bf52 (main as of 2022-06-09)
What you did
I've a giraffe where the eyes are a different mesh from the rest of the body, and when the neck moves enough, it's possible that the eyes after application of animations are so far away from their initial position that the engine thinks it's outside of frustum, while they should be within view, and doesn't render them.
Video demonstrating the bug:
https://user-images.githubusercontent.com/26321040/172806192-d2bcb442-0a93-4e0d-a841-2c19edb34506.mp4
As you can observe, the blue eyes disappear if the original eye position are not within the field of view.
The rest of the mesh (skin) also disappear when the camera view doesn't include the original mesh's position.
Additional information
This is because entity mesh AABBs are not computed based on the animation. The animation shader runs on the GPUs, while AABB filtering runs on CPU before anything is sent to the GPU. There is no way for bevy to filter meshes based on the animation position.
This seems to be something barely possible if not impossible to fix within bevy. Suggestions include:

Pre-processing step for generating AABB before loading models, accounting for joint limits or pre-backed animations.
Cunningly associate the invert-bind-pose to the vertices it's supposed to transform, create AABBs for each bones, and use that AABB with the transform of the bone for culling of animated meshes. (note that it's not a full solution and it's fairly expensive). This is a rough idea and I'm not sure if it can even work.

Workaround
There are two options if you hit this issue:

Add the NoFrustrumCulling component to the entities which mesh disappear because of animation.
Change the Aabb manually so that it can cover the full range of possible visible position for the model. (note that this workaround might break when #4944 lands)

A simple starting point might be to use a conservative bounding sphere of the longest bone chain to generate an AABB:
https://gamedev.stackexchange.com/questions/43986/calculate-an-aabb-for-bone-animated-model

This also causes raycast to work incorrectly for animated meshes (because actual mesh could be in a different location).
@aevyrie is it something that should be addressed in raycast implementation or could be fixed on Bevy side?

The problem with raycasting is double:

raycasting uses AABB to narrow down which mesh to look at, if the AABB is bogus, well it won't pick up the right meshes when narrowing down
raycast uses the bevy Mesh, which is the CPU side representation of the model, the CPU-side representation has no awareness of the position of vertices when animated, so it will always be wrong

If you content yourself with CPU-side raycasting, you'll have to accept either ridiculous performance loss or inaccurate (too broad) collision detection.
But there is a way! This is where GPU picking is useful. GPU picking constructs a buffer with individual ID per entity, you can then read that buffer for the pixel under the cursor, and you have the picked entity!
Issue is I don't think someone has yet made a GPU picking implementation in bevy.

As a note, I had a GPU picking impl that worked with skinned meshes as well a while ago: https://github.com/bevyengine/bevy/pull/6991
it is superseded by @IceSentry 's PR here: https://github.com/bevyengine/bevy/pull/8784
I see the most recent comment there by @mtsr  is to consider having GPU picking as a pre-pass.
I don't know how/when/where culling happens so I'm not sure how relevant it is for this issue.

Workaround snippet, for convenience:
use bevy::{
    prelude::*,
    render::{mesh::skinning::SkinnedMesh, view::NoFrustumCulling},
};

/// System that automatically disables frustum culling for
/// all skinned meshes, as soon as they are added to the world.
fn disable_culling_for_skinned_meshes(
    mut commands: Commands,
    skinned: Query<Entity, Added<SkinnedMesh>>,
) {
    for entity in &skinned {
        commands.entity(entity).insert(NoFrustumCulling);
    }
}

Then just add it as a system:
fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_systems(Update, disable_culling_for_skinned_meshes);
}

This issues doesn't occur solely with animations. It occurs with any type of entity that has a skeleton animation. In my case scenario, I have a player following camera. And if i stop looking at the mesh boom, no rendering.

This took me a while to figure out today. Until a proper solution is landed on, it would be nice to disable frustum culling for skinned meshes by default. This seems like it would affect almost every 3d game, and can be a bit of a head scratcher.

I've made a standalone plugin that mostly works around this issue but has some drawbacks.
I think the plugin could be the foundation of an engine fix, but my path to a PR is unclear. I'm going to lay out some notes below and see if there's any feedback.
Summary
The plugin finds entities with skinned meshes, adds a new component+asset with per-joint AABBs, then uses them to re-calculate the mesh's AABB every frame. This approach is robust - as in the mesh is guaranteed to be within the AABB - as long as the mesh's vertices are only driven by linear blend skinning (no blend shapes or vertex shader shenanigans).
https://github.com/user-attachments/assets/73d236da-43a8-4b63-a19e-f3625d374077
So, why not just add this plugin to the engine's default plugins? There's two key issues:

Concerns over per-frame performance.
The per-joint AABBs should be pre-calculated at some point in the asset pipeline, but I'm unsure what the solution would be.

There's a few other smaller concerns but I'll skip them for now.
Issue 1: Per-Frame Performance
I've benchmarked the plugin on many_foxes, and my somewhat hand-wavey conclusion is "enabling skinned AABBs multiplies the main app CPU cost of a mesh playing a single animation by 1.04x". Alternatively, "on a mid-range desktop CPU, each skinned joint costs an extra 8ns". More detailed notes are here.
Is 1.04x is a fair price for fixing a common problem users have with skinned meshes? I'd say yes.
There's also many ways to optimise:

Give users the option to choose cheaper but less robust approximations.
Improve the robust solution by trying different shapes, compression, avoiding global<->entity space conversions, or combining with other systems that process joint transforms (animation, render extraction).
As the renderer gets more GPU-driven the skinned AABBs might move to the GPU and be calculated during frustum culling.

Also worth noting that some people are working around the original issue by disabling frustum culling. This increases renderer and GPU costs, so they might find switching to skinned AABBs is a performance win.
Issue 2: Asset Pipeline
The plugin calculates the skinned AABB data at runtime, has to continually check for new meshes, and requires the mesh vertex data to be kept in the main world asset. A real fix should allow all this to be done at asset import time.
In the long-term my guess is that the Bevy mesh pipeline will become more modular and extensible, so adding a skinned AABB calculation in the right place will be easy.
But in the short-term, my guess is that most Bevy projects are instantiating scenes directly from GLTF files. We'd need a temporary solution that modifies the GLTF importer.
Solution 1: Add a GLTF extension to store the skinned AABB data and create a tool for users to pre-process their GLTFs. Annoying for users and the solution is likely to be thrown away at some point.
Solution 2: Extend the GLTF importer to calculate the skinned AABB data while loading. Has a small load time performance cost and will require some moderate refactoring of the importer. But is simple for users, and the refactoring might align with other proposals to modularise the pipeline (https://github.com/bevyengine/bevy/issues/13681). Eventually the code would migrate out of the GLTF importer and into a pipeline module.
What Next?
Right now I'm considering two paths:

Forget about engine changes in the short-term. Continue building out the standalone plugin.
Or, start investigating the GLTF importer refactoring and see how far I get.

If there's positive vibes around changing the GLTF importer then I'd likely choose path 2.
Comparison To Other Engines
Most game engines have a "fixed size AABB attached to the root bone" path for skinned meshes. Some have approximations that look at other joints, but none are robust.

Unreal: Root bone bounds are automatic (from reference pose) or custom. Also supports manually authored per-joint bounds via physics assets.
Unity: Root bone bounds are automatic (from animations) or custom (documentation).
Godot: Unclear. There's an issue that says they only support root bone bounds  (https://github.com/godotengine/godot/issues/85171), but also code in the engine related to per-joint AABBs (MeshStorage::mesh_get_aabb). I don't know if they're using this at runtime.
O3DE: Root bone bounds, plus option to approximate the AABB from joint origins and a fudge factor.


RFC 0019: Pack/Unpack

As per the DID-Comm encryption envelope spec:
https://github.com/hyperledger/aries-rfcs/blob/master/features/0019-encryption-envelope/README.md
This epic will include packing and unpacking of envelopes exchanged between DID agents.
JWE encryption/decryption is mainly used in this process for additional security/confidentiality of messages.

outdated


Extend depth overlay tests to include shader exported depth

Description
Extend the depth overlay tests to support Issue 2858
This is the final PR in the sequence of PRs which all together complete the implementation of the feature.
This final PR extends the automated overlay tests GL_Overlay_Test, D3D11_Overlay_Test, D3D12_Overlay_Test, VK_Overlay_Test. The tests have been extended to use a pixel shader to write out depth 0.0 for a small rectangle just bottom-left of the centre.
This also includes a minor tweak to the D3D12 overlay initialisation code based on a compile error from clang on similar code used in the Vulkan overlay initialisation.
Testing

Windows GL_Overlay_Test, D3D11_Overlay_Test, D3D12_Overlay_Test, VK_Overlay_Test.
Linux GL_Overlay_Test, VK_Overlay_Test.

https://github.com/baldurk/renderdoc/pull/3153


Docs: Update Discord Invite Link

What you want to add in the documentation?
The Discord invite link in the Readme is expired. It needs to be updated.
Add screenshots
No response
Record

[X] I agree to follow this project's Code of Conduct
[ ] I want to work on this issue

It is already updated

https://discord.gg/s9v8WHUgfV
try this

Ok I got it. Interesting, it didn't work on Google Chrome but it did work on Brave.
Thank you!


Test Metrics: Show percentage for class metrics

As a user I want to know the pass percentage of class metrics

Added as part of https://github.com/adiralashiva8/testng-metrics/commit/807137d18b040c3a35cea227976fddd398749124 commit


NO-JIRA: pull request template update

Description
Adding some new types of changes to the template.

LGTM

@aguidirh - nice , one of the tasks that always needed to be done  !!!

/lgtm


Version is "0" in pkg-config file of opus and x265

Describe the bug
The Version string of opus.pc and x265.pc are "0", which located in vcpkg\installed\x64-windows\lib\pkgconfig
Environment

OS: [e.g. Windows]
Compiler: msvc 2022

To Reproduce
Steps to reproduce the behavior:

vcpkg_default_triplet=x64-windows
./vcpkg install opus x265

Expected behavior
.pc files contains correct version info

Confirmed.


Form

Code review please!

Added gem tzinfo-data (required for Windows compatibity).
Modified seed file slightly for better utility (forced 1 teacher to be admin, 1 to be non-admin)
Multiple select and delete are implemented! (... I think.  Can't be 100% sure until login is complete.)
Added full_name virtual attribute.  (required for form)

Getting a merge conflict warning on model/student.rb, but not sure why. :\


Fix for spatial awareness allowing only mesh observers to be registered (#5835)

Overview
The spatial awareness system was incorrectly configured to only allow registration of mesh observers. This blocks support for non-mesh observers (ex: future platform growth).
The fix was to filter based on IMixedRealitySpatialAwarenessObserver instead of the more restrictive IMixedRealitySpatialAwarenessMeshObserver.
This change also pointed out that BaseSpatialObserver was mistakenly NOT marked as abstract. It does not provide any observation functionality and is suitable only as a base class (the original intent).
As a part of this change, the class doc comments for BaseInputDeviceManager and BaseSpatialObserver were improved or added.
Changes

Fixes: #5835.

Verification

Confirmed non-mesh observer is discovered and can be added.
Confirmed that the base class does not appear in available observers

/azp run


Enabled strict dependency on sdks-extensions

Please add a meaningful description for your change here

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.

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

R: @ibzib Requesting your attention on this PR too.

R: @ibzib Requesting your attention on this PR too.

Similar to sdks/java/io, extensions is a large folder that contains many different projects. It'd be better to break this one up too, by going one directory deeper (so sdks/java/extensions/sql can be in one largeish PR and everything else is by itself).

Similar to sdks/java/io, extensions is a large folder that contains many different projects. It'd be better to break this one up too, by going one directory deeper (so sdks/java/extensions/sql can be in one largeish PR and everything else is by itself).

Run Java PreCommit

Run Java PreCommit

@ibzib I don't seem to have the access/capability to re-run the failing "Java Tests / Java Unit Tests (macos-latest) (pull_request) " test above. Could you please re-run it for me? Thanks in advance.

@ibzib please see if with the latest changes this is good to go. thanks.

R: @ibzib

Similar to sdks/java/io, extensions is a large folder that contains many different projects. It'd be better to break this one up too, by going one directory deeper (so sdks/java/extensions/sql can be in one largeish PR and everything else is by itself).

@ibzib I had overlooked this comment earlier. Since then the review has made forward progress. Would you still like this PR split into individual files?

Can we close this PR? It looks like it was split into smaller ones and merged.


DO NOT MERGE! Fast Forward stable to b5aea97c6396ad34d092c53262ba3b5ef898469e.

This PR will be merged automatically once checks are successful.

This change is

Jenkins job mixer/postsubmit passed

Jenkins job mixer/postsubmit passed

Jenkins job mixer/e2e-suite passed

Jenkins job mixer/e2e-suite passed


Can't pull example-go application

From @ColdHeat on July 1, 2017 23:43
I'm just trying to follow the Deploy Your First Application tutorial and I'm running into this error:
❯ deis pull deis/example-go -a expert-neckwear
Creating build... Error: Unknown Error (400): {"detail":"Put http://<IP_ADDRESS>:5555/v1/repositories/expert-neckwear/: dial tcp <IP_ADDRESS>:5555: getsockopt: connection refused"}

Copied from original issue: deis/workflow#834

From @mikefaille on November 21, 2017 0:57
Same thing for me. I configured rbac too.
helm upgrade unrealistic-markhor deis/workflow --namespace deis --set global.experimental_native_ingress=true,controller.platform_domain=<hidden> --set global.use_rbac=true


hot-fix revert

Reverting the commit that blew away all the normalizing completed on the module and the assets ids


[SPARK-47780][SQL] Make catalyst-generated classes stable and uniquely named

What changes were proposed in this pull request?
This change make the classes generated by catalyst:

Stable across different runs. The generated code does not contain random numbers that come from lambda-proxy names (0x<address>).
Uniquely named. The name uniqueness is achieved by adding the hash code of the generated code to the class name. The generated classes are now named org.apache.spark.sql.catalyst.expressions.GeneratedClass$<codeHash> instead of org.apache.spark.sql.catalyst.expressions.GeneratedClass.

Why are the changes needed?
The changes were needed to allow running Spark SQL workloads on GraalVM Native Image.
Does this PR introduce any user-facing change?
Yes, it removes the random number from the lambda-proxy name in the UDF failure error message. Before this change:
[FAILED_EXECUTE_UDF] Failed to execute user defined function (QueryExecutionErrorsSuite$$Lambda$970/0x181260145: (string, int) => string).

After this change:
[FAILED_EXECUTE_UDF] Failed to execute user defined function (nextChar in QueryExecutionErrorsSuite$$Lambda$970: (string, int) => string).

How was this patch tested?
The test cases for this code path were already introduced in the following PR. This PR modifies these tests to check for the new format.
Was this patch authored or co-authored using generative AI tooling?
No!

Could someone from the team re-open and remove the stale tag? It's unfortunate that this is not being merged yet, because it's a small self-contained fix enabling AOT compilation of Spark projects.


Move some hash computations to compile time

A final set of optimizations (before releasing 1.1) that moves a number of computations to compile time. In particular a number of hashed values are a function of the type of an object, and have been moved to @generated functions.
This brings most performance within spitting distance of the "raw" hash computations.
This changes the hash values for HashVersion{2}, but these have yet to be included in a release.
Before
12×5 DataFrame
 Row │ benchmark   hash       base        trait       ratio
     │ SubStrin…   SubStrin…  String      String      Float64
─────┼──────────────────────────────────────────────────────────
   1 │ structs     crc        70.167 μs   51.761 ms   737.68
   2 │ tuples      crc        71.375 μs   9.623 ms    134.829
   3 │ symbols     crc        530.667 μs  5.145 ms      9.69535
   4 │ strings     crc        527.125 μs  4.413 ms      8.37159
   5 │ dataframes  crc        70.167 μs   385.792 μs    5.4982
   6 │ numbers     crc        35.208 μs   176.875 μs    5.02372
   7 │ structs     sha256     533.041 μs  55.757 ms   104.601
   8 │ tuples      sha256     532.958 μs  10.976 ms    20.5939
   9 │ dataframes  sha256     533.000 μs  993.000 μs    1.86304
  10 │ numbers     sha256     266.125 μs  487.792 μs    1.83294
  11 │ symbols     sha256     4.000 ms    6.611 ms      1.65291
  12 │ strings     sha256     4.000 ms    6.321 ms      1.58011

After
12×5 DataFrame
  Row │ benchmark   hash       base        trait       ratio
      │ SubStrin…   SubStrin…  String      String      Float64
─────┼──────────────────────────────────────────────────────────
    1 │ tuples      crc        71.417 μs   1.197 ms    16.7584
    2 │ structs     crc        70.208 μs   1.101 ms    15.6796
    3 │ dataframes  crc        70.333 μs   377.250 μs   5.36377
    4 │ numbers     crc        35.917 μs   183.791 μs   5.1171
    5 │ symbols     crc        536.750 μs  811.333 μs   1.51157
    6 │ strings     crc        527.084 μs  727.375 μs   1.38
    7 │ structs     sha256     533.083 μs  2.460 ms     4.61506
    8 │ tuples      sha256     533.041 μs  2.139 ms     4.01329
    9 │ dataframes  sha256     532.959 μs  1.132 ms     2.12391
   10 │ numbers     sha256     271.083 μs  572.750 μs   2.11282
   11 │ strings     sha256     4.018 ms    1.989 ms     0.494985
   12 │ symbols     sha256     3.999 ms    1.859 ms     0.464977

One other question I have is why the reference test files needed to change if the default HashVersion{1} is still being used and these changes are non-breaking?

Just to address this before I take a look through your other comments.
I have reference tests for each HashVersion: I want to test that given a particular hash version the hash value does not change for a given object. The function test_hash is defined on lines 31-32 of runtests.jl such that it will use the context set in the for loop.

To elaborate on my comment above: in the reference tests, ref01_2_crc is reference test 1, using HashVersion{2} with a crc32c hash function. You will find that none of the reference tests matching ref[nun]_1_[hash] have changed, confirming that no HashVersion{1} return values have changed in the tests.


feature request

allow hsm_secret to be encrypted and poncho to still function.

We would need a way to decrypt it though, so the decryption key would have to live somewhere, which defeats the purpose?
The alternative is to ask CLN to implement an API "sign arbitrary payload" so poncho can call that instead of using the key directly.

maybe i mean like, hsm_secret is encrypted and gets decrypted when lightningd runs. so poncho can still work if lightningd has decrypted hsm_secret?


ERROR in AceEditorModule is not an NgModule

I use ng2-ace-editor in an angular-cli project. Now I updated to the latest version of ng2-ace-editor 0.2.0.
When I run ng serve it tells me:
ERROR in AceEditorModule is not an NgModule
You can reproduce it with the latest angular-cli version 1.0.2:
ng new editor-test
cd editor-test
npm install ng2-ace-editor --save
Add AceEditorModule into the imports of the AppModule
Run:
ng serve or ng build

I'm so sorry, i don't verify last pull request.
I try to resolve your problem.

@dominikhb Can you try new version 0.2.1?

I tried the new version 0.2.1 with the same steps as written above. It still shows the same error ERROR in AceEditorModule is not an NgModule

thx @CatarinaAmaral.
I pushed new version 0.2.2 and create new branch with last pull request.

Thanks, it works again.

I'm still getting this on version 0.2.5
ERROR in AceEditorModule is not an NgModule

I'm seeing this issue in version 0.2.5, importing AceEditorModule from 'ng2-ace-editor', and including it in my module imports.


An addition to FAQ section

[Enter feedback here]
we need to add the following to the FAQ section:
Can lifecycle management delete data in archived tier?
No, Azure Blob Storage's Lifecycle Management feature cannot directly delete data in the archived tier based on the modified time. The archived tier in Azure Blob Storage is intended for long-term storage of infrequently accessed data and has specific limitations and restrictions.
The archived tier has a minimum retention period of 180 days, which means that data in the archived tier cannot be deleted or transitioned to another tier until the retention period has passed. Once data is in the archived tier, it must remain there for a minimum of 180 days before any lifecycle actions can be applied to it.

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

ID: 1fba9bbf-0023-8aed-edf5-3c456031e47f
Version Independent ID: 977b6498-cb6d-ea8b-4e67-1272c2a89ec8
Content: Optimize costs by automatically managing the data lifecycle - Azure Storage
Content Source: articles/storage/blobs/lifecycle-management-overview.md
Service: storage
Sub-service: common
GitHub Login: @normesta
Microsoft Alias: normesta

Thank you for the suggestion @hqaffesha13! According to this section of our content (https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview?tabs=azure-portal#archive-access-tier) the delete operation is supported in the archive tier. However, if data is deleted from the archive tier before the 180 days expire, there remains a prorated charge. Our content says this:
"Data must remain in the archive tier for at least 180 days or be subject to an early deletion charge. For example, if a blob is moved to the archive tier and then deleted or moved to the hot tier after 45 days, you'll be charged an early deletion fee equivalent to 135 (180 minus 45) days of storing that blob in the archive tier." With that in mind, I don't believe we would want to include a statement that says "data in the archived tier cannot be deleted or transitioned to another tier until the retention period has passed".
Can you please share what led you to believe that data cannot be deleted from the archive tier? That limitation would mark a change in behavior which would require changes to multiple areas of the documentation.
Thank you!

@normesta Thanks for your quick responses.
@hqaffesha13 if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

I have applied a test on my end that failed to delete archived data but it was a mistake on my config.
Apologies for the confusion regarding this one.


Offline checks in meta-security layer

Meta-security layer at http://git.yoctoproject.org/cgit/cgit.cgi/meta-security contains several scripts for offline security checks (see package redhat-security). Could you consider adding some of those scripts to the isafw layer or implementing corresponding functionality in existing checks? Thanks!

Checks for executable stack are added in this commit: 74bcd9d925140208742bd90a0c183fd86e20f341

Calling setuid/setgid variants without calling initgroups/setgroups addressed in commit: 40716d0ee9f055ad01ddc58d01c0c22191da67f8

Both commits are merged now. I am closing the issue. Rest of offline security checks are either already present in meta-security-isafw or not really applicable for the usecase in mind.


All Builds cancelled

What App Center service does this affect?
Builds
Describe the bug
When we run a build it starts but is cancelled immediately
To Reproduce
Steps to reproduce the behavior:

Go to builds -> branches
Click on the gear on a branch
Build Now

Expected behavior
Run a build

Looks like the same as #746, we're aware of this and looking into the issue.

@jkobow Thanks for reaching out. This issues should be fixed now. Let us now if you see anything else.

@dennispan the issue is back, same with #746

@IljaCuvasov sorry I no longer work on App Center


JsGrid - Change the font in a one or more grids

Is there anyway I could change the font of some of the jsgrid-cell to bold.
Thanks in advance for your help.

Sure, the way to do it depends on your use case.
If you want to make all cells of a particular column to be bold: define css: "my-custom-class" property of the field and then define styles in your stylesheet.
If you want only particular cells to be bold (depending on value or another item field): redefine itemTemplate and add your css class by condition:
itemTemplate: function(value, item) {
    return $("<div>").addClass(item.myFieldToMarkAsBold ? "my-custom-bold-class" : "").text(value);
}

Thanks for your response.
From: Artem Tabalin<EMAIL_ADDRESS>Sent: Saturday, December 10, 2016 5:54 AM
To: tabalinas/jsgrid<EMAIL_ADDRESS>Cc: Nahid Gordiz<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [tabalinas/jsgrid] JsGrid - Change the font in a one or more grids (#541)
Sure, the way to do it depends on your use case.
If you want to make all cells of a particular column to be bold: define css: "my-custom-class" property of the field and then define styles in your stylesheet.
If you want only particular cells to be bold (depending on value or another item field): redefine itemTemplate and add your css class by condition:
itemTemplate: function(value, item) {
return $("<div>").addClass(item.myFieldToMarkAsBold ? "my-custom-bold-class" : "").text(value);

}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/tabalinas/jsgrid/issues/541#issuecomment-266210113, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWK5HUkmmOCa-DulFUvD5VuDhLztyMC9ks5rGq8LgaJpZM4LJfvu.


Hotstar is not related to Fin-Tech or Banks

From line 72, Hotstar can be removed as it is neither related to fintech nor banks.

Thanks for taking a look. If you want you can create a pull request for this.


flaky TestGcpGetServiceIdentity in unit-tests

Need to open up a PR to disable it before it is stable.  This test failed over 30% per test grid data for various PRs.

@hklai do we have instruction documented for disabling an individual test out of a bucket?  I can't find it other than disable/make optional the whole test set like unit-tests.

I am having this issue building master, too: seems that the certificate is valid only until 2019-01-01 15:04:05 +0000 UTC

seems all recent run fail which blocks check in

Sorry, the cert is expired. I will create a PR to fix that.

Thank you @myidpt


test: add front-end tests for react code

Description
This PR proposes the following changes:

add pytest-playwright as test dependency
add a custom e2e pytest marker, disabled by default
add django debug mode selection per env (e2e tests are run with DEGUG=True)
add e2e tests for management navigation

How to run e2e tests
Run the e2e tests with the custom marker:
pytest -m e2e

Run the e2e tests with an actual visual browser:
pytest -m e2e --headed

Tests suggested by @MyPyDavid in #715 and related tasks

[x] test the "Management Interface"
[x] test navigation in #sidebar
[x] count number of items per element type (in #list-group), as per number of items in the db (i.e. fixtures)

[x] Catalogs
[x] Sections
[x] Pages
[x] Question sets
[x] Questions
[x] Attributes
[x] Option sets
[x] Options
[x] Conditions
[x] Tasks
[x] Views

[x] decide if e2e tests should run once or per Python/DB combination: yes, run only once
[x] decide if e2e tests should run with a single browser: chromium
[x] rebase branch
[x] refactor tests to minimize code duplication -> parametrize
[x] test nested display for functionality (eg. /catalogs/1/nested/)
[x] cache browser installation in CI
[ ] test edit buttons and edit form for each element type
[ ] reuse authentication state: https://playwright.dev/python/docs/auth
[ ] run tests in parallel in CI with xdist: django.db.utils.OperationalError: database table is locked
[ ] test new item creation, fill data, save in db
[ ] add section to testing docs

Related issue: #715
Types of Changes

[x] Refactoring (no functional changes, no api changes)
[x] Build related changes

Checklist

[x] I have read the contributor guide.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

The e2e tests are slow.
Should these tests run once in CI? Or also for Python version and Database combinations?
Should the tests run with one browser (chromium is the default), or with multiple browsers? There are a lot of options:
$ playwright install --help
[...]
    Install custom browsers, supports chromium, chrome, chrome-beta, msedge, msedge-beta, msedge-dev, firefox, firefox-asan, webkit.

I think one python version and one db is ok. Maybe newest python and sqlite3. Maybe edge is a good browser since nobody uses it. I use chome for development and firefox for everyday browsing.

If I click on "View catalog nested" (<- not the best name) I get the nested view, with sections, pages, questions etc. What do you mean by functionality here?

that the "View catalog nested" just works (as in functions), thought it would take too much effort to test all the elements in the nested view so we could do that later.
If you want to write this test as well, I think all the elements of a nested catalog should come out via this CatalogNestedSerializer
thank you very much @afuetterer, these tests look very nice already!

If I click on "View catalog nested" (<- not the best name) I get the nested view, with sections, pages, questions etc. What do you mean by functionality here?

that the "View catalog nested" just works (as in functions), thought it would take too much effort to test all the elements in the nested view so we could do that later. If you want to write this test as well, I think all the elements of a nested catalog should come out via this CatalogNestedSerializer
thank you very much @afuetterer, these tests look very nice already!

I just wanted to know what you meant by functionality. I will let the browser click on that link and check that the new pages loads and maybe look at the first nested item. I will not test all the nested items though. That should be tested in the unit test of the serializer I guess.

Alright, I can install msedge locally and in CI with playwright install, but I cannot select it with pytest-playwright, which apparently only supports these at the moment:
pytest: error: argument --browser: invalid choice: 'msedge' (choose from 'chromium', 'firefox', 'webkit')

I think I will stick with chromium then, which is the base of a lot of modern browsers.

Apropos #704: of course pytest-playwright (-> playwright -> greenlet) is the only dependency that is not Python 3.12 ready. :)
I will add a Python 3.11 test run for the e2e tests for now and upgrade, once the dependency is working.

Should playwright take a screenshot of the page in case a test fails? Just because it can?
I am unsure. These could be uploaded to GitHub as artifacts of the CI run. Overkill?

I've tested it out with pytest -m e2e --headed, that looks pretty awesome and really fast ;)
Think that screenshots would be overkill for the moment, could use it maybe when there are multiple developers that work on features for the front-end.

Thanks @MyPyDavid. :)

Apropos fast, you can add slomo.
See: https://playwright.dev/python/docs/test-runners#cli-arguments

Thank you for fixing the test. I will reword my commits soon and squash a few of them together.
This is still work in progress. But I am quiet happy with playwright so far.
I need to figure out, why editing and clicking on "save" in the edit form, does not reflect that in the database. I guess I am doing something wrong.

Yes, not pushed yet.
def test_management_edit_catalog(logged_in_admin_user: Page) -> None:
    page = logged_in_admin_user
    page.goto("/management/catalogs")
    # click edit
    page.get_by_title("Edit catalog").first.click()
    # edit
    page.get_by_label("Comment").click()
    comment = "this is a comment."
    page.get_by_label("Comment").fill(comment)
    # save
    page.get_by_role("button", name="Save").nth(1).click()

    catalog = Catalog.objects.first()
    print(catalog)
    print(catalog.comment)
    # this fails
    # assert catalog.comment == comment

It writes the comment string in the comment form field and clicks save, it redirect to the catalogs page.
Maybe it is a race condition?
Catalog.objects.first() might be called before save is done? I will investigate. But I am on vacation for a few days.
Maybe you have more luck?

ah yes, thanks for the snippet!
sure, I can look it at, maybe I'll put a sleep in between ;)
until later then!

Playwright usually waits, you can also increase its timeout settings. I guess no need for sleeping.

Awesome, you already found a solution? Nice.
Maybe you also know what kind of stuff people usually edit there. I just wanted to edit anything and hit save. But there is a thousand options to edit.

If you want to play around with test generation, please try:
python manage.py runserver in one terminal and
playwright codegen localhost:8000

Ive changed the target branch to 2.1.0 so that this won't be closed after closure of 2.0.1

Yes, of course. Thank you.

How does it look with this PR? I could add a test or something to the docs on Wednesday..

I rebased to dev-2.1.0 and cleaned up my commit mess.
You could add more tests for the edit forms or the new item generation?
I will try to figure out how to reuse the authenticated state this week. The PR should be ready then. This should make the UI a least "more tested" than before. :)
Also I would like to solve the mess with the fixtures not being available in the e2e tests. This should be possible somehow.
We should also add a note on how to run the e2e tests in the rdmo docs.

@MyPyDavid: I broke the build this morning. There is a 1.39 of playwright available on GitHub, but not on PyPI yet. I guess they release it this week.
Python 3.12 should work then. No need for running e2e tests with Python 3.11.
I will fix this once the version is released.

playwright 1.39 is available. e2e tests are possible with Python 3.12 now as well.

should we make a wheels artifact from ci build maybe in this PR or in a separate one?

Please describe what needs to be done again. You need a wheel of a branch or PR as an artifact, right?
I think it should be separate PR.

Can you add a new issue about this to discuss the requirements?
Refs:

https://github.com/pypa/cibuildwheel
https://github.com/hynek/build-and-inspect-python-package

the test can also be finished via the front-end only:
    page.get_by_title("Edit catalog").first.click()
    comment_locator = page.get_by_label("Comment")
    expect(comment_locator).to_have_text(comment)
    # Catalog
    catalog = Catalog.objects.first()
    # now it passes
    assert catalog.comment == comment

but now also the db assert works.. think that the expect executes the save to the db and before that it is lazily evualated?

I cannot reproduce this. Can you show me the complete test function, that actually saves the comment in the db?

Yes, here it is, this testcase passes for me:

def test_management_edit_catalog(logged_in_admin_user: Page) -> None:
    page = logged_in_admin_user
    page.goto("/management/catalogs")
    # click edit
    page.get_by_title("Edit catalog").first.click()
    # edit
    page.get_by_label("Comment").click()
    comment = "this is a comment."
    page.get_by_label("Comment").fill(comment)
    # save
    page.get_by_role("button", name="Save").nth(1).click()
    # click on edit catalog again
    page.get_by_title("Edit catalog").first.click()
    # check the updated comment
    comment_locator = page.get_by_label("Comment")
    expect(comment_locator).to_have_text(comment)
    # compare the updated comment with catalog from db
    catalog = Catalog.objects.first()
    assert catalog.comment == comment

Thanks @MyPyDavid for the additions. I will look at the "reusing auth issue" again.
I would like to fix my messed up commit messages, so I will force-push soon, if thats alright.
Do you feel confident that these e2e tests do something with the frontend so far? I guess this is a great step in the right direction, e.g. the playwright setup is in place. More tests can alwasy be added. But this is so much better than no tests for the frontend at all.

Can you add a new issue about this to discuss the requirements?
Refs:
* https://github.com/pypa/cibuildwheel

* https://github.com/hynek/build-and-inspect-python-package

Can you create the new issue?

yes, I think that the tests are good so far. Playwright looks like a nice framework.
The locators in the test cases can be found interactively with:
playwright codegen --viewport-size=800,600 playwright.dev

The "reusing auth issue" is an optimization I guess, it can also be added later in combination with extending the tests for multiple users.
thank you @afuetterer !

Can you add a new issue about this to discuss the requirements?
Refs:
* https://github.com/pypa/cibuildwheel

* https://github.com/hynek/build-and-inspect-python-package

Can you formulate the new issue with the requirements?

I've posted this issue https://github.com/rdmorganiser/rdmo/issues/802 about the wheels

Thank you @MyPyDavid. I totally agree. Lets wrap this up, then. I will add a new issue about reusing authentication state,
Will squash my commits later today.

What it the timing for 2.0.2? Should this PR be a part of 2.0.2 as well?

No this can wait, idealy 2.0.2 will be published tomorrow.

Done with this for now. Tests are passing.

that is awesome! thanks so much XD

You are welcome.

@jochenklar: This is ready for review. I think it will help e.g. finding breaking updates in newer javascript library versions.


Translucent FloatingActionButton get's a persistent highlight when clicked/touched

Steps to Reproduce

This problem did not occur until Flutter Ver.2.2.3. This happens in v.2.5.0 and v2.5.1.

Create a new Flutter project in Android Studio.
Set the FloatingActionButton to be translucent.
example:

      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add_sharp),
        backgroundColor: Color.fromARGB(110, 0x30, 0xe0, 0xa0),
        foregroundColor: Color.fromARGB(200, 255, 255, 255),
        elevation: 3.0,
        mini: true,
      )

Expected results:
The display returns to the original when you stop touching the button.
Actual results:
The display may not return to its original state even if you stop touching the button.
If you don't do setState (), it won't return for sure.

Issue is reproducible on master and stable 2.5.1 but not stable 2.2.3.
The FAB seems to be highlighted when it is touched and it persists for some time.
This issue might share a root cause with #90254
See attached videos.

videos
stable 2.2.3
https://user-images.githubusercontent.com/88313112/134927170-a9ee3faf-bbd1-452e-916d-3d146012e335.mp4
stable 2.5.1 & master
https://user-images.githubusercontent.com/88313112/134927217-9e0ac3f9-5e93-4483-8c17-755c31a4cec6.mp4

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.1 20G80 darwin-arm, locale en-GB)
    • Flutter version 2.2.3 at /Users/nexus/dev/sdks/flutter_rc/flutter
    • Framework revision f4abaa0735 (3 months ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.60.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.26.0

[✓] Connected device (3 available)
    • Nexus’ IPhone (mobile) • 00008020-001875E83A38002E • ios            • iOS 14.8
    • macOS (desktop)        • macos                     • darwin-arm64   • macOS 11.5.1 20G80 darwin-arm
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome 93.0.4577.82

• No issues found!

[✓] Flutter (Channel stable, 2.5.1, on macOS 11.5.1 20G80 darwin-arm, locale en-GB)
    • Flutter version 2.5.1 at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ffb2ecea52 (10 days ago), 2021-09-17 15:26:33 -0400
    • Engine revision b3af521a05
    • Dart version 2.14.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.60.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.26.0

[✓] Connected device (3 available)
    • Nexus’ IPhone (mobile) • 00008020-001875E83A38002E • ios            • iOS 14.8 18H17
    • macOS (desktop)        • macos                     • darwin-arm64   • macOS 11.5.1 20G80 darwin-arm
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome 93.0.4577.82

• No issues found!

[✓] Flutter (Channel master, 2.6.0-12.0.pre.98, on macOS 11.5.1 20G80 darwin-arm, locale en-GB)
    • Flutter version 2.6.0-12.0.pre.98 at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 48e6758fb5 (12 hours ago), 2021-09-26 21:28:03 -0400
    • Engine revision 65ad5a4836
    • Dart version 2.15.0 (build 2.15.0-150.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.5.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.60.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.26.0

[✓] Connected device (3 available)
    • Nexus’ IPhone (mobile) • 00008020-001875E83A38002E • ios            • iOS 14.8 18H17
    • macOS (desktop)        • macos                     • darwin-arm64   • macOS 11.5.1 20G80 darwin-arm
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome 93.0.4577.82

• No issues found!

CC @rami-a

Here's a further reduced test case. The problem goes away if the tooltip is not included.
import 'package:flutter/material.dart';

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(
        onPressed: () {},
        child: Icon(Icons.add_sharp),
        backgroundColor: Colors.blue.withOpacity(0.95),
        tooltip: 'tooltip',
      ),
      body: Center(child: Text('Sticky FAB')),
    );
  }
}

void main() {
  runApp(MaterialApp(home: Home()));
}

@HansMuller issue still there even without tooltip.

@zs-dima - you're correct. What I'd noticed is that, on MacOS, when the gesture-recognizer detects the long-tap that causes the tool-tip to be shown, the FAB's elevation change disappears because the simple tap gesture was cancelled. This doesn't feel quite right, but it's not really the issue that's been raised here.
On Android, it's easy to see that the button highlight does get stuck, even if the tooltip is not specified. Still looking into that.

@flar - I've bisected this issue back to this engine PR:
[flow] Switch to directional shadows #27124
which landed in an [engine roll](Engine roll - https://github.com/flutter/flutter/pull/86596) on July 19th. I can't say that I understand the regression. It occurs on Android and desktop (MacOS):
import 'package:flutter/material.dart';

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: RawMaterialButton(
        onPressed: () {},
        child: Icon(Icons.add_sharp),
        fillColor: Colors.blue.withOpacity(0.25),
      ),
    );
  }
}

void main() {
  runApp(MaterialApp(home: Home()));
}

But only if the RawMaterialButton is the Scaffold's floatingActionButton. It does not occur if the same button is just centered:
class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Align(
        alignment: Alignment.center,
        child: RawMaterialButton(
          onPressed: () {},
          child: Icon(Icons.add_sharp),
          fillColor: Colors.blue.withOpacity(0.25),
        ),
      ),
    );
  }
}

This is an odd case because ordinarily Material widget's with non-zero elevations are filled with an opaque color, so the inner part of the shadow can't be seen.

I haven't been able to reproduce the issue with a build before the shadow rendering change, e.g.
git checkout e9c1c1627adc424cf3dc78ef3994e457e041503f

Even if the initial button elevation is 12, which produces a big default shadow, nothing like the rendering anomaly reported here shows up.

@HansMuller In the app I created, the display behind the buttons contained important information, so I wanted it to be readable even if the buttons overlapped. I searched for various parameters and chose the most appropriate value, which resulted in my sample code.

@cafelasm - that makes sense. Unfortunately, we draw shadows "under" Material widgets by effectively stacking the the material on top of a filled shadow-colored figure with the same shape as the material. The shadow-colored figure is filled and its edges are blurred beyond the shape's boundaries to create the drop shadow effect. Unfortunately, this approach doesn't work well with translucent material, since you can see the filled figure through the material.
That doesn't explain exactly why event handling has gone awry in this case.


Take into account STATISTICS_MAXIMUM and STATISTICS_MINIMUM for the process of normalization

geotiff.js provides a way to extract metadata from rasters using getGDALMetadata method:
> img.getGDALMetadata(0)
{
  STATISTICS_MAXIMUM: '255',
  STATISTICS_MEAN: '161.13451304075',
  STATISTICS_MINIMUM: '27',
  STATISTICS_STDDEV: '47.78883943453',
  STATISTICS_VALID_PERCENT: '98.67'
}

It would be nice to use values of STATISTICS_MAXIMUM and STATISTICS_MINIMUM (in case of their presence) as default max and min for GeoTIFF source to perform normalization.

Thanks!


How to set initial zoom level?

Hi I am kinda new to flutter and this package does help me to achieve my goal but i need to tweak it, so how can I set the zoom level for the widget when runnning on the Web? thanks

Hi, I'm not sure what you mean by 'zoom', can you elaborate?

Hi, my apologize for the lack of clarity in my question
I was trying to set up the Webviewx widget with initial zoom due to the page which I want to show is quite big.
But I have accomplished what I need using Transform widget.
So yeah, we can close this issue
Sorry for the inconvenience.


development activity call empty for siacoin

siacoin is a viable slug according to allProjects().
But any development activity calls are empty.
{
  devActivity(slug: "siacoin", from: "2019-01-01T00:00:00Z", to: "2020-01-01T00:00:00Z", interval: "1d", transform: "movingAverage", movingAverageIntervalBase: 50) {
    datetime
    activity
  }
}

and
{
  getMetric(
    metric: "dev_activity") {
      availableSince(
        slug: "siacoin")
    }
}

Sia archived their repository in 2018. But you could report simply report 0, see your API for Tezos. They moved from GitHub to GitLab.

Thanks for the report!
The issue here was that siacoin had no github organization associated with it, so it returned no data instead of only zeroes. I've now added this organization to the project and all the historical data is now available.

@IvanIvanoff Thanks for the quick fix.
But why does the API now report plenty of GitHub activity, although the code frequency is zero since mid 2018?

In our approach we follow not a single repository but the whole github organization https://github.com/NebulousLabs. In some sense we're measuring the dev activity of the whole team and not the dev activity put into a single repo. In almost all cases the work is spread in more repositories.
In the case of siacoin there are a few repos that had activity in the past 24 hours, so that's where the activity comes from. In your example graphql query you're using a moving average with a big window which can show some dev activity where there is none (i.e. the number for today would include some activity that happened 49 days ago).
Check this query: https://tinyurl.com/qwsek7f
With it we see that there are 2-3 events per month.  On our projects' page here: https://app.santiment.net/assets/all the 100th project ranked by dev activity has activity around 12. This means that for the past 30 days they averaged 12 per day - that makes 360 per month. Now when you compare that to the activity of siacoin of 2-3 per month it really shows that siacoin have close to zero dev activity.

Makes sense. Thank you. Great support.
Hope you soon include GitLab repositories. A number of projects (Tezos, Sia, who else?) have moved by now.

@IvanIvanoff Maybe better remove devActivity from availableMetrics for tezos and siacoin? The metric is rather misleading since you do not cover GitLab. Right now I have no idea which other coins besides tezos and siacoin have an artificially low dev activity.
{
  projectBySlug(slug: "tezos"){
    availableQueries
    availableMetrics
  }
}


CMake Error at third_party/cmake/vpux_elf.cmake:23 (add_subdirectory):   add_subdirectory given source "vpux_elf/vpux_elf" which is not an existing   directory. Call Stack (most recent call first):   third_party/CMakeLists.txt:7 (include)

Not able to install linux-npu-driver for MTL device on Ubuntu22.04
Followed these instructions :
sudo apt update
sudo apt install -y build-essential git git-lfs cmake libudev-dev libboost-all-dev
cd linux-npu-driver
cmake -B build -S .
cmake --build build --parallel $(nproc)

But getting this error :

Can somebody help identify the issue here ?

Hi, please, first download all git submodule by calling:
git submodule update --init --recursive

And then try to compile the driver

Thank you! This resolved the issue.


@extend any selector

I would love the ability to @extend any selector, not just classes. Example (based on Twitter bootstrap):
#my-ul {
    @extend .row;
}

    #my-ul li {
        @extend .row > *[class^=span];
        @extend .span-one-third;
    }

The generated code would be just like with classes:
.row, #my-ul {
    ...
}

.row > *[class^=span], #my-ul li {
    ...
}

.span-one-third, #my-ul li {
    ...
}

In sass 3.2 you can accomplish this by using placeholder selectors. It doesn't make any sense to extend a complex selector because complex selectors are not a named "thing" they are an augmentation of a named "thing".

You can in fact extend non-class selectors. You can extend any sequence of simple selectors: #main, [class^=span], #body.ff.
The only restriction is that you can't extend selectors using combinators like >, +, or the simple .foo .bar descendant selector. This has to do with the underlying meaning of @extend.
When you write A { @extend B }, what you're expressing is that all elements matching the selector A should be styled as though they matched B as well. So #my-ul { @extend .row } says that all elements with the id my-ul should be styled as though they also had the class row, whether or not they actually do. So far so good.
However, suppose you write #my-ul { @extend .row .element }. This means all elements with the id my-ul should be styled as though they had the class element and some parent element has the class row. This is where the meaning starts to get vague. Which parent has class row? How would we translate the selector div.row .element? .row .group .element? The answers aren't obvious, which means that whichever decision we make will probably be contrary to someone's expectations.
What's more, since #my-ul elements are styled as though they had class element, they'll get all the styles for the .element selector as well. This isn't obvious when looking at the source file. In your example, would you expect #my-ul li to get all the styles of *[class^=span], in addition to .row > *[class^=span]?
Of course, we could just make decisions for all these ambiguous cases. We could probably even come up with a consistent set of semantics that would justify these decisions. But it's not clear that it's worth the pain we'd cause users who try to use the feature and don't understand why it produces the output that it does.
I'm closing this for now, but I'm open to being convinced that I'm overestimating the problems and underestimating the benefit of allowing extension of nested selectors.

Wow, I never even thought about all those scenarios and different implementations. My first thought was simply that saying:
one selector {
    @extend another selector;
}

Would simply put the literal string "one selector" next to every occurrence of "another selector". That's the way it works now if I'm not mistaken and I don't see why it would need to work differently just because you use a more advanced selector.
The reason I'd love if this worked right now (today :) is that I'm using the SASS version of Twitter Bootstrap and I thought I could use @extend on all the Twitter Bootstrap class names instead of actually using those class names in my HTML (which I can't really make changes to in a good way).

Would simply put the literal string "one selector" next to every occurrence of "another selector". That's the way it works now if I'm not mistaken and I don't see why it would need to work differently just because you use a more advanced selector.

That's effectively the way it works for simple cases, like extending a single class or id that's just used on its own. But when you get to more complex cases, we use the more detailed semantics I mentioned above to figure out what to do. Describing the functionality of @extend in terms of these semantics, rather than a purely syntactic transform, makes it both easier to reason about and more powerful.
I'm still not 100% clear on what your use case for this is. Can you give me a concrete example from the Twitter Bootstrap?

I think one of the greatest things with @mixin and @extend is that they allow me to keep my HTML free from design-related .class:es such as "clearfix" and the like.
Twitter Bootstrap is pretty awesome but unfortunately it's built in a way that doesn't separate design and content at all but instead advocates the use of design related class names throughout.
What I was hoping to accomplish with @extend was to use Twitter Bootstrap's classes without actually using classes. So I started by trying to create a grid using the .row and .span classes which worked fine, but I then noticed the TB doesn't just style those classes but in some cases descendants of those classes as well. To create a three column layout you need this markup:
.row
    .span-one-third
    .span-one-third
    .span-one-third

And TB styles these selectors:
.row {}
.row > [class*=span] {}
.span-one-third {}

Instead, I have this markup:
ul#intro
    li
    li
    li

And would then love the ability to do:
ul#intro {@extend .row}
ul#intro li {@extend .span-one-third; @extend .row > [class*=span]}

So that I can get the styling I'm after without changing my markup.
I realize though that this would probably get a little tough to maintain after a while and the best thing would most likely be to create @mixins for the things I want to use instead so that I could do something like: ul#intro {@include three-col}.

@powerbuoy You can get the same results as follows:
ul#intro {@extend .row}
ul#intro li {@extend .span-one-third; @extend [class*=span]}

Ah ok, nice.


Dev adrien

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

GitHub release
v1.4.0

Your semantic-release bot :package::rocket:


Compound Assignment With Augmented Multiplication

Challenge Compound Assignment With Augmented Multiplication has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

var a = 5;
var b = 12;
var c = 4.6;

// Only modify code below this line

a *= a * 1;
b *= 0.25 * b;
c *= c * 2.173913043478260869565;

It will not go into it evenly. Need help

Please use the Help chat room for getting challenge related help. Happy Coding!

hi @dp03105
correct your value this
c *= c  * 2.173913043478261
challenge will be passed

incorrect answer pls update. its just wrong

var a = 5;
var b = 12;
var c = 4.6;
// Only modify code below this line
a *= a * 1;
b *= 0.25 * b;
c *= c * 2.173913043478260999565;

var a = 5;
var b = 12;
var c = 4.6;
function calc(){
console.log(a *= a * 1;);
console.log(b *= 0.25 * b;);
console.log(c *= c * 2.173913043478260999565;);
}
calc();


[home] Cards for jobs with application urls should link directly to url

Instead of having a job description with apply button on the site—application urls let employers post on external platforms but silo their talent stream to a single place.

closing this for now.


support tchannel v2

TChannel v2 only accepts strings and buffers. We need to
JSON stringify outside of tchannel.
reviewers: @jcorbin @jwolski

thanks @Raynos


Sass compilation error with v2.0.11

Hi there! I'm running into an error when trying to compile the Sass files for Base Apps.

I installed angular-base-apps using npm: npm install angular-base-apps --save and am using version 2.0.11.
The Sass version I have installed is Sass 3.5.5 (Bleeding Edge) (via sass -v).

When trying to compile the Sass from the scss directory, I get the following output:
$ sass base.scss
Error: $original: "." is not a valid selector: Invalid CSS after ".": expected class name, was "" for `selector-replace'
        on line 26 of vendor/spinkit/spinners/4-wandering-cubes.scss, in `sk-wandering-cubes-animation'
        from line 49 of helpers/_loaders.scss, in `size-loaders'
        from line 93 of components/_button.scss, in `button-size'
        from line 283 of components/_button.scss, in `button'
        from line 290 of components/_button.scss, in `@content'
        from line 49 of helpers/_functions.scss, in `exports'
        from line 288 of components/_button.scss
        from line 30 of base.scss
  Use --trace for backtrace.

This happens on my system without modifying any of the Sass files.
Line 26 being referenced in vendor/spinkit/spinners/4-wandering-cubes.scss, which is in the sk-wandering-cubes-animation mixin:
$keyframeName: selector-replace("sk-wanderingCube-" + $width + "-" + $height, ".", "");

Sass wants a class name after the "." and in the empty quotes.
Any ideas on what the issue could be? Let me know what additional information you may need. Thanks in advance!

@mattgd seems similar to https://github.com/base-apps/angular-base-apps/issues/91.  Try the solution mentioned in that issue.

@soumak77 Disabling loaders as instructed in #91 did the trick. Thanks a lot!


Add type to Broker's _actor_infos

This is one of the solutions I suggested - fixes #203.
I'm not sure it is the solution that is the best, because it changes the interface of the broker again. But it stores the type directly with the state, which I think is nice.
I don't mind another solution being added instead of this one though!

(I'm going to sneak 275d37d in here, so I do not need to hand in another pull-request after this one with an updated signature.)
I think it would also be good to expose the actor infos directly, since otherwise it would be hard for the API to find out which actors are actually available.

Same here, fixed the conflict.

Hey :) so, we recently conducted a redesign of the Actor methodology. The regular Actor, which can also be seen in the example in the readme, now simply accepts a Signal. We think most Actor behaviors can be expressed this way. If not, the ActorBase ABC is to be sublcassed (Actor is also just an ActorBase implementation). Because we expect most Actors to be of this new type, I don't think adding a type to all actor infos/states is a common use case. For your usecase: Can you add the type to the actor state? (There will also be a new PR making this process a bit easier for the regular Actor, instead of overwriting the whole function that is)

I think it would also be good to expose the actor infos directly, since otherwise it would be hard for the API to find out which actors are actually available.
Will do.

For your usecase: Can you add the type to the actor state?

Hey :) I used mainly the type to be able to differentiate vessim's Generator actors from other actors in version 0.6.0. So I couldn't just add my own information into the pre-defined Generator actor and I did not want to force users to use a new actor class just to add this information.
I initially expected to need the type information to differentiate a few more actor types from each other.
But for this main use case, I could have just differentiated them according to the signedness of p in the actor state.
Like I said, a type field would also allow an API to know what kind of information to expect in the actor state. However it is true that Python's philosophy is duck typing anyway, so one could argue that one should just check whether the required information for an action is available in the actor state.

There will also be a new PR making this process [(adding the information to the actor state)] a bit easier for the regular Actor [...]

Right, that's not a bad feature actually. Then, my argument for adding the type would be completely pointless, as the type would not tell the API at all which information to expect from an actor state.
I'd say you can close this PR and #203 then, since they are not relevant to the current vessim version anymore. From the point of developing a custom API it would be nice to easily tell what kind of actor state one is dealing with, but I'm not sure is a good built-in solution for this with the new actor system.

I think it would also be good to expose the actor infos directly [...]

Will do.

Thanks :)


Documentation/bpf: add setting up a development environment

This should hopefully help newbies who are not familiar with compiling
the kernel and just want to get started with XDP or BPF hacking.
Signed-off-by: Alexander Alemayhu<EMAIL_ADDRESS>

I think it's a good start. I'll do some edits today when also adding a generic XDP description for iproute2 into the doc. Thanks!


Remove the misleading annotation

Motivation
If we throw an exception, then we don't need to trigger the callback anymore.
Modifications
Remove the annotation

These polish and fix typos pull requests can related to #405 , thanks.


[BUG] The CSP 'script-src:' contains one or more invalid characters & Uncaught EvalError:

Describe the bug
Service worker registration failed
1)
The Content-Security-Policy directive name 'script-src:' contains one or more invalid characters. Only ASCII alphanumeric characters or dashes '-' are allowed in directive names.

Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'wasm-unsafe-eval'".

MANIFEST 3
VUE 2
VUETIFY 2
To Reproduce
Steps to reproduce the behavior:

Use Vue cli create project

Vue CLI v5.0.1
? Please pick a preset: Manually select features
? Check the features needed for your project: Babel, TS, CSS Pre-processors, Linter
? Choose a version of Vue.js that you want to start the project with2.x
? Use class-style component syntax? No
? Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, transpiling JSX)? Yes
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): Sass/SCSS (with dart-sass)
? Pick a linter / formatter config: Prettier /
 Pick additional lint features: Lint on save YES
? Where do you prefer placing config for Babel, ESLint, etc.? NOT SURE
? Save this as a preset for future projects? yes

Install chrome-extension-cli Plugin

? Name of the Chrome Extension?  tester
? Description for the Chrome Extension? chrome extension
? Version for the Chrome Extension? 0.50.12
? manifest_version for the Chrome Extension? 3
? delete Initial file? (src/main.js src/components public/index.html public/favicon) No
? Please select the required components : background, popup, content

See error  no erroe

added "vue add vuetify"
run
Screenshots
If applicable, add screenshots to help explain your problem.

please complete the following information:

Node Version: [16.2.0]
OS: linux
Vue Cli Version [5.0.8]

Additional context
Add any other context about the problem here.

I am testing each dependency one by one to spot the culprit. I will update you soon.
this is what I want to add
"dependencies": {
"apexcharts": "^3.26.0",
"axios": "^0.21.1",
"core-js": "^3.10.1",
"css-loader": "^4.3.0",
"date-fns": "^2.22.1",
"firebase": "^8.2.4",
"font-awesome": "^4.7.0",
"highcharts": "^8.2.2",
"highcharts-vue": "^1.3.5",
"js-cookie": "^2.2.1",
"material-design-icons-iconfont": "^6.1.0",
"moment": "^2.29.1",
"moment-timezone": "^0.5.32",
"patch-package": "^6.4.7",
"vue": "^2.6.12",
"vue-apexcharts": "^1.6.1",
"vue-emoji-picker": "^1.0.1",
"vue-jsonp": "^2.0.0",
"vue-moment": "^4.1.0",
"vue-mv3-hot-reload": "github:awardx/vue-extension-mv3-hot-reload",
"vue-router": "^3.5.1",
"vue-sortable": "^0.1.3",
"vue-toastification": "^1.7.11",
"vue2-google-maps": "^0.10.7",
"vue2-perfect-scrollbar": "^1.5.0",
"vuedraggable": "^2.24.3",
"vuetify": "^2.4.9",
"vuetrend": "^0.3.4",
"vuex": "^3.6.2"
},

now 90 % of node modules worked
mamifest :
"content_security_policy": {
"extension_pages": "script-src 'self'; object-src 'self'; script-src-elem 'self' 'unsafe-inline'; connect-src https://* data: blob: filesystem:;"
},
worked

Everything works fine now except I had to add
"rules": {"vue/multi-word-component-names": "off"}  to eslintConfig in package.json
my problem was related to wrong dependencies
you may close this.


make some classes and fields accessible for being extended

Released as 0.1.10, should be available soon on central


Java proxy on a JBOSS server

My arcgis services are hosted in a IIS server, and my application and the Java Proxy in a Jboss server on a virtual machine.
proxy.xml excerpt :
<serverUrl url="http://hostname"  matchAll="true" domain="" username="*" password="*"/>

When I access the services through the proxy page
http://cbrhel6jboss004:8080/Java/proxy.jsp?http://hostname/ags/rest/services
I get an 401 error, please advice , how to fix this issue.

@lingpri can you provide more information regarding the error? such as full error message or screen shot.
also did you try to run the ping command like this, http://cbrhel6jboss004:8080/Java/proxy.jsp?ping

I get Http 401 error. The cloud vm on a red hat linux hosts the JBOSS and the resource proxy), I'm logged in as a root admin user on the cloud vm, to run the JBOSS. The arcgis services are secured to a default  all "company Domain users". I'm thinking , somewhere the credentials are not being authenticated by the arcgis services.
Please advice.
yes I did use the ping command and its returning OK.

@lingpri I am not sure I follow when you say, "company domain users", are you saying that the arcgis server is secured using Windows Authentication instead of out of the box GIS token authentication?
If that's the case, only .NET version of the resource proxy can work with that

@lingpri How did you deploy the Java proxy to Jboss?


[draft] Qmaps 1431 - animate directions/geolocation buttons on mobile

Description
Animate these buttons on mobile when the service panel is resized
Screenshots
WIP

Redone and merged as https://github.com/QwantResearch/erdapfel/pull/608


Delete plag projects

https://docs.google.com/document/d/1_PQaRANcAHDuWSaY2eJ5-W4lqw0BjNSZPKCrCqWD5s8/edit?usp=sharing
open the PR and find the folder which they added and delete those projects folder

Kindly assign this issue to me


Key error with submit to archive.org disabled

In config.py, I've set:
SUBMIT_ARCHIVE_DOT_ORG = os.getenv('SUBMIT_ARCHIVE_DOT_ORG', 'False').lower() == 'true'

Running ./archive.py ~/Downloads/bookmarks_export.html yields the following error:
File "/home/lhagan/bookmark-archiver/index.py", line 141, in write_html_link_index
    'archive_org': link['latest']['archive_org'] or 'https://web.archive.org/save/{}'.format(link['url']),
KeyError: 'archive_org'

Am I doing this wrong or have I encountered a bug here?

Nope, you found a bug, sorry about that! I just fixed it (08591e8), pull master and try again.

Closing this for now, comment back here if you're still having any problems.


shapely.geometry and pyinstaller 3.1 issues

Hello guys,
I'm trying to freeze an app that uses shapely.geometry with PyInstaller on MacOS 10.9.5.
The app works on the mac where it is frozen but on other macs it gives error:
OSError: Could not find lib geos_c or load any of its variants /Users/fadmin/Downloads/qt-shapely-test.app/Contents/MacOS/libgeos_c.dylib.
I have tried uselessly to find a solution. I use the --noupx option in pyinstaller and made sure the geos_c.dll and libgeos_c.dylib libs are actually in the .app folder.
Also I edited the geos.py alt_paths to point to the correct location with:
alt_paths = os.path.normpath(os.path.abspath(sys.executable+'/../libgeos_c.dylib'))
rather than
alt_paths = [os.path.join(sys.executable, 'libgeos_c.dylib')] as stated in pull #261
It points in the right place, libs are there but still the error.

[Process completed]

@tacyd I'm not familiar with pyinstaller, but since I'm not doing anything out of the ordinary with respect to ctypes and GEOS, I suspect there's some issue between pyinstaller and ctypes. I noticed in a search that there are a number of reported issues: https://www.google.com/search?q=pyinstaller+ctypes&ie=utf-8&oe=utf-8.

@sgillies Thank you, I had a feeling this was ctypes related but wanted to make sure about it. Will try check with pyinstaller team.

Please follow up here if there's anything I can do in the Shapely code or docs, okay?

Thank you, I'm linking the issue I opened on pyinstaller here for anybody in the future.

Resolved in https://github.com/pyinstaller/pyinstaller/issues/1792.


Unable to download heightmap

When selecting a location and then pressing the PNG heightmap button, I see "Downloading Elevation Data: 25/25" then nothing happens. It worked yesterday, but now with version 2.0, I cannot seem to download a heightmap. I am using Firefox.

I am having a similar issue.  When this happens does this message appear in your browser's development console?
Geometry exceeds allowed extent, reduce your vector tile buffer size 2d01b3b5-e3fd-43ce-8bf7-89eedc24acd1:1:69198

I tested the download using Firefox, and there were no problems. Try resetting it in the config tab.
If that doesn't solve the problem, could you please export the settings file and upload it here? The json file does not contain any keys or tokens, so it is safe.

I am out of town for the weekend, will try again Sunday night and update you. As a note, I have both the MapTiler and Mapbox API keys entered. Neither PNG nor RAW heightmaps could be downloaded, but downloading other map formats seemed to work just fine.

I am having a similar issue. When this happens does this message appear in your browser's development console?
Geometry exceeds allowed extent, reduce your vector tile buffer size 2d01b3b5-e3fd-43ce-8bf7-89eedc24acd1:1:69198

This error message is a known issue with Mapbox GL JS, but it doesn't seem to be directly related to map downloads.

I tested the download using Firefox, and there were no problems. Try resetting it in the config tab.
If that doesn't solve the problem, could you please export the settings file and upload it here? The json file does not contain any keys or tokens, so it is safe.

Resetting fixed the issue. I can now download heightmap in png.


Support Windows

With Cuda 7.0/7.5 i get this error
ollenchyma>cargo test
Running target\debug\backend_specs-5e76dbe75e34191a.exe
running 5 tests test backend_spec::native::it_can_use_ibackend_trait_object ... ok test backend_spec::native::it_can_create_default_backend ... ok
after that backend_specs-randumnumber.exe stopped working
GDB OUTPUT:
`running 5 tests
[New Thread 16076.0x1804]
[New Thread 16076.0x3c24]
[New Thread 16076.0x315c]
[New Thread 16076.0x34c0]
[New Thread 16076.0x32d4]
[New Thread 16076.0x42ec]
[New Thread 16076.0x34e4]
[New Thread 16076.0x2a64]
[New Thread 16076.0xe3c]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16076.0x34e4]
0x000000000051b670 in cuInit ()`
stackframe:
#0  0x000000000051b670 in cuInit () #1  0x00000000004874ec in collenchyma::frameworks::cuda::api::driver::utils::API::ffi_init ()     at src\frameworks\cuda\api\driver/utils.rs:15 #2  0x0000000000472fcb in collenchyma::frameworks::cuda::api::driver::utils::API::init ()     at src\frameworks\cuda\api\driver/utils.rs:11 #3  0x0000000000472bfd in collenchyma::frameworks::cuda::Cuda.IFramework::new ()     at src\frameworks\cuda/mod.rs:46 #4  0x0000000000406dfe in backend_specs::backend::IBackend::default<co::backend::Backend<co::frameworks::cuda::Cuda>> () at src/backend.rs:106 #5  0x0000000000406cf0 in backend_specs::backend_spec::cuda::it_can_create_default_backend ()     at tests/backend_specs.rs:37 #6  0x0000000000429e29 in boxed::F.FnBox$LT$A$GT$::call_box::h809104141212590368 () #7  0x000000000042c844 in sys_common::unwind::try::try_fn::h15534802711051563033 () #8  0x00000000004c471b in sys_common::unwind::try::inner_try::h3ae51230bca914caH9s () #9  0x000000000042cbfb in boxed::F.FnBox$LT$A$GT$::call_box::h11947310459896948609 () #10 0x00000000004d522e in sys::thread::Thread::new::thread_start::h24036cb9e2bd1c0fLey () #11 0x00007ffcfe848102 in KERNEL32!BaseThreadInitThunk ()    from C:\WINDOWS\system32\kernel32.dll #12 0x00007ffd00b0c5b4 in ntdll!RtlUserThreadStart () from C:\WINDOWS\SYSTEM32\ntdll.dll #13 0x0000000000000000 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?)

any news on this?

This looks like a cuda / cudnn error since the init call is failing.
Other users of the lib have experienced it as well eg https://github.com/NVIDIA/nccl/issues/8 and may indicate cuda/cudnn is not installed properly . In that case a symlink solved it,


Access of home page without Login

When starting the application, the app is redirected to the home page even if the user is not logged in, thus not able to access all the information.

Updated code on Authentication to  redirected to the home page when app opens


Fire OnChange() only when something changed

Hi Gleb,
I have noticed that the OnChange() is being fired in all cases, do you agree that it's more reasonable to close the edit menu but not to call  OnChange() if "start or end" does not changed.
Thanks

Yes, I agree with you that onChange() should be fire only when something is changed.0
I've checked and it seems to work fine, are you seeing onChange() firing when nothing is changed?

Yes Gleb, onChange() is fired even if nothing has been changed!

Hmm, very strange! Does this also happen for you on the demo page?
I'd love to look into this but I can't reproduce this issue here. Could you please provide a snippet of the environment where you are using this directive? Maybe a jsbin or something like that?
Thank you in advance!

the issue has no longer appeared. It seems it was a cashing issue with the old version.
Job done!


LUCENE-10241: Updating OpenNLP to 1.9.4.

Description
Updating OpenNLP dependency to 1.9.4.
#11277
Solution
Updated OpenNLP dependency version.
Tests
Tests passed.
Checklist
Please review the following and check all that apply:

[X] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[X] I have created a Jira issue and added the issue ID to my pull request title.
[ ] I have given Lucene maintainers access to contribute to my PR branch. (optional but recommended)
[X] I have developed this patch against the main branch.
[X] I have run ./gradlew check.
[ ] I have added tests for my changes.

It would be nice if this was updated to the awesome new OpenNLP 2.x line!

@jzonthemtn  not sure I have the knowledge or chops to do this upgrade...

@jzonthemtn not sure I have the knowledge or chops to do this upgrade...

I'll push an update!

@jzonthemtn not sure I have the knowledge or chops to do this upgrade...

I'll push an update!

I'm also interested in this -- #12674 so far, work-in-progress.

If there are no objections or concerns I'll aim to merge this sometime next week.
(And the upgrade to 2.x can happen as a follow-up pull request.)


Network visualization not working (Caffe)

Using the latest version of digits, whenever I try to visualize a network I get:
500: INTERNAL SERVER ERROR
'module' object has no attribute 'poll'

Works for me. I bet this is some sort of library version mismatch. Can you run the server in debug mode to get a more detailed error message?
./digits-devserver --debug

Traceback (most recent call last):
File "/home/jamin/anaconda/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/home/jamin/anaconda/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functionsrule.endpoint
File "/home/jamin/git/DIGITS/digits/webapp.py", line 67, in decorated
return f(*args, **kwargs)
File "/home/jamin/git/DIGITS/digits/model/views.py", line 113, in visualize_network
ret = fw.get_network_visualization(flask.request.form['custom_network'])
File "/home/jamin/git/DIGITS/digits/frameworks/caffe_framework.py", line 131, in get_network_visualization
return ''
File "/home/jamin/git/caffe/python/caffe/draw.py", line 204, in draw_net
return get_pydot_graph(caffe_net, rankdir).create(format=ext)
File "/home/jamin/anaconda/lib/python2.7/site-packages/pydot.py", line 1879, in create
stdout_data, stderr_data = p.communicate()
File "/home/jamin/anaconda/lib/python2.7/subprocess.py", line 800, in communicate
return self._communicate(input)
File "/home/jamin/anaconda/lib/python2.7/subprocess.py", line 1417, in _communicate
stdout, stderr = self._communicate_with_poll(input)
File "/home/jamin/anaconda/lib/python2.7/subprocess.py", line 1447, in _communicate_with_poll
poller = select.poll()
AttributeError: 'module' object has no attribute 'poll'

Hello @mingtop do you have Pydot 1.0.28 as recommended in requirements.txt.

Thank you very much!!
Sent from my iPhone

On Aug 2, 2016, at 18:02, Greg Heinrich<EMAIL_ADDRESS>wrote:
Hello @mingtop do you have Pydot 1.0.28 as recommended in requirements.txt.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I'm just curious - did you have a newer version of pydot that caused the problem?

@lukeyeager  yes, change to the certain version by pip install pydot=1.0.*.


Install ruby tools into ./vendor and add scripting in Makefile

I have a go tool named bundle installed via macports which gets in the
way of using ruby bundle in the usual way.
This is pretty much just cargo-culting, so feedback is welcome.

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/fa7f1d8e43e76e85971e13f3593ac4ed2c2f7b03/


Fix.path3 d.same position points

This commit adds the ability to pass an optional Vector3 to path3D in order to give some wanted orientation to the first normal (normal on the first path point).
May help users needing to build their Path3D with a given starting local system without to deal then with complex rotations.

The ComputeNormals is included in two pull requests - maybe close the other one and leave this one with the extra changes.

mmmh...
I guess I did (wrongly) a branch of branch, that's the reason why


Extract Puppet interaction to a manager service

This pulls out the code from PAL that handles interacting with Puppet
and building a compiler into a new CompilerService class. That class
builds a compiler context in a dedicated thread and accepts operations
to perform via a work queue, posting results via a promise.
This allows us to only instantiate a single compiler to perform multiple
operations, rather than getting a new one each time we need to use
Puppet.
It also helps separate the code that knows how to interact with Puppet
on a basic level (CompilerService) from the code that knows how to do the particular
operations we care about in Bolt (Bolt::PAL itself).

CLA signed by all contributors.


Improvements by imaandrew

@w84death , just letting you know about these improvements by @imaandrew (not tested by myself yet). And thank you so much for such a wonderful project! Here's why I am so interested:
Even today the floppies are still being used, for example - as virtual floppies inside the coreboot open source BIOS. Just imagine: your wonderful floppy could be a part of someone's BIOS build! (for a coreboot supported motherboard, maybe you have or could get one - see https://www.coreboot.org/Supported_Motherboards )
If you already have a coreboot-supported motherboard, or a real chance to get one, - wouldn't it be cool to be able to launch your own OS straight from the BIOS chip? ;) With one simple command its possible to add any floppy to coreboot BIOS build - and then you see it as a permanent boot entry at your BIOS menu! Multiple floppies could be added this way (as long as you have enough space left inside the BIOS flash chip, luckily LZMA compression could be used for the stored floppies to reduce their occupied size)

@informer2016 this is awesome! I did not know that coreboot has such functionality. Thanks a lot for the tip now I'm way more curious about this BIOS replacement :)


Server pluggable methods (meteor methods equivalent)

Security with client side updates can get incredibly complicated when allowing client side queries.  See the difficulty Meteor has gone through here :
https://www.discovermeteor.com/blog/allow-deny-challenge-results/
The recommended way to handle production security is to use Meteor methods.
I believe this would solve a multiple issues.  Considering there is no schema support, it would be welcomed to use thinky + horizon methods for update/create/delete security while using the declarative method for read security.
Note : this would miss out on optimistic ui unless a great deal of other work/changes were done

We've gone a slightly different route in Horizon, where direct queries are allowed only where they're explicitly turned on by the permissions system (see http://horizon.io/docs/permissions/), rather than making you throw out the convenient query system once you're ready to go to production.
That said, custom endpoint are something we want to do: #337
Do you think there is an aspect of this that's not covered by another issue at the moment?

I still think people will be asking for  custom methods shortly
An example from that page
[groups.authenticated.rules.store_message]
template = "collection('messages').replace({id: any(), counter: any()})"
# The counter can only be incremented by one step at a time
validator = """
  (context, oldValue, newValue) => {
    return newValue.counter == oldValue.counter + 1;
  }
"""

Now imagine you want to be able to update other fields on that document but not increment the counter, the logic becomes
[groups.authenticated.rules.store_message]
template = "collection('messages').replace({id: any(), counter: any()})"
# The counter can only be incremented by one step at a time
validator = """
  (context, oldValue, newValue) => {
    return (newValue.counter == oldValue.counter + 1 || newValue.counter == oldValue.counter) && typeof newValue.message === 'string';
  }
"""

Once you begin having to validate multiple fields for separate pieces of logic, this kind of validation becomes clunky.  Having a separate method for increment the counter and changing the message seems like a logical way to break the problem into pieces.
#337 is still incompatible with other libraries server-side, which I think is an attractive idea.  The lack of external i/o in validators would prohibit things like logging.
I'm not saying this needs to be super high priority, I just think it would satisfy a great deal of other use cases and allow people to choose a simpler project structure :+1: .

Ok, I'll leave this open to explore the idea. I think we may end up solving some of these problems using #138 but it's not clear all use cases will be handled by the other mechanisms

I think most everything here will be covered by the plugins functionality (#373) see the RFC in #588


Add Support for Embedding Tasks

Description
This PR will add support in the client library for the embedding tasks in caikit.
How Has This Been Tested?
For now, this has been tested locally using some examples I have, and an embedding model I have deployed via RHOAI. The formal testing will have to be updated to support these new endpoints as well.
Merge criteria:

[ ] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

Note
I needed to be able to query the embeddings endpoints via Python anyway, so I figured I'd add them here.  The exact signatures I added might not be what is desired in the final client library but for my purposes it is more helpful to expose all the details of the responses, including the number of tokens that were provided as input. I need that metric for my testing.
This is also only the HTTP client for now. I will try to add that if I have time later, or it sounds like @dtrifiro might already have code for this

I'm not sure if it is intentional, but i haven't found any docs about this so I opened an issue about the details / detail issue here

I took the liberty of rebasing and doing a few changes @drewrip. Are you able to add a few tests for these?

@drewrip Looks good. I can probably add some tests and document the new functions next week. I'm currently using this branch for some downstream testing of these endpoints. Any chance someone on the team has worked on the gRPC endpoints? I'm not sure if I'll have time to tackle those for a bit.

@drewrip yeah, I have a rough draft sketched out. I can push the wip commits to this branch (or make another one based on this). Let me know what you prefer

@dtrifiro Yeah doing that in another PR is probably a better idea. Let me add the documentation and tests, then I think this will be good from my side :)

@dtrifiro I added some basic tests with 80f1be5, however none of them are passing. I don't really understand the testing framework so I'm not sure how to fix this, but the model that is being used in the tests is setup for text generation. So the result of the embedding tests is either errors or gibberish

Thanks @drewrip, in order to test those endpoints, we need to add an embedding model to the models in tests/tiny_models. There's a quick guide here: https://github.com/opendatahub-io/caikit-nlp-client/blob/main/tests/tiny_models/README.md
I'll shortly push an example for the docker tests

@drewrip I updated and added an embedding_model_name fixture that can be used to use an embedding model.
I also removed the grpc client commits, opting to move them to #140  instead, as that involves a larger refactor. You can check out that PR out. It also has working embedding tests for the grpc client

@dtrifiro Gotcha, thanks for making those changes for me! Everything seems to look good from my end then. Let me know if there is anything else needed for this PR that I can contribute at this point

That's all good, I'll merge this and then #140 and then we can take care of leftovers. I'll release a new version once we're satisfied with all the changes


Unit Test for Merra2 Service

https://github.com/airavata-courses/CloudElves/blob/HW3/ingestor-mera/test_merra_service.py


Legendary Actions not registering to be selected on the drop down

I very well might not be using the tools right, but I have made several legendary actions for a creature but nothing is appearing in the drop-down box. It is grayed out saying "NO ATTACKS OR ACTIONS AVAILABLE" despite having multiple actions selected as "LEGENDARY ONLY."

huh yeah something broke in there when adding new actions. Currently you can work around this particular issue by refreshing the page, and then the dropdown will populate. If you then add a new action, the dropdown will not have the updated attack or action. Will take a look at a fix

Alright, well thank you very much for making this tool and fixing the issue so quickly


(maint) add/update 3rd party licenses information

Description Of Changes

Updated CREDITS.md to include licensing information for our runtime dependencies.
Updated nuspec to pull in CREDITS.md to a \legal\ folder.
Moved LICENSE.txt to said \legal\ folder in the nupkg as it seemed appropriate

Motivation and Context
Moving this portion of the licensing doc we put together into this repo so that it can be kept up to date if/when dependencies change more easily.
Testing

Run the Cake build and ensure that the generated package has a legal folder with the LICENSE.txt and CREDITS.md inside.

Change Types Made

[x] Doc updates
[ ] Bug fix (non-breaking change)
[ ] Feature / Enhancement (non-breaking change)
[ ] Breaking change (fix or feature that could cause existing functionality to change)
[ ] PowerShell code changes.

Related Issue
N/A
Change Checklist

[x] Requires a change to the documentation
[x] Documentation has been updated
[ ] Tests to cover my changes, have been added
[ ] All new and existing tests passed.
[ ] PowerShell v2 compatibility checked.

@vexx32 thanks for getting this updated!


[ITSM] support 'show open tickets'

User Story
As ...
I want ...
so that ...
Acceptance Criteria
List your requirements.

[ ] ... although open is not a state for tickets, we could treat it as not closed
[ ] ...
[ ] ...

Resources
Provide any screenshots or conversation mockups to support your request.
Learn how to mock up bot conversations with .chat files.
Notes
Provide any additional information.

Solved in https://github.com/microsoft/botframework-skills/pull/179


Error when cross compiling: 'sys/time.h' file not found

When cross compiling my project to armv7-unknown-linux-gnueabihf the v4l2-sys-mit crate throws an error:
   Compiling bindgen v0.65.1
   Compiling v4l2-sys-mit v0.3.0
error: failed to run custom build command for `v4l2-sys-mit v0.3.0`

Caused by:
  process didn't exit successfully: `/workspace/target/debug/build/v4l2-sys-mit-e44acd57c82a0379/build-script-build` (exit status: 101)
  --- stderr
  /usr/include/linux/videodev2.h:60:10: fatal error: 'sys/time.h' file not found
  thread 'main' panicked at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/v4l2-sys-mit-0.3.0/build.rs:10:10:
  Failed to generate bindings: ClangDiagnostic("/usr/include/linux/videodev2.h:60:10: fatal error: 'sys/time.h' file not found\n")
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The sys/time.h file exists:

/usr/include/x86_64-linux-gnu/sys/time.h
/usr/arm-linux-gnueabihf/include/sys/time.h

Compiling the project directly on the target works. Any idea what could be wrong or missing?

If anything it looks like bindgen isn't picking the right header here.   /usr/include/linux/videodev2.h:60:10: fatal error: 'sys/time.h' file not found should probably be taking the videodev2.h file from the sysroot at /usr/arm-linux-gnueabihf/include/linux/videodev2.h instead. Perhaps your cross-compliation CFLAGS_armv7-unknown-linux-gnueabihf (and/or BINDGEN_EXTRA_CLANG_ARGS_armv7-unknown-linux-gnueabihf aren't set up correctly to use the right sysroot?

This target builds successfully for me, even without this header.
Are you perhaps building this on FreeBSD? We introduced a broken hack in #106 (and I approved it :see_no_evil:) that should have used environment variables to detect the target for cross-compilation instead of the target that the build script is compiled for.

I'm building in a debian based vscode devcontainer (mcr.microsoft.com/devcontainers/rust:1-1-bullseye) under docker with windows as host system. Target is a raspberry pi.

Building it on a native debian machine works without errors.. hmm...

Updating the devcontainer to the latest version (with clang 14) solved the issue for me:
- "image": "mcr.microsoft.com/devcontainers/rust:1-1-bullseye",
+ "image": "mcr.microsoft.com/devcontainers/rust:latest",

I just had the same issue when building v4l2-sys-mit under Yocto with the meta-rust meta-layer. The problem is that bindgen/clang for the v4l2-sys-mit crate is missing the include path for the recipes sysroot. It then uses the hosts include path, which is wrong in the case of yocto, as yocto prepares a sysroot for the recipe with all dependencies. The path looks like this: /build/tmp/work/cortexa7t2hf-neon-vfpv4-demo-linux-gnueabi/demo-app/1.0+git/recipe-sysroot-native/usr/include/.
The solution (for everyone having the same issue) is setting the CPATH variable for clang in the recipe:
export CPATH = "${STAGING_DIR_TARGET}/usr/include"

If libclang can't be found, also set LIBCLANG_PATH:
export LIBCLANG_PATH = "${STAGING_DIR_NATIVE}${libdir}"

I've found this snippet to help a lot getting crates that use bindgen to compile correctly under bitbake/yocto.
BINDGEN_EXTRA_CLANG_ARGS = "--sysroot=${STAGING_DIR_TARGET}"
export BINDGEN_EXTRA_CLANG_ARGS

I've found this snippet to help a lot getting crates that use bindgen to compile correctly under bitbake/yocto.
BINDGEN_EXTRA_CLANG_ARGS = "--sysroot=${STAGING_DIR_TARGET}"
export BINDGEN_EXTRA_CLANG_ARGS

Great, this works perfectly. Thank you