Support nested model

depends on ignitionrobotics/ign-physics#86 and osrf/sdformat#316
This PR updates the physics system to support parsing and constructing nested models from Model SDF DOM (see osrf/sdformat#316).
Since the physics system relies heavily on canonical links for setting and also getting pose information of models in the physics engine, some changes were made to support the case where the canonical link is inside a nested model, e.g.:
<model name="top_level_model">
  <model name="nested_model">
      <link name="nested_link"> ... </link>
      ...
  </model>
</model>

In the example above, the top level model has one nested model and no child links. In this case, the canonical link would be set to the link inside the nested model.  A couple of helper functions (TopLevelModel and RelativePose) were added to help compute the transform from the top level model to the nested link in order to correctly set and get model poses.
Note that I considered using ign-physics's ModelFrameSemantics feature to compute this transform data but the feature is currently not part of the minimum feature list, so it's probably not a good idea to depend on an optional physics feature when computing pose updates for a core part of the physics system.
Here's an example nested model world:
ign gazebo -v 4 --physics-engine ignition-physics-tpe-plugin nested_model.sdf

CC @Kevinskwk to test with our nested model simulation environment.

I don't know if this is slightly outside the scope. From what I understand the support was only introduced for TPE (which is OK), however when running a world with nested models with DART the behavior changed from printing an error about nested models not being supported (before the PR), to a segmentation fault with the attached backtrace.
Is this intended? Should there be a feature in the physics engine to tell whether nested models are supported or not and avoid trying to spawn them if it is not supported?
Thread 1 "ruby" received signal SIGSEGV, Segmentation fault.
0x00007fffbd095530 in dart::simulation::World::getNumSkeletons() const () from /usr/lib/x86_64-linux-gnu/libdart.so.6.10
(gdb) bt
#0  0x00007fffbd095530 in dart::simulation::World::getNumSkeletons() const () from /usr/lib/x86_64-linux-gnu/libdart.so.6.10
#1  0x00007fffbd6d5c46 in ignition::physics::dartsim::Base::AddModel (_worldID=26, _info=..., this=0x55555e7ec908)
    at /usr/include/c++/8/bits/shared_ptr_base.h:1018
#2  ignition::physics::dartsim::SDFFeatures::ConstructSdfModel(ignition::physics::Identity const&, sdf::v9::Model const&) ()
    at /home/luca/ws_citadel/src/ign-physics/dartsim/src/SDFFeatures.cc:359
#3  0x00007fffd8410a5c in ignition::physics::sdf::ConstructSdfModel::Model<ignition::physics::FeaturePolicy<double, 3ul>, ignition::gazebo::v4::systems::PhysicsPrivate::MinimumFeatureList>::ConstructModel (_model=..., this=0x7fffffffb208)
    at /home/luca/ws_citadel/install/include/ignition/plugin1/ignition/plugin/detail/SpecializedPlugin.hh:236
#4  ignition::gazebo::v4::systems::PhysicsPrivate::CreatePhysicsEntities(ignition::gazebo::v4::EntityComponentManager const&)::{lambda(unsigned long const&, ignition::gazebo::v4::components::Component<std::add_lvalue_reference<void>, ignition::gazebo::v4::components::ModelTag, ignition::gazebo::v4::serializers::DefaultSerializer<std::add_lvalue_reference<void> > > const*, ignition::gazebo::v4::components::Component<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ignition::gazebo::v4::components::NameTag, ignition::gazebo::v4::serializers::StringSerializer> const*, ignition::gazebo::v4::components::Component<ignition::math::v6::Pose3<double>, ignition::gazebo::v4::components::PoseTag, ignition::gazebo::v4::serializers::DefaultSerializer<ignition::math::v6::Pose3<double> > > const*, ignition::gazebo::v4::components::Component<unsigned long, ignition::gazebo::v4::components::ParentEntityTag, ignition::gazebo::v4::serializers::DefaultSerializer<unsigned long> > const*)#2}::operator()(unsigned long const&, ignition::gazebo::v4::components::Component<std::add_lvalue_reference<void>, ignition::gazebo::v4::components::ModelTag, ignition::gazebo::v4::serializers::DefaultSerializer<std::add_lvalue_reference<void> > > const*, ignition::gazebo::v4::components::Component<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ignition::gazebo::v4::components::NameTag, ignition::gazebo::v4::serializers::StringSerializer> const*, ignition::gazebo::v4::components::Component<ignition::math::v6::Pose3<double>, ignition::gazebo::v4::components::PoseTag, ignition::gazebo::v4::serializers::DefaultSerializer<ignition::math::v6::Pose3<double> > > const*, ignition::gazebo::v4::components::Component<unsigned long, ignition::gazebo::v4::components::ParentEntityTag, ignition::gazebo::v4::serializers::DefaultSerializer<unsigned long> > const*) const [clone .isra.2050] () at /home/luca/ws_citadel/src/ign-gazebo/src/systems/physics/Physics.cc:712
#5  0x00007fffd84594cd in std::function<bool (unsigned long const&, ignition::gazebo::v4::components::Component<std::add_lvalue_reference<void>, ignition::gazebo::v4::components::ModelTag, ignition::gazebo::v4::serializers::DefaultSerializer<std::add_lvalue_reference<void> > > const*, ignition::gazebo::v4::components::Component<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ignition::gazebo::v4::components::NameTag, ignition::gazebo::v4::serializers::StringSerializer> const*, ignition::gazebo::v4::components::Component<ignition::math::v6::Pose3<double>, ignition::gazebo::v4::components::PoseTag, ignition::gazebo::v4::serializers::DefaultSerializer<ignition::math::v6::Pose3<double> > > const*, ignition::gazebo::v4::components::Component<unsigned long, ignition::gazebo::v4::components::ParentEntityTag, ignition::gazebo::v4::serializers::DefaultSerializer<unsigned long> > const*)>::operator()(unsigned long const&, ignition::gazebo::v4::components::Component<std::add_lvalue_reference<void>, ignition::gazebo::v4::components::ModelTag, ignition::gazebo::v4::serializers::DefaultSerializer<std::add_lvalue_reference<void> > > const*, ignition::gazebo::v4::components::Component<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ignition::gazebo::v4::components::NameTag, ignition::gazebo::v4::serializers::StringSerializer> const*, ignition::gazebo::v4::components::Component<ignition::math::v6::Pose3<double>, ignition::gazebo::v4::components::PoseTag, ignition::gazebo::v4::serializers::DefaultSerializer<ignition::math::v6::Pose3<double> > > const*, ignition::gazebo::v4::components::Component<unsigned long, ignition::gazebo::v4::components::ParentEntityTag, ignition::gazebo::v4::serializers::DefaultSerializer<unsigned long> > const*) const (__args#4=<optimized out>, __args#3=<optimized out>,
    __args#2=<optimized out>, __args#1=<optimized out>, __args#0=@0x7fffffffb380: 220, this=0x7fffffffb410)
    at /usr/include/c++/8/bits/std_function.h:682
#6  ignition::gazebo::v4::EntityComponentManager::EachNew<ignition::gazebo::v4::components::Component<std::add_lvalue_reference<void>, ignition::gazebo::v4::components::ModelTag, ignition::gazebo::v4::serializers::DefaultSerializer<std::add_lvalue_reference<void> > >, ignition::gazebo::v4::components::Component<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ignition::gazebo::v4::components::NameTag, ignition::gazebo::v4::serializers::StringSerializer>, ignition::gazebo::v4::components::Component<ignition::math::v6::Pose3<double>, ignition::gazebo::v4::components::PoseTag, ignition::gazebo::v4::serializers::DefaultSerializer<ignition::math::v6::Pose3<double> > >, ignition::gazebo::v4::components::Component<unsigned long, ignition::gazebo::v4::components::ParentEntityTag, ignition::gazebo::v4::serializers::DefaultSerializer<unsigned long> > >(ignition::gazebo::v4::EntityComponentManager::identity<std::function<bool (unsigned long const&, ignition::gazebo::v4::components::Component<std::add_lvalue_reference<void>, ignition::gazebo::v4::components::ModelTag, ignition::gazebo::v4::serializers::DefaultSerializer<std::add_lvalue_reference<void> > > const*, ignition::gazebo::v4::components::Component<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ignition::gazebo::v4::components::NameTag, ignition::gazebo::v4::serializers::StringSerializer> const*, ignition::gazebo::v4::components::Component<ignition::math::v6::Pose3<double>, ignition::gazebo::v4::components::PoseTag, ignition::gazebo::v4::serializers::DefaultSerializer<ignition::math::v6::Pose3<double> > > const*, ignition::gazebo::v4::components::Component<unsigned long, ignition::gazebo::v4::components::ParentEntityTag, ignition::gazebo::v4::serializers::DefaultSerializer<unsigned long> > const*)> >::type) const (this=this@entry=0x555555c2c620, _f=...)
    at /home/luca/ws_citadel/src/ign-gazebo/include/ignition/gazebo/detail/EntityComponentManager.hh:348
#7  0x00007fffd8414f75 in ignition::gazebo::v4::systems::PhysicsPrivate::CreatePhysicsEntities(ignition::gazebo::v4::EntityComponentManager const&) () at /usr/include/c++/8/new:169
#8  0x00007fffd8415f38 in ignition::gazebo::v4::systems::Physics::Update(ignition::gazebo::v4::UpdateInfo const&, ignition::gazebo::v4::EntityComponentManager&) () at /home/luca/ws_citadel/src/ign-gazebo/src/systems/physics/Physics.cc:619
#9  0x00007ffff4a682d2 in ignition::gazebo::v4::SimulationRunner::UpdateSystems (this=this@entry=0x555555c2c520)
    at /home/luca/ws_citadel/src/ign-gazebo/src/SimulationRunner.cc:459
#10 0x00007ffff4a6dbd7 in ignition::gazebo::v4::SimulationRunner::Step (this=this@entry=0x555555c2c520, _info=...)
    at /home/luca/ws_citadel/src/ign-gazebo/src/SimulationRunner.cc:696
#11 0x00007ffff4a6e29b in ignition::gazebo::v4::SimulationRunner::Run(unsigned long) ()
    at /home/luca/ws_citadel/src/ign-gazebo/src/SimulationRunner.cc:669
#12 0x00007ffff4a62915 in ignition::gazebo::v4::ServerPrivate::Run(unsigned long, std::optional<std::condition_variable*>) ()
    at /usr/include/c++/8/bits/unique_ptr.h:345
#13 0x00007ffff4a5db11 in ignition::gazebo::v4::Server::Run(bool, unsigned long, bool) () at /usr/include/c++/8/optional:969
#14 0x00007ffff5184918 in runServer () at /home/luca/ws_citadel/src/ign-gazebo/src/ign.cc:267
#15 0x00007ffff5592dae in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#16 0x00007ffff559271f in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#17 0x00007ffff57998f8 in ?? () from /usr/lib/x86_64-linux-gnu/ruby/2.5.0/fiddle.so
#18 0x00007ffff7aa3cab in ?? () from /usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5
#19 0x00007ffff579968d in ?? () from /usr/lib/x86_64-linux-gnu/ruby/2.5.0/fiddle.so
#20 0x00007ffff7aca3c9 in ?? () from /usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5
#21 0x00007ffff7ad88f3 in ?? () from /usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5
#22 0x00007ffff7aced85 in ?? () from /usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5
#23 0x00007ffff7ad4b64 in ?? () from /usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5
#24 0x00007ffff79af0c4 in ?? () from /usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5
#25 0x00007ffff79b0f4d in ruby_exec_node () from /usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5
#26 0x00007ffff79b342e in ruby_run_node () from /usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5
#27 0x00005555555548cb in ?? ()
#28 0x00007ffff7554b97 in __libc_start_main (main=0x555555554880, argc=5, argv=0x7fffffffc7a8, init=<optimized out>, fini=<optimized out>,
    rtld_fini=<optimized out>, stack_end=0x7fffffffc798) at ../csu/libc-start.c:310
#29 0x00005555555548fa in _start ()

I added a check in 7740d5cc86ab37ed863e13e377bb551367c2367b that to make sure the constructed model is not null and warned the user if it is. Note you'll also need to update the tpe_nested_model branch in ign-physics. This may be sufficient for now to tell whether or not the physics engine supports nested model. I think there are also plans to add nested model support to dartsim plugin in ign-physics and we could consider adding a nested model feature.

I added a check in 7740d5c that to make sure the constructed model is not null and warned the user if it is. Note you'll also need to update the tpe_nested_model branch in ign-physics. This may be sufficient for now to tell whether or not the physics engine supports nested model. I think there are also plans to add nested model support to dartsim plugin in ign-physics and we could consider adding a nested model feature.

Tried it out and indeed the crash is fixed, thanks! I'll try to get a full tpe sim up and running but that is quite a daunting task so don't keep it as a blocker to get this merged :sweat_smile:

Nevertheless, my preference would be to create the new feature and document that it is not complete.

ok I added ConstructSdfNestedModel feature in ignitionrobotics/ign-physics#86 and updated the physics system to use this optional feature in 57c2d1d7c24eded658d234ebb31ed7136ec9138e

If we create the new feature, we can formally limit the ConstructSdfModel feature to work with non-nested models.

I have not added this limitation yet. To confirm, this means we need to add ConstructSdfNestedModel feature to both WorldPtrType and ModelPtrType? Currently I use world->ConstructModel and model->ConstructNestedModel, both of them can consume an sdf::Model object with nested models. If we limit ConstructSdfModel feature to non-nested models, we would need to do an additional check on the input sdf::Model to see if it has child models before determining which Construct feature to use, correct?

To confirm, this means we need to add ConstructSdfNestedModel feature to both WorldPtrType and ModelPtrType? Currently I use world->ConstructModel and model->ConstructNestedModel, both of them can consume an sdf::Model object with nested models. If we limit ConstructSdfModel feature to non-nested models, we would need to do an additional check on the input sdf::Model to see if it has child models before determining which Construct feature to use, correct?

Yes, this is what I was thinking. @scpeters, does this sound reasonable?

Yes, this is what I was thinking. @scpeters, does this sound reasonable?

I added a new ContructedSdfNestedModel to WorldPtrType in  ignitionrobotics/ign-physics#86 and updated the physics system to make use of this new optional feature. c070152

To confirm, this means we need to add ConstructSdfNestedModel feature to both WorldPtrType and ModelPtrType? Currently I use world->ConstructModel and model->ConstructNestedModel, both of them can consume an sdf::Model object with nested models. If we limit ConstructSdfModel feature to non-nested models, we would need to do an additional check on the input sdf::Model to see if it has child models before determining which Construct feature to use, correct?

Yes, this is what I was thinking. @scpeters, does this sound reasonable?

yes, sounds reasonable to me too

ok I think I addressed all comments and ticketed issue #392 about the nested model pose issue.

@osrf-jenkins run tests please

when finding the sdformat9 version in cmake, I think we should require version 9.3.0

bumped sdformat version requirment to 9.3.0 in 44cd092

Ouch, this should have been squash-merged. Now all of this PR's commits are scattered around the ign-gazebo3 branch, which makes it hard to identify what changes came from each PR:
https://github.com/ignitionrobotics/ign-gazebo/compare/ignition-gazebo3_3.3.0...ign-gazebo3

ohh oops, sorry. I thought it defaulted to squash and merge. I'll make sure to double check next time.

I thought it defaulted to squash and merge.

Yeah it annoyingly defaults to the last used, which may be "merge commit" or "rebase and merge" in case of ports across branches :confused:


Update daemon.sh

Change behavior of HALT_Pin to investigate GPIO-4 pull down behavior (do not shutdown on button press or GPIO-4 pull down)

Outdated PR.


A way to set FAB, to scroll it up/down as Snackbar is shown?

As in Google apps

I think this has nothing to do with the Snackbar, but with the use of CoordinatorLayout and android.support.design.widget.FloatingActionButton. Then use the Coordinatorlayout as view in .setView() .
But I will investigate this... and see if this is a usecase for Snacky. Does not feel like it is...

In the new version of this library you find the example on how to use a SnackBar with FAB and Coordinatorlayout. Have fun


Refactor codebase to async/await - m365 pp solution until m365 pp tenant, Closes #4994

Refactoring of the commands from m365 pp dataverse until m365 pp managementapp

m365 pp solution get
m365 pp solution list
m365 pp solution publish
m365 pp solution publisher add
m365 pp solution publisher get
m365 pp solution publisher list
m365 pp solution publisher remove
m365 pp solution remove
m365 pp tenant settings list
m365 pp tenant settings set

Closes #4994

Thank you for this enhancement! We'll try to review it ASAP!

ready to merge 🚀

merged manually. Thank you 👏


⚠ Samsung has degraded performance

In fc0790c, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3607 ms

Resolved: Samsung performance has improved in 3d9aeee.


Not able to build ThaliTestApp for iOS

With the latest iOS branch of Thali_CordovaPlugin I am not able to build iOS app. I am trying to build ThaliTestApp. Executing command cordova build ios --device results in following error:
/Users/mczyz/thali/test/dummy/ThaliTestApp/platforms/ios/ThaliTestApp/Plugins/org.thaliproject.p2p/AppContextTests.swift:11:8: error: cannot load underlying module for 'XCTest'
import XCTest
       ^

** ARCHIVE FAILED **

The following build commands failed:
        CompileSwift normal arm64 /Users/mczyz/thali/test/dummy/ThaliTestApp/platforms/ios/ThaliTestApp/Plugins/org.thaliproject.p2p/AppContext.swift
        CompileSwift normal arm64 /Users/mczyz/thali/test/dummy/ThaliTestApp/platforms/ios/ThaliTestApp/Plugins/org.thaliproject.p2p/AppContextTests.swift
        CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
(3 failures)
Error: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/mczyz/thali/test/dummy/ThaliTestApp/platforms/ios/cordova/build-debug.xcconfig,-workspace,ThaliTestApp.xcworkspace,-scheme,ThaliTestApp,-configuration,Debug,-destination,generic/platform=iOS,-archivePath,ThaliTestApp.xcarchive,archive,CONFIGURATION_BUILD_DIR=/Users/mczyz/thali/test/dummy/ThaliTestApp/platforms/ios/build/device,SHARED_PRECOMPS_DIR=/Users/mczyz/thali/test/dummy/ThaliTestApp/platforms/ios/build/sharedpch

Link PR thaliproject/Thali_CordovaPlugin#1711

@czyzm please print output of the following commands:

xcodebuild -version
swift -version

Please also check that you have Xcode command line tools installed by executing command xcode-select --install.

@czyzm what https://github.com/thaliproject/ThaliTestApp/ branch are you trying? master doesn't have iOS.

The reason of build failure is that we didn't test properly release build, we worked with testing builds.

PR thaliproject/Thali_CordovaPlugin#1722 should fix the real issues that we have. But I'm not sure that it will fix the issue completely.
I've already seen an issue with cordova build ios --device when the command just hang and then reported error, but nothing wrong in our code or setup. So I had to do build directly via xcodebuild and not via cordova build.
See the xcodebuild command https://github.com/thaliproject/Thali_CordovaPlugin/blob/iOS_swift3_migration/thali/install/setUpTests.sh#L191.


Add context menu for notes

On click to a note show context menu with:

All Information about the note
Button Update, which will redirect to the page with form filled by the note data.
Button Add card, which will redirect to the Add card page.
Button Delete

Cards temporary (?) frozen
Deleting cards is exceedingly undesirable
Updating notes already implemented

So, the task should be closed.


Configuration class builder should be standardized

Configuration classes should be built using builder pattern
The constructor of opengemini client should be privatized and use factory mode to build the instance

please assign this issue to me

closed by completed


swift 4 Compiler Error

Expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions

plus some more warnings in swift 4:
YawRotationEffect line 16
Redundant conformance constraint 'Self': 'EasingAnimatable'

I fixed this warning.
Delete redudant protocol

what about the expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions. (check the 1st comment with screenshot)

i see you have fixed the issues in the master repo. but you have not made any new release for the latest changes that fixes those issues.

@shoheiyokoyama
could you make the latest commit which fixes those issues in a release?

@Alexookah
I just released version 1.2.0
Please install the latest version 👍

@shoheiyokoyama  thanks will check it out! :)

yeap no need to get updates with branch. thanks for releasing latest swift 4 fixes in the latest release. 1.2.0


bug: fix inconsistent dropdown main nav functionality

Bug Report
Describe the bug
Ux-wise, it’s confusing that some main dropdown links are clickable (Mentorship and About Us) and others aren’t (Programmes).

Proposed Solution
To follow more common navigation patterns UX-wise, I suggest adding ‘Overview’ page link in main menu dropdowns.
I.e.:

Create ‘Overview’ pages and use those as the landing pages for parent links with dropdown.
If a user clicks on the main link (e.g. About Us), instead of ‘Overview’, the behaviour should be that the dropdown simply opens upon the click.

Nielsen Norman Group’s dropdown nav is a good reference:

@dricazenck let us know if you have other suggestions and/or if other codeowners should review this, before the task is assigned. :) Thanks

That was the previous functionality but have a look at this issue: https://github.com/WomenCodingCommunity/WomenCodingCommunity.github.io/issues/69
The menu functionality was changed to the current version to avoid the "duplication".  @lilyndk

Also, if consistency is the main concern, we could create a similar landing page for when "Programmes" is clicked, we'd just need to figure out the content that goes on it.

Ah thanks for the info @khairahscorner
My main concern is the UX, i.e. that it's more common to have the dropdown simply open upon the click of the main nav link. So users might think that the 'overview' pages don't exist if they just hover over the menu.

But if you know some good sites using the same nav pattern as we have implemented, please share. :)

istency is the main concern, we could create a similar landing p

I think that is a good idea, we can create programm landing page and should be fine.

Great.
Yeah I was also just looking at Google's material design guide, which is the design system we use. They use the proposed behaviour and it seems like this is also better accessibility-wise: https://m3.material.io/components/menus/accessibility. But I'm not an accessibility specialist so I also just asked Cathy to weigh in if she has input :)

Let's close this issue and it will be solved as part of #123

@dricazenck I'm re-opening this because several related 'nav accessibility' tickets' are being created.

Hi @sssoz, can you update the description in this issue to include the notes from the issues you reported (https://github.com/WomenCodingCommunity/WomenCodingCommunity.github.io/issues/143)? And then just close issue #143 and make a note that it's a 'duplicate' of this issue. Thanks

Hi @PaulineNemchak, can you update the description in this issue to include the notes from the issue you reported in https://github.com/WomenCodingCommunity/WomenCodingCommunity.github.io/issues/139? And then just close issue #139 and make a note that it's a 'duplicate' of this issue. Thanks

It would be good to just fix all the related accessibility navigation issues in this one PR, since we need to change the main nav to include an 'overview page' link for the main landing pages (about us, etc.)

@lilyndk I unfortunately can’t edit this issue’s description!

@sssoz ah ok, I will update the description thanks to include the bugs you and @PaulineNemchak reported. :)


Examples Folder Errors

Running the steps provided in the readme file inside the examples folder results in couple of errors.
Running on windows, yarn 1.22.4, running yarn start results in
$ react-app-rewired start
'react-app-rewired' is not recognized as an internal or external command,
operable program or batch file.

If I add it yarn add<EMAIL_ADDRESS>--dev and run yarn start again, this results in
$ react-app-rewired start
internal/modules/cjs/loader.js:969
  throw err;
  ^

Error: Cannot find module 'customize-cra'
Require stack:
- .\react-three-fiber\examples\config-overrides.js
- .\react-three-fiber\examples\node_modules\react-app-rewired\config-overrides.js
- .\react-three-fiber\examples\node_modules\react-app-rewired\scripts\start.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
    at Function.Module._load (internal/modules/cjs/loader.js:842:27)
    at Module.require (internal/modules/cjs/loader.js:1026:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (.\react-three-fiber\examples\config-overrides.js:1:78)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Module.require (internal/modules/cjs/loader.js:1026:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '.\\react-three-fiber\\examples\\config-overrides.js',
    '.\\react-three-fiber\\examples\\node_modules\\react-app-rewired\\config-overrides.js',
    '.\\react-three-fiber\\examples\\node_modules\\react-app-rewired\\scripts\\start.js'
  ]
}

Seems the problem was that from some reason NODE_ENV was set to production. If running in Powershell this can be checked using echo $env:NODE_ENV, and can be set to development by running $env:NODE_ENV = "development". Running yarn thenyarn start should resolve the problem.


use z.input<> instead of z.infer<> to infer field types

i have the following schema:
const schema = z.object({
  tags: z
    .string()
    .nullish()
    .transform((v, ctx) => {
      const commaDelimitedListRegex = /(\d+)(,\s*\d+)*/;

      if (!v) return;

      if (!commaDelimitedListRegex.test(v)) {
        ctx.addIssue({
          code: 'custom',
          message: 'Tags must be separated by comma'
        });
      }

      return v.split(',');
    }),
});

when doing
const { form } = superForm(data.form);

on the client, form.tags is inferred as string[], which is the "output", instead of string, which is the input
this is bad because when doing
<input type="text" bind:value={$form.tags} />

typescript complains that it cant bind string to string[]
a way to get this working would be to do the transformation on the post request (similar to #11).

Of course, using input and output makes perfect sense! Thank you for this, version 0.6.0 is going to be quite an improvement. :)

It's a bit more complicated than I thought. The thing is that z.output<T> is also what is sent to the client, as the form.data contains the transformed data. Which makes sense when you want to display the data, to have the correct types.
So if the input is string and output is string[] for a field in the schema, the client will receive string[] and can't really know that it's supposed to send a string back, and even if it knew, how should it be transformed? That would mean that an inverse of the (server-side) transformation function needs to be applied client-side when posting, or provide an input and output property on the validation data, but that complicates things for sure.
I cannot figure out a way that handles this and still keeps things simple. Maybe you have some ideas?
Your use case seems simple enough however to just transform the data to tags after validation, thereby avoiding changing the type of the schema. Do the same checks in transform, but return the same string. Then do something like:
const form = await superValidate(data, schema)
if (!form.valid) return fail(400, { form });

const validData = { ...form.data, tags: form.data.tags.split(',') }

But the easiest way, if you are ok with javascript being a requirement, is probably to use z.string().array() in the schema, set dataType = 'json' and leave the string transformations behind. Then you need to do nothing but this:
  <input
    name="tags"
    value={$form.tags.join(',')}
    on:input={(e) => ($form.tags = e.currentTarget.value.split(','))}
  />

It's a bit more complicated than I thought. The thing is that z.output<T> is also what is sent to the client, as the form.data contains the transformed data. Which makes sense when you want to display the data, to have the correct types.

yeah, i wasnt sure if the data that is sent to the client had shape z.output or z.input, but since it is z.output, theres not much to do
im going to end up just transforming the data after validation, and using setError if my transformation fails.
what do you think of adding a section to the readme, regarding transformed/refined/superrefined schemas?
again, thank you so much for responding very quickly, and thanks for the lib

I think it's not much more to do, since the data you get from a DB would also be in the z.output shape. I'll add a section about this for sure. Glad you like it, anyway. :)


Termux kali linux

I think you forgot to send the body of your issue report :)

Maybe check out: https://fabaff.github.io/nix-security-box/ quite some of those packages should work I think?


USB Driver for Azure Kinect Depth Camera not working

Azure Kinect DK connected via both embedded and external (Renesas) PCI-E USB 3.0 ports recognized by Windows only as Azure Kinect Microphone array.
USB Type-C - Type-A data cable is 1m length and 2.4A.
Azure Kinect is always flashing white, with AzureKinectFirmwareTool -l command is's found 1 device, but can't connect because of LIBUSB problem.
Microphone works fine.
In device manager there're no cameras.

Flashing white means the device thinks it is connected to USB2.0 host controller. Double check your cable.

Try another PC if you have one available. It will help confirm if you are having a USB port issue or a cable/device issue.
In Device Manager the Renesas host controller entry should have (Microsoft) appended to the end to indicate the Microsoft driver is loaded.

Thanks for your reply.
I've tested Azure Kinect with 3 different computers, all of them work with Kinect One, it means that USB 3.0 ports are fine.
Renesas host controller marks as Microsoft, it's ok.
I've checked two UCB Type-C - Type-A cables, it charging mobile phones.
In all of cases Azure Kinect shows flashing white indication.

I think you have a bad USB cable. If the devices connects on 3 PC's and you get the same state in Device Manager for each then the issue is not likely the host controller. Charging over the cable though is not enough to eliminate the cable of having USB3 issues.


Bump up identity dependency to version 0.5.0

Identity 0.5.0 will bring versioned identities but all previous identities won't be compatible with this sdk anymore!
Need to wait for the release of 0.5.0
Let's clarify that data on the ensuresec platform could be wiped out because the old identities and data are no more compatible.
It this is not possible, some method to manage both world (new and old identities) must be defined.
Tasks:

Upgrade identity library
Check all endpoint and methods regarding identities
Update wiki in case it applies.

moved to backlog since we need to wait for new identity release.

reduced amount since created and closed #86 to better track effort during sprint


Title: To Add Face Recognition For Attendance Management System in Machine Learning

Is your feature request related to a problem? Please describe.

Describe the solution you'd like.
I want to add Machine Learning Project - Face Recognition For Attendance Management System. please accept this issue.
because from this website user should gain more and more resources of project as possible.
Describe alternatives you've considered.
The implementation of a Facial Recognition System can aid in identifying or verifying a
person's identity from a digital image. Accurate attendance records are vital to classroom evaluation.
However, manual attendance tracking can result in errors, missed students, or duplicate entries. The
adoption of the Face Recognition-based attendance system could help eliminate these shortcomings.
Add any other context or screenshots about the feature request here.

@ShraddhaSabde Hello, I found that a similar issue was created and open new PR in  another repository that too merged already , which violates our rules. Therefore, I have marked this one as spam. You are no longer allowed to submit any PRs or issues in this repository

sorry, I was not known about the rules.


feat(onboarding): Add onboarding values to the helm chart

Adds cluster onboarding values to the agent helm chart.
Change:

Add onboarding object to the values.yaml
Add onboarding.clusterName which updates the agent configMap template
Add onboarding.clusterDescription which updates the agent configMap template
Update Autogen docs

Note: Wait until v0.1.44 agent is released before merging

@tfadeyi I had a couple of q's for context:

What is the significance of "onboarding"?
Could these keys just be under config.clusertName & config.clusterDescription?
Are the two fields clusterName & clusterDescription optional?

@hawksight All good points. Let me know if you want to understand more about the proposed change.
@tfadeyi I agree with Peter that the new options have to be under config.

@tfadeyi thanks for the explanation. What would happen if somewhere were to change the clusterName and clusterDescription fields? They would just change on the VCP?
I was thinking that if they are a "set once and never change" type field, then it makes sense to consolidate them under their own heading onboarding. But if they are just optional and can be changed on an ongoing basis, then I think it makes more sense to have them sit alongside the other configurable variables:
helm show values oci://$VENAFI_REGISTRY_PRIVATE_US/charts/venafi-kubernetes-agent | yq .

config:
  server: "https://api.venafi.cloud/"
  clientId: "XXXXXXXXXXXXXXX"
  clusterName: "black-pearl"
  clusterDescription: "The fastest cluster on the seven seas"

It also feels a little more natural and consistent with the jetstack-agent config.
Also thinking about the user install experience, it just makes the command a tiny bit shorter:
# This
helm diff upgrade --install venafi-kubernetes-agent oci://$VENAFI_REGISTRY_PRIVATE_US/charts/venafi-kubernetes-agent --namespace $VENAFI_NAMESPACE --create-namespace --set config.clientId="$VENAFI_CLIENT_ID" --set config.clusterName="abcdefg" --set config.clusterDescription="Alphabet" --version "0.1.43" --registry-config "${VENAFI_CREDS_LOCAL_PATH}/${VENAFI_CRED_NAME}/config.json"
# As opposed to this:
helm diff upgrade --install venafi-kubernetes-agent oci://$VENAFI_REGISTRY_PRIVATE_US/charts/venafi-kubernetes-agent --namespace $VENAFI_NAMESPACE --create-namespace --set config.clientId="$VENAFI_CLIENT_ID" --set config.onboarding.clusterName="abcdefg" --set config.onboarding.clusterDescription="Alphabet" --version "0.1.43" --registry-config "${VENAFI_CREDS_LOCAL_PATH}/${VENAFI_CRED_NAME}/config.json"

Other note
Perhaps we should remove the chart bump from here and here and do that explicitly as it's own commit before creating a tag / release on this repo?

@hawksight: The cluster name and description will be preserved in VCP even if the agent reports new values. This ensures consistency and avoids unintended updates.

Perhaps we should remove the chart bump from https://github.com/jetstack/jetstack-secure/pull/502 and here and do that explicitly as it's own commit before creating a tag / release on this repo?

I've already made a new release, didn't see the message in time. Looking at the other issue, I think we can come up with a more defined process for it.


Error when retrieving logs from k8s pod with >1 container

When you attempt to use kubectl logs <pod> with a pod that has >1 container, you are forced to supply a container name in addition to the pod name. This error appears in the UI:

It would be useful if we could show the interleaved logs for all containers, with individual lines prefixed by container name, rather than just requiring the selection of a particular container (although that might be useful also)

dup of #1493.

Argh, sorry, I thought this was new functionality for some reason and so didn't check for an existing bug.


Correct type signature of Changeset.cast

The implementation of Changeset.cast explicitly checks that all keys in the permitted list are atoms https://github.com/elixir-ecto/ecto/blob/fb6bae393e7522d0e0d514fc2e8b2930cccd62dd/lib/ecto/changeset.ex#L489 and raise otherwise.
Type spec allowed either atoms or strings there which is incorrect. I got confused today because it appears in the generated documentation https://hexdocs.pm/ecto/Ecto.Changeset.html#cast/4
This PR fixes the type spec.

Thank you! ❤
It seems it's a left over from a time when we did support both.


www to non www traefik not working or bug & http to https

Do you want to request a feature or report a bug?
Bug
What did you do?
i wanted to do two things,

redirect http to https (good)
redirect all www to non www (bad)

why?
because https://www.example.com or https://www.subdomain.example.com if not redirected doest have a certificate or shouldn't have one or should redirect to its subdomain.example.com or example.com
I've checked my regex too  '^http[s]{0,1}://www\.(.*)$'

here are my two files that matters the most
services.yaml
http:
  middlewares:
    auth:
      basicAuth:
        users:
          - 'REDACTED:REDACTED'
    redirHttps:
      redirectScheme:
        scheme: https
        permanent: true
    exampleRedirWWW:
      redirectRegex:
        regex: '^http[s]{0,1}://www\.(.*)$'
        replacement: "https://${1}"
        permanent: true
  services:
    example-main:
      loadBalancer:
        servers:
          - url: http://x
    example-tenant:
      loadBalancer:
        servers:
          - url: http://x

example.com.yaml
http:
  routers:
    example.com:
      entryPoints:
        - web
      rule: 'Host(`www.example.com`, `example.com`)'
      middlewares:
        - examplecomRedirWWW
        - redirHttps
      service: example-main
    example.com-secure:
      entryPoints:
        - websecure
      rule: 'Host(`www.example.com`, `example.com`)'
      middlewares:
        - examplecomRedirWWW
      service: example-main
      tls:
        certResolver: tls
    tenant.example.com:
      entryPoints:
        - web
      rule: 'HostRegexp(`www.{subdomain:[a-z0-9]+}.example.com`, `{subdomain:[a-z0-9]+}.example.com`)'
      service: example-tenant
      middlewares:
        - exampleRedirWWW
        - redirHttps
    tenant.example.com-secure:
      entryPoints:
        - websecure
      rule: 'HostRegexp(`www.{subdomain:[a-z0-9]+}.example.com`, `{subdomain:[a-z0-9]+}.example.com`)'
      middlewares:
        - exampleRedirWWW
      service: example-tenant
      tls:
        certResolver: cf
        domains:
          - sans:
              - '*.example.com'

What did you expect to see?
www.example.com  -> example.com
example.com -> example.com
www.subdomain.example.com -> subdomain.example.com
subdomain.example.com -> subdomain.example.com
wwwsubdomain.example.com -> wwwsubdomain.example.com

What did you see instead?
www.example.com  -> example.com (good)
example.com -> example.com  (good)
www.subdomain.example.com -> www.subdomain.example.com  (bad) not redirecting to non www if open via https://, but if we open via http:// it work redirect to subdomain.example.com
subdomain.example.com -> subdomain.example.com  (good)
wwwsubdomain.example.com -> ubdomain.example.com  (bad) missing `s` maybe because of the regex

I'm guessing its a regex problem
Output of traefik version: (What version of Traefik are you using?)
 (I think it doest matter so much in this case)
global:
  checkNewVersion: true
  sendAnonymousUsage: true

entryPoints:
  web:
    address: :80
  websecure:
    address: :443

log:
  filePath: ./info.log
  level: INFO

accessLog:
  filePath: ./access.log

api:
  insecure: false
  dashboard: false

providers:
  file:
    directory: ./hosts
    watch: true

certificatesResolvers:
  tls:
    acme:
      email<EMAIL_ADDRESS>      storage: acme-tls.json
      tlschallenge: {}

  acme-dns:
    acme:
      email<EMAIL_ADDRESS>      storage: acme-dns.json
      dnsChallenge:
        provider: acme-dns
  web:
    acme:
      email<EMAIL_ADDRESS>      storage: acme-web.json
      httpChallenge:
        entryPoint: web
  cf:
    acme:
      email<EMAIL_ADDRESS>      storage: acme-cf.json
      dnsChallenge:
        provider: cloudflare

Hi @adamramadhan,
Thanks for your interest in Traefik
As stated in this part of the documentation, could you try with this specific syntax for your replacement : "https://${1}" ?

hi @rtribotte thankyou for the reply, still no luck, after inserting wwwsubdomain.example.com it became ubdomain.example.com and when typing into https://www.subdomain.example.com it doesn't do the redirect to subdomain.example.com but surprisingly if we use http instead of https it somehow works.

Hi @adamramadhan,
I not able to reproduce your issue, i tried with this test compose file:
version: '3.7'

services:
  traefik:
    image: traefik:v2.2.8
    ports:
      - '80:80'
      - '443:443'
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command:
      - --entrypoints.web.address=:80
      - --entrypoints.web.http.middlewares=test-rr@docker
      - --entrypoints.websecure.address=:443
      - --entrypoints.websecure.http.tls
      - --entrypoints.websecure.http.middlewares=test-rr@docker
      - --log.level=DEBUG
      - --api
      - --providers.docker.exposedbydefault=false
    labels:
      traefik.enable: true
      traefik.http.routers.traefik.rule: HostRegexp(`{subdomain:([a-z.]+)?}.traefik`)
      traefik.http.routers.traefik.entrypoints: web,websecure
      traefik.http.routers.traefik.service: api@internal
      traefik.http.middlewares.test-rr.redirectregex.regex: ^http[s]{0,1}://www\.(.*)$$
      traefik.http.middlewares.test-rr.redirectregex.replacement: https://$${1}
      traefik.http.middlewares.test-rr.redirectregex.permanent: true

All the following requests are working for me:
http://www.server.traefik -> https://server.traefik
https://www.server.traefik -> https://server.traefik
http://wwwserver.traefik -> http://wwwserver.traefik
https://wwwserver.traefik -> https://wwwserver.traefik

I will close this issue as i cannot reproduce it.
Thus, if you need help don't hesitate to open a thread on the community forum.


Typo

Can I request that “You’ll know your done when” be replaced with “You’ll know you’re done when”.

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

ID: 871e3ed2-4749-654b-610d-c06167103ee1
Version Independent ID: 685537c2-c689-48bb-579e-ecbc0778f7ae
Content: Modern intranet roadmap - SharePoint Online
Content Source: SharePoint/SharePointOnline/intranet-overview.md
Service: sharepoint-online
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

@benchapmanvuw Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@benchapmanvuw Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


The TCP reset issue

Need more info., see issue #1
Original reported issue by @nijave:
Traceback (most recent call last):
  File "/config/custom_components/switch/tuya.py", line 103, in update
    self._status = self._device.status()
  File "/config/deps/lib/python3.6/site-packages/pytuya/__init__.py", line 223, in status
    data = s.recv(1024)
ConnectionResetError: [Errno 104] Connection reset by peer

Under Linux Python 3
@clach04 saw:
Traceback (most recent call last):
  File "demo_status.py", line 38, in <module>
    data = d.status()
  File "C:\Users\clach04\py\python-tuya_crypt\pytuya\__init__.py", line 228, in status
    data = s.recv(1024)
socket.error: [Errno 10054] An existing connection was forcibly closed by the remote host

This is under python 2.7. Suspect this is the same thing as original report.
NOTE I've not seen this under Py3 yet on my machine but I've had long runs when this never occurs.

I believe the devices can connect to only one TCP client at a time.  I see "Connection reset by peer" after controlling the device with the Smart Life app.  A minute or two later python-tuya starts working again.

Same experience here...
But i isolated my plug in my network so that it does not talk to the chineasien servers or phones anymore
Only my router is checking for my needs and is talking to it from now on...turning it off and on when my script says so
Great enhancement to my life...thx so much

@ImNightwing reducing number of hits to device is what I ended up doing too. I also have an Amazon Echo hooked up and that talks directly to the device and even then it sometimes does not respond (and its the only thing on the network talking to it). I once had a device get lock up and I had to unplug/replug so the devices themselves whilst good are not 100%

I was having trouble with my devices resetting the connection immediately as well, but I found that (for the MS frame work) turning off data buffering had an immediate improvement in the device sending data back.  The MS option is https://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient.nodelay(v=vs.110).aspx I suspect there is an equivalent option in your frame work.  It looks like if the device does not receive data fairly quickly after a connection it resets the connection.

Thanks @BillSobel, that is odd. I've not seen that under Windows but enabling no delay as there is only one send/recieve makes this a very reasonable/easy change to make. This may help if anyone tries to run under IronPython.
Posted https://github.com/clach04/python-tuya/commit/01c123f899e0ded10554fb0a6fc5e64d20176d30
I'm not using Iron Python but I ran a quick test with IronPython 2.7.7 (<IP_ADDRESS>) on .NET 4.0.30319.42000 and it runs fine:
# Demoes everything supported so far

import json
import sys
import time

import logging
log = logging.getLogger('pytuya')

log.setLevel(level=logging.INFO)

import pytuya

f = open('device_info.json')
device_info = f.read()
device_info = json.loads(device_info)
f.close()

f = open('devices.json')
devices = f.read()
devices = json.loads(devices)
f.close()

for uuid in devices:
    device_info[uuid]['ip'] = devices[uuid]['ip']

uuid = '?????'  FIXME your id here
d = pytuya.OutletDevice(uuid, device_info[uuid]['ip'], device_info[uuid]['localKey'])

print(d)

data = d.status()
print('Dictionary %r' % data)
switch_state = data['dps']['1']

data = d.set_status(not switch_state)
if data:
    print('set_status() result %r' % data)
    print('set_status() extra %r' % data[20:-8])

data = d.status()
print('Dictionary %r' % data)
switch_state = data['dps']['1']
print('switch_state %r' % switch_state)

data = d.set_timer(3)
if data:
    print('set_status() result %r' % data)
    print('set_status() extra %r' % data[20:-8])

data = d.status()
print('Dictionary %r' % data)
switch_state = data['dps']['1']
print('switch_state %r' % switch_state)

data = d.status()
print('Dictionary %r' % data)
switch_state = data['dps']['1']
print('switch_state %r' % switch_state)

data = d.status()
print('Dictionary %r' % data)
switch_state = data['dps']['1']
print('switch_state %r' % switch_state)

data = d.status()
print('Dictionary %r' % data)
switch_state = data['dps']['1']
print('switch_state %r' % switch_state)

needs config files and device id.

@dadler - I can confirm that was my problem. While I had the app on my phone open, I couldn't make a connection with pytuya. Once I closed the app, I was able to connect again.

Hello,
I had recently bought HORSKY socket (https://www.amazon.fr/dp/B0774LKY3K/) and it works great !
However, sometimes, i have the TCP issue
I have the 7.0.3 version of the library.
  File "/home/pi/.local/lib/python2.7/site-packages/pytuya/__init__.py", line 260, in status
    data = self._send_receive(payload)
  File "/home/pi/.local/lib/python2.7/site-packages/pytuya/__init__.py", line 172, in _send_receive
    data = s.recv(1024)
socket.error: [Errno 104] Connection reset by peer

Some infos if it can help you :

In my script, i manage two socket simultaneous, but the "connection reset by peer" appear randomly on the two sockets
Sometimes, after a previous "reset by peer" error, a classic command "d.set_status(False)" cause a "off/on" request. I see my lamp switch off and switch on again in less a second.  Same issue with a "d.set_status(True)", i see my lamp switch on and switch off.

I'm a beginner in Python, but if i can help you, it's a pleasure  👍

Any update on this?


Need way to access Observation Parent

Describe the problem
Observers create GameObjects to represent their observations.  Since there can be many many observations, it's important to keep the hierarchy from getting too cluttered. To help with this, IMixedRealitySpatialAwarenessSystem provides a method called CreateSpatialAwarenessObservationParent. This method creates a container for the Observer to put all of its observations into.
The problem: There's no good way for code outside of the observer to gain access to this parent.
Why is access to the parent needed?
When running in the editor there are times that access to the parent might be needed. For example, when WindowsSceneUnderstandingObserver loads a saved room, that room is loaded in a fixed orientation. The application may which to control this orientation. For example, it may be desirable to control which room of the saved scan the application starts in.
Describe the solution you'd like
Ideally I would like to see all Observer interfaces include an ObservationParent property. This would be similar to the IMixedRealitySpatialAwarenessSystem.SpatialAwarenessObjectParent property, except it would be scoped to the individual observer.
Describe alternatives you've considered
The only method I know to find the ObservationParent is to use GameObject.Find with a specific name at runtime.  This approach is slow and it's also fragile because it requires knowing the "magic string" name each observer uses. If the observer decides to use a different name, the application will break.

After some investigation I believe you can call CoreServices.SpatialAwarenessSystem.SpatialAwarenessObjectParent to achieve the desired result. It's public so you should be able to call it from anywhere.

The suggestion from @MaxWang-MS will get you the top-most parent for ALL observers. Unfortunately, the observation parent for the individual observers is protected.
        /// <summary>
        /// The parent GameObject for all observed meshes to be placed under.
        /// </summary>
        protected virtual GameObject ObservedObjectParent => observedObjectParent != null ? observedObjectParent : (observedObjectParent = Service?.CreateSpatialAwarenessObservationParent(Name));

We should consider making this public in a future release.

Making this change would involve breaking interfaces. A workaround when talking to IMixedRealitySpatialAwarenessMeshObserver implementers would be to call
GameObject observationParent = observer.Meshes[0].GameObject.transform.parent.gameObject;
When talking to the scene understanding observer, Meshes[0] would be replaced with SceneObjects[0]

The suggestion from @MaxWang-MS will get you the top-most parent for ALL observers. Unfortunately, the observation parent for the individual observers is protected.

Correct @davidkline-ms, the suggestion by @MaxWang-MS will give the top-level container for all observers. Not the container for a specific observer.

A workaround when talking to IMixedRealitySpatialAwarenessMeshObserver implementers would be to call
GameObject observationParent = observer.Meshes[0].GameObject.transform.parent.gameObject;

This approach is fragile for a few reasons:

Using this code it would not be possible to get access to the parent during app launch. This is because no surfaces have been observed at app launch.
This code will not work during an observer refresh. For example, SceneUnderstanding supports clearing the observer as well as manual triggering of an update. If the observer is cleared or if no manual update has been triggered, there will be no surface to obtain the parent from.
It is possible that an observer could choose to nest observation objects. For example, SceneUnderstanding might choose to group Plane and Mesh objects together for a single observation. Then, doing observer.SceneObjects[0].transform.parent would give you the group object and not the observation root.

Making this change would involve breaking interfaces.

Sadly, this is true. I wonder if IMixedRealitySpatialAwarenessSystem could have a new method called GetSpatialAwarenessObservationParent where you pass in the observer. I don't know how that would work, though, since the observers don't pass in themselves when the parent is created. They pass in a "magic string" that is not known publicly.

any addition to the interface is a breaking change. we can investigate an alternative mechanism for exposing this data, however.


Increasing resources for the tests.

Motivation
The recent switch to the LTO introduced some problems with the CI.
Proposal
Following proposals:

Increasing the runtime to 60 minutes for the long_faucet. It already uses a beefy machine.
Switch to a beefier machine for the benchmark.yml.

Test Plan
The CI reliability is the issue here.
Release Plan
Not relevant to TestNet nor DevNet.
Links
None.

I think this PR is obsolete after the switch to "thin" for the LTO compilation.


Added the 'aad oauth2grant remove' command solving #165

Added the 'aad oauth2grant remove' command solving #165

Coverage remained the same at 100.0% when pulling 9de95b8ee1f153fa2ec01bd9872d53c863028c8b on waldekmastykarz:aad-oauth2grant-remove into 35058dbd552d4898c9040280bea446be02dec30c on SharePoint:dev.

Merged manually


[BUG] Flaky test in permissions_spec.js in functional-tests dashboards repo

Intermittent test failure for a test in permission_spec.js with unknown root cause.
More specifically cy.wait(@getPermissions) gets stuck on waiting for mock command to finish execution.
Failed once during 2.2.0 build and failed recently during 2.2.1 build.
How can one reproduce the bug?
It is difficult because of the flakiness but you can run this command to run the tests in the file:
yarn cypress:run-plugin-tests-with-security --spec "cypress/integration/plugins/security/permissions_spec.js"

What is the expected behavior?
Tests should not have intermittent failures.
Do you have any screenshots?
security.zip

This seems related: https://github.com/cypress-io/cypress/issues/18524


Ma/spell fix

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straighforward changes).
minor spell changes
Description
Clear and concise code change description.
Alternative(s) considered
N/A
Type
Choose one:  Documentation
Screenshots (if applicable)
Checklist

[x] I have read and acknowledge the Code of conduct
[x] I have read How to Contribute
[x] I have read the Developer's guide
[x] I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA
[x] I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project
[x] I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally
[x] I have built and run the reference app(s) to verify my change fixes the issue and/or does not break the reference app(s)

@Ana2k made the request change can you review it again?


What's the mean of dimension?

Thank you for your work.
I ran t5_encode_text like below:
a = t5_encode_text('I like your work.')
print(a.shape)
Then It was a.shape =torch.Size(17,3,768)
I think first dimension (17) is length of texts and third dimension indicates feature dimension.
What is the second dimension 3?  What does it mean?
Anyway, Thank you for your contribution, It is easy to run your code opened in github.

@seongq ohh, so the issue is that the function expects a list of strings
i just put in a fix in 0.4.1 that should handle a single string too


Consider including conda-pypi?

https://github.com/jaimergp/conda-pypi/blob/main/docs/why.md
Thoughts? Could also make sense to have this somewhere in the MNE install instructions eventually?
cc @drammock @larsoner @cbrnr @mscheltienne @agramfort

Seems like a good idea. It will cause pip install ... to fail but with an informative message that allows the user to override the protection and unsafely (as always) do pip install ... by setting an additional flag or env var

Let's keep an eye on it, but for now I think it's too early. Recommended installation method fails:
$ conda install -n base conda-pypi
Retrieving notices: ...working... done
Channels:
 - conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - conda-pypi

Current channels:

  - https://conda.anaconda.org/conda-forge

Yes it's not yet on conda-forge!


Support nbew C8 ZeebeUser Tasks

Scenario

Library version: 0.1.1
Camunda version: 8.5
Description of your use case: I want to use Zeebe User Tasks, as they are available in Camunda 8.5.

Current Behaviour

New Zeebe User Tasks are currently not delivered by SUBSCRIPTION_REFRESHING delivery strategy of C8 adapter.

Wanted Behaviour

Support Zeebe User Tasks via Zeebe API (no community clients).

Possible Workarounds

Use Community Task list client and TASKLIST delivery strategy.

Currently blocked, because user tasks query is not possible using Zeebe Client Java in 8.5.x (eventually possible with 8.6.x)


pip install django-liststyle

pip install django-liststyle or easy_install django-liststyle does not work me?
What's the package name?

This works now, but it seems to install an outdated version that's not python3 compatible.  It tries to do a relative import using old syntax.


feat(bigproto): add BatchWriteMutations implementation

This pull request adds a BatchWriteMutations to the bigproto package to match the Bigtable ApplyBulk method. It allows for more control over the written rows compared to the BatchWriteProtos function

Closed by https://github.com/alis-exchange/go-alis-build/commit/77d8dcd94b27726262278c7530877d8ee23e54a4


separate src files and postman collection in the api

[x] move codes under api/src
[x] move postman collection under api/postman
[x] scripts/service.sh
[x] update Dockerfile

Closed with PR - https://github.com/serengil/deepface/pull/999


Remove byte-order mark from Windows file

This causes compilation to fail due to a lexer bug (which will be fixed in GHC 8.0, but will still cause problems for old GHCs).

Will deploy to Hackage tomorrow. I don't have Haskell toolchains installed on this machine.


can OmniGen inference with torch.float16?

I noticed that the default precision is bfloat16, which takes 29 seconds. When I replaced it with float16, it only took 9 seconds, but the generated image was completely black.

bfloat16 covers the numeric range of float32 with half the memory requirements (by reducing precision, which is not that important for generation tasks like this), while float16 has a much smaller numeric range. Directly using float16 inference on a float32-native model may cause overflow, since the model was trained to output numbers out of the range of what float16 can hold.
To address the blank output issue (which is caused by output overflow), the easiest way will be to simply clamp the value the model output to what float16 can hold, at the potential cost of performance degradation. To retain the performance, quantization might need to be performed. Thus for now it would be best just keep bf16 inference.
BTW, there is an active fork of this repo that implements quantization with proper libraries. If that is what you are looking for, check it out here https://github.com/Rypo/OmniGen/tree/bnb_quantization. I am not able to test whether this version has a better performance due to my lack of supporting hardware to run the unquantized version, but perhaps you can test it yourself and see which fits you best.

Thanks for your kindly reply!


Fixed broken links 01.2022

How to categorize this PR?

/area documentation
/kind enhancement
What this PR does / why we need it:
This PR fixes broken links in the Gardener website.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Release note:

NONE

Changing this doesn't improve it since the CloudBotanist interface is gone from this file. It's probably better to refer to a commit in which this interface was still present.

The text surrounding the link explains that the interface is slated for removal. If that has already happened, wouldn't it be better to remove that part of the file along with the link?

The document is an enhancement proposal from some years back. I think it's valueable to keep them and also the initial proposal details.

/milestone v1.39


BUG: Conda installation not working

Describe your issue.
While following the development quickstart for installing scipy, I always encounter the following message error while importing scipy :
$ python -c "import scipy"

Traceback (most recent call last):
  File "/home/avolant/workspace/scipy/scipy/__init__.py", line 126, in <module>
    from scipy.__config__ import show as show_config
ModuleNotFoundError: No module named 'scipy.__config__'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/avolant/workspace/scipy/scipy/__init__.py", line 131, in <module>
    raise ImportError(msg) from e
ImportError: Error importing SciPy: you cannot import SciPy while
        being in scipy source directory; please exit the SciPy source
        tree first and relaunch your Python interpreter.

Reproducing Code Example
Just run the installation guide :
# Create an environment with all development dependencies
conda env create -f environment.yml  # works with `mamba` too
conda activate scipy-dev

# Initialize git submodules
git submodule update --init

# Build SciPy for development work plus run tests
python runtests.py    # Alternatively, it's fine to use `python setup.py develop`

# Install SciPy in develop mode in conda
conda develop .

and then try to import SciPy :
python -c "import scipy"

Error message
Traceback (most recent call last):
  File "/home/avolant/workspace/scipy/scipy/__init__.py", line 126, in <module>
    from scipy.__config__ import show as show_config
ModuleNotFoundError: No module named 'scipy.__config__'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/avolant/workspace/scipy/scipy/__init__.py", line 131, in <module>
    raise ImportError(msg) from e
ImportError: Error importing SciPy: you cannot import SciPy while
        being in scipy source directory; please exit the SciPy source
        tree first and relaunch your Python interpreter.

SciPy/NumPy/Python version information
python -c "import sys, numpy; print(numpy.__version__, sys.version_info)"
1.21.2 sys.version_info(major=3, minor=9, micro=7, releaselevel='final', serial=0)

Additional information
I tried to put the $PYTHONPATH variable to successively :

~/miniconda3/envs/scipy-dev/lib/python3.9
path-to/scipy

I tried some other issues on GitHub or Stackoverflow, but it doesn't appear to be correlated to this one

It works fine after doing python setup.py develop. But conda develop . doesn't look to do anything ...

I am always installing with conda and I follow the guide except that, instead of using python runtests.py, I do python setup.py build_ext --inplace. I don't get this runtests.py, too much complicated to my liking.
So I guess here it's more a doc issue than anything else.

This might be a bug in conda develop and/or the conda-forge packaging and/or scipy. If it's in the conda-packaging, I'm happy to help (trying to) fix it.

This might be a bug in conda develop and/or the conda-forge packaging and/or scipy. If it's in the conda-packaging, I'm happy to help (trying to) fix it.

Basically, condo develop .  doesn't appear to do anything for me. I need to do python setup.py develop otherwise I am not able to import scipy and I get the error described in my first post. Before condo, I was using pip install -e . and I thought conda develop . was doing the same thing

You sure about conda develop . not doing anything? It's not suppose to edit the file conda/envs/scipy/lib/pythonxx/site-packages/conda.pth

You sure about conda develop . not doing anything? It's not suppose to edit the file conda/envs/scipy/lib/pythonxx/site-packages/conda.pth

I am not sure actually. Just that python runtests.py works builds and run fine. Then conda develop . adds the path :
path exists, skipping /Users/arthurvolant/Documents/Development/python/scipy-dev/scipy
completed operation for: /Users/arthurvolant/Documents/Development/python/scipy-dev/scipy

but then, I get the ImportError and I am not able to do anything about scipy before running python setup.py develop .

This is real. Faced the exact same problem today. A lot of people will follow the docs and we should get this fixed soon. In case the fix takes too long then maybe update the docs?

Going to submit a Doc fix then


64 bit only

This is 64bit for a strange reason.  I am using the registry to find an RtL installation, and on 64bit systems running a 32bit build means that finding the 64bit section of the registry in .NET 3.5 is... arkward.
I could provide separate builds for each if needed, but i'd rather fix the problem and go back to 32bit builds.

Fixed in 0.3.1


How to highlight cirlce in Show touch coords example?

Hi, in the Show touch coords (interactive) example, how can I make the circle highlighted (i.e. selected) when there is a selection? Right now it is showing the line and co-ord but I just want the circle highlighted instead (to keep it simple).
I noticed that in Areas,line,circles example, the circle is highlighted but I didn't want to have text inside.
So I am a little unsure what classes to use to accomplish the simple scenario. Thanks a lot for your help.

I think you can adjust the circleViewGenerator to handle the touches itself. You can pass a touchHandler block to ChartPointEllipseView. In this handler you would have access to ChartPointEllipseView to change its colors. Then you also don't need the touchViewsGenerator.
I'm not sure if the tap area of ChartPointEllipseView will be sufficient, if not you could return a HandlingView in circleViewGenerator (instead of ChartPointEllipseView) with a slightly bigger area than the circles. You would add then ChartPointEllipseView as a subview of this bigger view.

Thanks, can you share the snippet of code? I tried to add circleView.touchHandler to the circleViewGenerator, but it does not get call at all. Thanks again...

Did you inspect the view hierarchy? Maybe there's something on top of the views consuming the touch. Maybe it also needs to set userInteractionEnabled. If this doesn't help please post your code to find the problem.

The userInteractionEnabled seems to solve the original problem, now the touchHandler is called. However, I am unable to change the color:
let circleViewGenerator = {(chartPointModel: ChartPointLayerModel, layer: ChartPointsLayer, chart: Chart) -> UIView? in
        let circleView = ChartPointEllipseView(center: chartPointModel.screenLoc, diameter: 24)

        circleView.touchHandler = {
            print("@@@@ **** touch circle..")
            circleView.fillColor = UIColor.redColor()
            circleView.borderColor = UIColor.greenColor()
            circleView.animDuration = 1.5

        }
        circleView.userInteractionEnabled = true
        circleView.animDuration = 1.5
        circleView.fillColor = UIColor.whiteColor()
        circleView.borderWidth = 5
        circleView.borderColor = UIColor.blueColor()

        return circleView
    }

Is this correct or am I missing something? Thanks... I also need a way to clear the previous selection and is uncertain about the approach...

Yes, it's correct, you only have to add circleView.setNeedsDisplay() after the color changes. In order to clear the selection you can use the same approach from AreasExample, just store the last selection in a variable and reset the colors when you select a new one.

Thanks, works perfectly :+1:

You're welcome!


S2u-46: Fixes

email case insensitive
refactor in synchronization process
i18n fix (english)

@frasese Did you identify issues while doing internal testing, right?

Nice


Can't import from JSON

This works
const x= {...} as const
type T =FromSchema<typeof x>

but this doesnt
import x from "./my-schema.json"
type T =FromSchema<typeof x>

is there something that can fix this? It would be much better for my usecase.
After some research, I think this would be needed to pass first: https://github.com/microsoft/TypeScript/issues/32063

Hi @CodeFromAnywhere !
As you've seen, this is an issue with TypeScript rather than json-schema-to-ts, there is a page in the FAQ about it: https://github.com/ThomasAribart/json-schema-to-ts/blob/main/documentation/FAQs/does-json-schema-to-ts-work-on-json-file-schemas.md
TL:DR: There's not much we can do for the moment, just a small workaround which is not ideal.


Add Sorting to volunteer list page

Description
Add sorting to the volunteer list component on the volunteer list page.
Sorting

[ ] Firstname
[ ] Lastname
[ ] email
[ ] status

Expected solution
Modify the list component, with filters and search by name or email

Added https://github.com/dherbst/food-pantry-app/commit/da843429578c30934f76c84c360bf8d8a5107b68 to initially sort by first name.

Does this need directional sorting?

If you mean clicking to toggle ascending and descending, yes.  Please add directional sorting.


Added a Disconnect All Gamepads button

I added a button to disconnect all the gamepads.

I completely understand you being busy, I have also been pretty busy with my classes and such.
Ooh cool! Just went ahead and joined Hacktoberfest, though FYI for pull requests to count you will need to either opt this repository into hactoberfest entirely or mark this PR as `hacktoberfest-accepted’ when you are done with it.


[Feature request] Partial dataset plotting

I'm looking for a way to add partial datasets in a graph. Such a typical dataset would be :
[{
  xAxis: new Date('1991-01-01'),
  yAxis: 9,
}, {
  xAxis: new Date('1991-01-06'),
  yAxis: 2,
}]

...while x axis would describe the full month for a period, and display 1st day of the week label.
As far as the documentation provides, it seems impossible to achieve. Would it be worth implementing ?

looks like not


What is the Occupancy sensor that I see in the HomeKit?

Looks like it can detect if a person is in the room? How so? Also, how can I select different rooms? (Roborock S50)

Hi! The occupancy sensor refers to the dock. So, when the robot is docked, it will be ON. When it leaves the dock, it's supposed to be OFF.

Thank you for clarifying.

Happy to help! I'll go ahead and close this issue. Feel free to reopen it if you need anything else.


Update kubernetes example extension

It looks like the examples/kubernetes-rotor.yaml file had a .md
extension. I just went ahead and renamed it so that it has the correct
extension.

whoops, thank you! we'll merge your change in our internal repo and push it back out.


[Image Resizer] Upgraded to .NET Core 3.1

Summary of the Pull Request
I have upgraded Image Resizer to .NET Core 3.1
PR Checklist

[x] Applies to #776
[x] CLA signed. If not, go over here and sign the CLA
[x] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #776

Info on Pull Request

Migrated project to SDK Style
Removed MvvmLight
Upgraded ImageResizerUI and ImageResizerUITest to .NET Core 3.1
Performed usage tests
Performed update and install tests

Validation Steps Performed
Check if everything is fine in Product.wxs,  ImageResizerUI.csproj, ImageResizerUITest.csproj

@bricelam this looks good, thoughts?

@davidegiacometti did you test the installer?

Yes, the installer works but please wait before merge this.
Was comparing install dir with the latest release and in the 3.1 project the localized resources are not generated durig build. Will give a check tomorrow and update this PR.

@crutkas I have analyzed the localized resources issue and the project looks fine but resources are not generated during build.
I can reproduce the same behavior in PowerLauncher that is a netcoreapp3.1 WPF.
This is a screenshot of latest stable 0.23.2 with italian language set (i usually use english): net472 ImageResizerUI is localized but netcoreapp3.1 PowerLauncher is not.

@crutkas I have analyzed the localized resources issue and the project looks fine but resources are not generated during build.
I can reproduce the same behavior in PowerLauncher that is a netcoreapp3.1 WPF.
This is a screenshot of latest stable 0.23.2 with italian language set (i usually use english): net472 ImageResizerUI is localized but netcoreapp3.1 PowerLauncher is not.

@davidegiacometti
The localisation isn't ready for PowerLauncher in version 0.23.*. This is on the way for release of 0.25.0.

The RESX are generated based on the LCL files and are done via our official build farm. I would like to get it for CI as well but we will not check in generated resx since people will want to update those vs the LCL files which are actually what is used to translate.

The RESX are generated based on the LCL files and are done via our official build farm. I would like to get it for CI as well but we will not check in generated resx since people will want to update those vs the LCL files which are actually what is used to translate.

Nice! Then the program should be correctly localized with the official build.
I think the PR can be merged since has been approved.


Glossaries API updates

We're happy to announce a significant update for Crowdin Glossaries that allows managing the terminology in a more advanced way.
There are a lot of new things and some changes in the Crowdin API.
New APIs:

List Concepts
Get Concept
Update Concept
Delete Concept

Updates:

Export Glossary - new possible values for format and exportFields
Import Glossary - new possible values for scheme

The translationOfTermId is deprecated and the conceptId added in:

List Terms (+ additional properties in the response)
Add Term (+ new request parameters like status, type, gender, note, url)
Clear Glossary

Edit Term - new path options
All of these changes should be reflected in this API Client.

@andrii-bodnar : I can pick this one as well. Will reach out if I need any inputs from your end. You can assign it to me

Also, @andrii-bodnar : Since Concepts are a part of Glossaries, I added them in lib/crowdin-api/api_resources/glossaries.rb which increases lines count of the module to 202, but we have rubocop configured to prevent module line count not to exceed 196 - (.rubocop_todo.yml). Shall I go ahead and increase the limit or add an exclusion for the file?

@sabarish98 you're right, the other parameters probably will be handled automatically since this API Client has no strict request and response models

Shall I go ahead and increase the limit
Let's increase this limit to 256

@andrii-bodnar : Opened #29 . Please have a look


Windows security detects trojan in windows release.

Hi,
Windows security detects usql.exe file in usql-0.10.0-windows-amd64.zip release as "Trojan:Win32/Wacatac.D!ml" and quarantines it. Have any ideas?
OS: Windows 10 Pro,  Build: 19044.1706

Thanks for bringing this to my attention. I really don't know where this is coming from. My guess is that there are viruses built/made with Go that use similar dependencies that usql uses. For what it's worth, I build usql releases on a VM that has nothing else installed except for the utilities needed to build usql itself.
I am of course extremely concerned about this. I'll dig deep into the issue/cause here. If, somehow, my VM has become infected (I can't imagine how, since I don't use it for anything other than building usql), I'll rectify the issue and publish a new binary build for Windows. In the interim, I'd suggest building from source for Windows.

I've looked into this, and I believe this is a false positive and it seems to have flagged other Go applications at times namely ngrok and cloudflared. I'm closing this for now, as I don't believe the binary has an actual virus/trojan.

Thanks @kenshaw,
Your guess about using similar dependencies that are used in viruses makes sense. As I investigated, Windows Defender's machine learning algorithm might cause such false positives sometimes. ml suffix expresses this.
By the way after I've checked the Windows Defender update today, it doesn't detect as trojan anymore.

Can confirm that building from source in an MSYS2 environment on windows has 0 virus flags on virustotal


Jira add-on

Suggested new feature or improvement
Jira by Atlassian is an extremely popular tool for developers. It has nearly 90% of the bug and issue tracking market. It would be great to have a Jira extension to view and manage workloads.
Scenario
View/update/create tasks within Dev.Home (eg using the Jira API)
Additional details
No response

Thanks, @Branpolo! #1168 seems similar to this- if you agree, would you mind upvoting that one? I can duplicate this request against that one.

Duplicate of #1168


DRM Playback Fails on custom compiled build that has audio/video robustness specified in config

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
Master
Can you reproduce the issue with our latest release version?
N/A
Can you reproduce the issue with the latest code from master?
Yes
Are you using the demo app or your own custom app?
Custom
If custom app, can you reproduce the issue using our demo app?
Yes
What browser and OS are you using?
Chrome,MacOS
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?

What did you do?

made a custom shaka player build:
./build.py +@networking +@manifests +@polyfill +@text --name compiled --force

What did you expect to happen?
DRM Playback should work
What actually happened?

DRM Playback startup is failing, error 6002, b.cc.a is not a function...
Turns out that this part of player config is causing it
{
...
    advanced: {
      "com.widevine.alpha": {
        videoRobustness: "SW_SECURE_CRYPTO",
        audioRobustness: "SW_SECURE_CRYPTO"
      },
    }
}

I'm unable to reproduce your results.  Here are my steps:
./build/build.py +@networking +@manifests +@polyfill +@text --name compiled --force

<!DOCTYPE html>
<html>
  <head>
    <script src="dist/shaka-player.compiled.js"></script>
    <script src="myapp.js"></script>
  </head>
  <body>
    <video id="video" width="640" controls autoplay></video>
  </body>
</html>

// myapp.js

function initApp() {
  shaka.polyfill.installAll();

  player = new shaka.Player(video);

  drm = {
    advanced: {
      "com.widevine.alpha": {
        videoRobustness: "SW_SECURE_CRYPTO",
        audioRobustness: "SW_SECURE_CRYPTO"
      },
    }
  };

  console.log('RESULT', player.configure({drm}));
}

document.addEventListener('DOMContentLoaded', initApp);

When I run this in Chrome, I get "RESULT true" in the JS console.


log to stdout instead of stderr

Thanks for making supercronic! I've found it useful so far.
One issue I'd like to fix in my setup is that after installing supercronic, my messages are now showing up in stderr instad of stdout. Any ideas why this might be happening?

Hi there,
Supercronic itself logs to stderr, so it's expected that you'd see output there. Note that the log output from Supercronic actually includes the stream (stdout / stderr) that sent a message:
2017-10-03T07:41:57.809Z [papabear-cmd 74a03c8c8529]: time="2017-10-03T07:41:57Z" level=info msg="I, [2017-10-03T07:41:56.893591 #4264]  INFO -- : Some message!" channel=stdout iteration=3131 job.command="rake doit" job.position=3 job.schedule="*/5 * * * *"

(see channel=stdout above)
Depending on how you're processing / storing these logs, you might also want to enable the JSON output mode, which is of course easier to post-process.
Cheers,

Thanks for the reply, I'll look into JSON output mode. Just curious, what's the reason for logging to stderr instead of stdout?

stdout is typically for the output of commands, whereas stderr  is typically used for logging / informational message, so it typically makes sense to route logs to stderr. That said, Supercronic doesn't really have any meaningful output to speak of, so I guess one could go both ways.... Supercronic happens to use stderr.


bug: gateway is using labels and sourceState that are incompatible with Brigade v2.0.0-beta.4

Brigade v2.0.0-beta.4 got stricter about label keys.
This gateway needs to adapt accordingly.

Closing this.
This isn't a gateway issue.
Brigade v2.0.0-beta.4 got too strict about label keys.
The history is that we weren't strict enough about sidecar container names. Somehow when correcting that issue, the same restrictions were applied to labels, qualifiers, etc., although there was no reason for that.

See https://github.com/brigadecore/brigade/issues/1736


[Snyk] Security upgrade copy-webpack-plugin from 6.4.1 to 9.0.1

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

public/themes/custom/infofinland/package.json
public/themes/custom/infofinland/package-lock.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

698/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 6.1
Cross-site Scripting (XSS) SNYK-JS-SERIALIZEJAVASCRIPT-6147607
Yes
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Commit messages

Package name: copy-webpack-plugin
    The new version differs by 29 commits.

797a006 chore(release): update `serialize-javascript`
f233c55 chore(deps): serialize-javascript and deps updated (#613)
966d723 chore(deps): update (#610)
2abdddf chore: fix typo (#609)
d041d85 chore(release): 9.0.0
beff64e refactor: nodejs v10 dropped (#606)
3a1139e docs: fix unintended cyrillics in README.md (#604)
8857968 chore(release): 8.1.1
d8fa32a fix: `stage` for processing assets  (#600) (#601)
a571f07 chore(release): 8.1.0
82b10e3 chore(deps): update (#598)
a8ace71 docs: update (#597)
dde71f0 feat: added the `transformAll` option (#596)
4ca7f80 docs: fix broken link to #globoptions (#595)
01fa91b docs: fix typo
1787d2d chore(release): 8.0.0
83601dc refactor: code (#593)
9e12a33 refactor: code (#592)
d68a8eb chore(deps): update (#591)
ea610bc feat: added `priority` option (#590)
a9b06a6 docs(readme): add example to skip minimizing source files (#588)
f2c1bc8 refactor: template strings in `to` option (#589)
8d5ab9a chore: updated deps (#587)
f5e661b test: issue 496 (#586)

See the full diff

Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Cross-site Scripting (XSS)

Decided to close obsolete Snyk PRs and run again


Consistent metric naming convention

Background
Data Prepper has an existing metric naming convention of:
{pipelineName}.{pluginType}.{metricName}

The {metricName} part is custom to each plugin. The {pipelineName}.{pluginType} is determined by the PluginMetrics class and is standard to all Data Prepper metrics.
Problems
There are a few problems with this convention:

Some plugin types have the same name for different component types. There is an s3 source and sink now. And there will be a kafka source and sink as well.
Having multiple plugins of the same type does not distinguish between the metrics.

Proposal
Update our plugin metric naming. I'd like to suggest that we use consistent names for any plugin type. And then we would use tags/dimensions to disambiguate pipelines and pluginIds.
New metric name:
{componentType}.{metricName}

New tags per metric:
pipelineName={pipelineName}
pluginId={pluginId}

ThecomponentType is the type of pipeline component represented. This would be source, sink, processor, or buffer.
The pluginId is the plugin Id which would be added by #1025.
Expanded Metric Proposal
Also, we currently disallow pipelines to be named core or data-prepper in order to reserve this.
Thus, all Data Prepper metrics will have the following form.
{scopeIdentifier}.{metrics}

The scopeIdentifier can be one of the following:

core
data-prepper
A component type - e.g. source, processor.

If the scopeIdentifier is a pipeline component, then the plugin metric convention above applies. For core and data-prepper, the plugin metric convention does not apply and it will depend on the specific metrics.
Migration
This new plugin metric definition is a breaking change. Thus, we can offer a flag to enable these metrics and remove it a major version bump.
In data-prepper-core.yaml, provide a new property named metric_naming. It will have two options:

v1 - The current naming; the default
v2 - The new naming convention

metric_naming: v2

Dependencies

#1025

Tasks

[ ] Refactor PluginMetrics to an interface
[ ] Provide a different PluginMetrics depending on the naming convention
[ ] Create a setting to configure the different options

Rather than continuing to include the pipelineName in the metric name, I think making use of Micrometer tags would allow for better metrics. This would map to Amazon CloudWatch metrics and dimensions.
Metric name:
{componentType}.{metricName}

New tags:
pipelineName={pipelineName}
pluginId={pluginId}

Example:
my-pipeline1:
  ...
  sink:
    - opensearch:
    - opensearch:

...

my-pipeline2:
  ...
  sink:
    - opensearch:

Here are some of the metrics:

Metric Name
pipelineName
pluginId

opensearch.documentsSuccess
my-pipeline1
opensearch

opensearch.documentsSuccess
my-pipeline1
opensearch2

opensearch.bulkRequestFailed
my-pipeline1
opensearch

opensearch.bulkRequestFailed
my-pipeline1
opensearch2

opensearch.bulkRequestErrors
my-pipeline1
opensearch

opensearch.bulkRequestErrors
my-pipeline1
opensearch2

opensearch.documentsSuccess
my-pipeline2
opensearch

opensearch.bulkRequestFailed
my-pipeline2
opensearch

opensearch.bulkRequestErrors
my-pipeline2
opensearch

We should also make changes to the metrics to differentiate between the plugin types. This may be done well through the use of a tag to indicate the type.


Create extension pgsentinel shows error on function get_parsedinfo

Hi,
I am trying to set pgsentinel on a container that is using replication and automatic failover (bitnami/repmgr).
I can set pgsentinel and the log shows no problem:
2021-01-27 16:11:16.225 IST [118] LOG:  starting bgworker pgsentinel
 done
server started

However, when I try to create the pgsentinel extnesion, I get this error:
2021-01-27 16:15:38.508 IST [118] QUERY:  select act.datid, act.datname, act.pid, act.usesysid, act.usename,  act.application_name, text(act.client_addr), act.client_hostname,  act.client_port, act.backend_start, act.xact_start, act.query_start,   act.state_change, case when act.wait_event_type is null then 'CPU'  else act.wait_event_type end as wait_event_type,case when act.wait_event is null  then 'CPU' else act.wait_event end as wait_event, act.state, act.backend_xid,  act.backend_xmin, act.query, act.backend_type,(pg_blocking_pids(act.pid))[1],  cardinality(pg_blocking_pids(act.pid)),blk.state,gpi.*  from pg_stat_activity act left join pg_stat_activity blk   on (pg_blocking_pids(act.pid))[1] = blk.pid,get_parsedinfo(act.pid) gpi  where act.state ='active' and act.pid != pg_backend_pid()
2021-01-27 16:15:38.510 IST [109] LOG:  background worker "pgsentinel" (PID 118) exited with exit code 1
2021-01-27 16:15:40.513 IST [296] LOG:  starting bgworker pgsentinel
2021-01-27 16:15:40.518 IST [296] ERROR:  function get_parsedinfo(integer) does not exist at character 674
2021-01-27 16:15:40.518 IST [296] HINT:  No function matches the given name and argument types. You might need to add explicit

The table pg_active_session_history is then created, but it is empty.
Is there a way to work around this?
Thanks

It does work for me within a container when using this https://github.com/pgsentinel/docker_for_testing:
docker build -t pgsentinel-testing -f Dockerfile-pgsentinel-testing --build-arg PG_VERSION=13.1 --force-rm=true --no-cache=true .

# docker container ls
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS               NAMES
44f564f411c0        pgsentinel-testing   "/home/postgres/st..."   9 minutes ago       Up 8 minutes        5432/tcp            pgsentinel

# docker exec -it 44f564f411c0 /bin/bash
postgres@44f564f411c0:/$ psql
psql (13.1)
Type "help" for help.

postgres=# \dx+ pgsentinel
   Objects in extension "pgsentinel"
          Object description
---------------------------------------
 function get_parsedinfo(integer)
 function pg_active_session_history()
 function pg_stat_statements_history()
 view pg_active_session_history
 view pg_stat_statements_history
(5 rows)

postgres=# select pg_sleep(10);
 pg_sleep
----------

(1 row)

postgres=# select count(*) from pg_active_session_history ;
 count
-------
    10
(1 row)

Does the pgsentinel--1.0.sql being used contain the "CREATE FUNCTION get_parsedinfo" part?
Could you post the output of "\dx+ pgsentinel"? and "\dx pgsentinel"?
Bertrand

Hi Bertrand,
Thank you for your answer.
Yes, pgsentinel--1.0.sql  includes this function. I see it at the last part of the SQL file:
CREATE FUNCTION get_parsedinfo(IN int, OUT pid integer, OUT queryid bigint, OUT query text,OUT cmdtype text)
RETURNS SETOF RECORD
AS 'MODULE_PATHNAME','get_parsedinfo'
LANGUAGE C STRICT VOLATILE;
Here is the output of the commands you wrote:
octdb=# \dx+ pgsentinel
      Objects in extension "pgsentinel"
             Object description
---------------------------------------------
 function infra.get_parsedinfo(integer)
 function infra.pg_active_session_history()
 function infra.pg_stat_statements_history()
 view infra.pg_active_session_history
 view infra.pg_stat_statements_history
(5 rows)

octdb=# \dx pgsentinel
              List of installed extensions
    Name    | Version | Schema |      Description
------------+---------+--------+------------------------
 pgsentinel | 1.0     | infra  | active session history
(1 row)

Thanks,
Tamar

Another hint perhaps:
If I try to create this function with a different name, it says:
ERROR:  could not access file "MODULE_PATHNAME": No such file or directory
Thanks,
Tamar

Looks to me it's related to the extension being created in the "infra" schema.
What if you drop the extension, and then (replace postgres below according to what makes sense in your environment):
alter user postgres set search_path=infra, "$user", public;
create extension pgsentinel;
ALTER EXTENSION pgsentinel set schema infra;


--blacklist-type, --opaque-type should take regexes

The --whitelist-X options all take regexes, so I assumed that --blacklist-type and --opaque-type would also. Is there a reason they don't?

Fixed in #382


Show the audio data as it is being recorded

would you please tell me if i want to record for 10 seconds, and want it to show the wave on real time
(ex: when it record 3 seconds, then 3/10 timeline of canvas show the wave of record until 3 seconds)
thank you a lot!!

wil this record feature is implimented in a website like soundtrap.com


[internal] Fix node 10 test issue

Replace npm-login-cli with npm-auth-to-login, which works with node 10.
Should fix https://github.com/facebook/create-react-app/pull/4383

Thanks for fixing this. It's been on my todo list. I was looking at submitting a PR to npm-login-cli but it looks like that project isn't very active. This seems like a better solution.

It seems Travis is acting up these days.  I've seen quite a bit of random failures on my PRs and other PRs that involves only trivial text changes.

I've noticed this as well. It looks like @Timer might have a potential fix.

Given that this passed on Appveyor I'm happy to merge it.

Yeah, we need to get CI working reliably.


AD User - Add to Group

On the AD User details page (aduser.asp) from the Groups tab, enable the "Add to Group" button.  It should display a list of all domain groups which not already a member, and filtered using global exclusion list (_config.txt, etc.) if possible.

Half done.  Still need to add "remove from group" capability


Study how to improve the native-image binary creation workflow

How should the user get Mandrel?
How should the user create a binary for local testing purposes?
How should the user deploy a binary version of the app to OpenShift?

* How should the user get Mandrel?

We could potentially download this on their behalf and place it accordingly. If the user already has it installed we can ask them to point to their installation.

* How should the user create a binary for local testing purposes?

We have a task that handles launching a quarkus project in dev mode, so we'll likely just need to take some of that code and modify the call to set the correct profile/properties so the binary gets generated. I think this is probably the first thing to try to tackle if there's interest.

* How should the user deploy a binary version of the app to OpenShift?

Much like #313 I think redhat-developer/vscode-openshift-tools should be providing the API for this.

I am going to try and make a POC sets up the Maven binary compilation as a VS Code task in tasks.json (see)

As an update, we now have the ability to build a binary if GRAALVM_HOME or JAVA_HOME is set with an appropriate JVM. I think we should consider downloading Mandrel on behalf of the user as an option in https://github.com/redhat-developer/vscode-quarkus/blob/master/src/wizards/binary/buildBinary.ts#L45-L48 .


Compatible names with Jest Snapshots

Clear and concise description of the problem
While migrating from Jest, lots of snapshots get replaced, just because of the name.
But the issue is that it's not just the name change. Because the name is different, the snapshot is not found, and thus it is re-generated as if it did not exist.
describe('foo', () => {
  it('bar', () => {
    // ...
  })
})

- foo bar
+ foo > bar

Suggested solution
Allow for compatibility with Jest snapshot naming.
Alternative
Update every single snapshot, which causes huge diffs.
Additional context
Jest 26.6.3
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

There comes a point where we can't be compatible with Jest. And snapshot naming is one of the Jest's pains. We don't like it and we use our own way, so you will need to rebuild all your snapshots.
They are 100% compatible otherwise, so you shouldn't worry about commit size.

#686 is about pressing u in terminal. If Vitest doesn't remove snapshots on vitest run, please, open another issue.


Agular "ng serve" not working

Describe the bug
Page doesn´t load
Link to the blitz that caused the error
https://angular.io/generated/live-examples/getting-started-v0/stackblitz.html
Steps to reproduce
At the very bigining of the sample proyect
Expected behavior
Load the page
Screenshots

Platform
Browser name  = Chrome
Full version  = 96.0.4664.93
Major version = 96
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
performance.memory = {
  "totalJSHeapSize": 86323059,
  "usedJSHeapSize": 68518543,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = c1a2f33ebdb80ec1573b6337c828d176e80f0398

Additional context
I'm trying to use the AGULAR expample from official site
https://angular.io/generated/live-examples/getting-started-v0/stackblitz.html

@marcoalesan Thanks for the report. This issue is probably an upstream problem, see https://github.com/stackblitz/webcontainer-core/issues/473


[FEATURE]  Refinement of Benchmarking for System Calls

Description:
The current benchmarking approach might be providing misleading results due to the inclusion of certain functions that induce context switching. For instance, current system calls (syscalls) include print functions which overshadow the minor performance differences, as the results are mostly in the order of milliseconds (ms). However, the difference in eBPF programs for syscall tracepoints might just be a few hundred nanoseconds (ns).
Proposed Solutions:

Decompose the Benchmark into Multiple Cases: The benchmark should be divided into distinct cases to evaluate the impact of each segment on performance.

Syscall Tracepoint Benchmark: This benchmark should only focus on syscall tracepoints. It can include a very simple arithmetic operation like (a+b) to prevent it from being optimized away. This will help in calculating the inherent overhead of syscall tracepoints.
Hashmaps Benchmark: This case should measure the time taken for hashmap operations. It should include a helper function to retrieve the PID and use hashmaps for statistics.
LLVM JIT Performance: Test the performance of the LLVM JIT with slightly complex calculations to understand its impact.

Note: If implementing the above solutions is cumbersome, consider creating an issue for future reference and revisit it later.

see https://github.com/eunomia-bpf/bpftime/tree/master/benchmark/syscall

finished.