[pybind11] make python3 optional

I have a project that uses pybind11. I want to be able to build my project using the system's python3 via pip install.
However, if my system's Python version is 3.12, pybind11 will not be able to find it because the Python version provided by vcpkg is 3.11.
Not installing Python 3 from vcpkg solves this issue because, without it, vcpkg will try to find the Python 3 headers from the system instead of from vcpkg.
I know that there are many issues between pybind11 and Python 3 (#37758, #36585, #22743, #34338, #34678).
Therefore, my suggestion is to add a default feature called "local-python3" that adds the Python 3 port as a dependency.

[X] Changes comply with the maintainer guide.
[X] SHA512s are updated for each updated download.
[X] The "supports" clause reflects platforms that may be fixed by this new version.
[X] Any fixed CI baseline entries are removed from that file.
[X] Any patches that are no longer applied are deleted from the port's directory.
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

The problem is that even if you depend on pybind11[core] it's not guaranteed that your project will find system python.
Empty overlays do guarantee that. https://github.com/microsoft/vcpkg/pull/36585#issuecomment-2022440941

Thanks, I will test it soon. I didn't knew about using empty overlay port to force system libraries.
I can't find documentation about creating empty overlay port. Can you confirm me that it's just a port in another overlay with an empty portfile.cmake ? Thanks.

Can you confirm me that it's just a port in another overlay with an empty portfile.cmake ?

Yes, but with set(VCPKG_POLICY_EMPTY_PACKAGE enabled) to disable post-build checks.
https://devblogs.microsoft.com/cppblog/using-system-package-manager-dependencies-with-vcpkg/#using-curl-and-openssl-from-the-system-package-manager1

I just tested your solution. Yes, creating an empty overlay port for python3 fakes vcpkg and system's python3 is detected with success.
But pybind11 stills need a patch. I needed to restore an old patch fix-debug-link.patch.
Without this patch, under Windows / Debug, I have LINK : fatal error LNK1104: cannot open file 'python311.lib'. pybind11 uses python311.lib instead of python311_d.lib.
It looks like there was some debate about whether python3 dependency should be added as a feature or should be bypassed using an empty overlay port.
Since using an empty overlay port is not enough to fix the problem, is it possible to reconsider using a feature like "not-system-python3"? vcpkg only allow to add a dependency. Does the feature only disable the patch (and python3 remains a mandatory dependency even if the feature is disabled) or does the feature allow to make python3 optional?
Or do you have another solution ? I really would like to avoid maintaining a local pybind11 port.

I noticed there is a commit e338d66dcdf3fb22b1fa2563b8318446c1e1f9c6 (Move Py_DEBUG to python). So I think that I have to implement a vcpkg-cmake-wrapper.cmake that just do a find_package and apply target_compile_definitions

When using system python it is expected that user explicitly sets PYTHON_IS_DEBUG
https://github.com/pybind/pybind11/blob/8a801bdc32b40dc54f62e982c6e36577af4b12bb/tools/pybind11NewTools.cmake#L195-L203

Yes !! Setting PYTHON_IS_DEBUG before calling find_package also works and allow to have a very simple python3 empty overlay port.

portfile.cmake
message(WARNING "Using fake python3 to force system libraries.")

set(VCPKG_POLICY_EMPTY_PACKAGE enabled)

vcpkg.json
{
  "name": "python3",
  "version": "3.11.8",
  "description": "The Python programming language",
  "homepage": "https://github.com/python/cpython",
  "license": "Python-2.0",
  "features": {
    "deprecated-win7-support": {
      "description": "Deprecated support for the Windows 7 platform -- may be removed at any time."
    }
  }
}

What if I want pybind11 to use my system python, but vcpkg's python for other packages?

I don't think CMake supports mixing different python versions. Please show an example how you would do that without vcpkg.
Maybe you just need to have two vcpkg installed trees: one with python from system and another with python from vcpkg.

pybind11 is header-only library and it does not depend on python library to compile (as there's nothing to compile). In theory, I could have Python 3.11 in vcpkg while still being able to use system Python 3.12 for my project. In reality, it is rather troublesome, I found this approach but I don't even want to try.
In my opinion, having python in vcpkg installed tree is rather a problem since most systems already have it installed (again, I'm not alone, see #24661). At least, there should be a choice.

At least, there should be a choice.

There is a choice: either use python from vcpkg or use python from system via an empty overlay.

If you want a cleaner solution you can design and implement something like "system": true manifest option.
Or move this empty overlay into a separate vcpkg registry and use this registry in all your projects.

If you want a cleaner solution you can design and implement something like "system": true manifest option.

That's actually what this PR is about. I just set { "name": "pybind11", "default-features": false } and it's good to go.

This would be great to have and is exactly what I was asking for in #42323. Creating the empty overlay port is an overly cumbersome way of achieving something so simple.
Since you don't need Python in order to install PyBind11 I don't see a reason why its vcpkg port should be forcing you to install it.

I don't think CMake supports mixing different python versions.

@Osyotr It's not pretty but here is one potential way to use multiple versions of Python from CMake. https://github.com/pybind/pybind11/issues/748
However, vcpkg's Python port prevents this from being possible due to #42322

The problem with my pull request is that it changes the way vcpkg works. vcpkg compiles and manages all dependencies.
This could be changed, but not only for pybind11, but also for all other libraries. Gentoo offers this possibility (see https://www.gentoo.org/support/use-flags/ and the system- keywords).
Does the user really want to use pythond when compiling in debug mode? Or does he want to use python (release) in debug mode? Is it possible to give him the choice?
Clearly, the link between pybind11 and python isn't perfect. If it's really your choice, you'd better create another issue to talk about it again and suggest applying my pull request to all the ports that depend on python3.
But it will take a lot of time and work to change the way Python is currently used. There were many issues about using Python from the OS. There will be many issues out using vcpkg's Python. I don't agree with the choice of using Python from vcpkg, but I can see that there are fewer issues. Perhaps this was the least worst solution.

That's actually what this PR is about. I just set { "name": "pybind11", "default-features": false } and it's good to go.

Not true. This PR adds an alternative as a feature and it's not allowed. To reiterate this, with your PR:
pybind11[core]
port using pybind11 <--- will use system python
python3 <--- from another library that builds python bindings with boost-python or embeds python
(project invoking vcpkg) <--- will use vcpkg python, despite you explicitly asking pybind11[core]

It's not pretty but here is one potential way to use multiple versions of Python from CMake. https://github.com/pybind/pybind11/issues/748

This is a hack.
The best way to build extensions for multiple python versions is to configure and build the extension multiple times.

That's actually what this PR is about. I just set { "name": "pybind11", "default-features": false } and it's good to go.

Not true. This PR adds an alternative as a feature and it's not allowed. To reiterate this, with your PR:
pybind11[core]
port using pybind11 <--- will use system python
python3 <--- from another library that builds python bindings with boost-python or embeds python
(project invoking vcpkg) <--- will use vcpkg python, despite you explicitly asking pybind11[core]

And this will be my problem if such situation occurs, because I intentionally used non-default configuration. I don't insist on changing defaults, just an option is enough for me. I think such approach is appropriate for header-only libraries.
But I see what you mean by consistency. Even though I don't have any other dependencies that require vcpkg python package, I gave vcpkg's python a try, but no luck. It creates working virtualenv with pip on Linux, but on Windows it does not work:
D:\vcpkg>installed\x64-windows\tools\python3\python.exe -m venv D:\vcpkg-python-venv
D:\vcpkg>cd D:\vcpkg-python-venv
D:\vcpkg-python-venv>Scripts\activate.bat
(vcpkg-python-venv) D:\vcpkg-python-venv>python <-- nothing, just exits immediately
(vcpkg-python-venv) D:\vcpkg-python-venv>

After I activate venv, python interpreter is not loading, exits immediately. Even if this worked, I don't think that it is convenient for vcpkg consumers anyway.

After I activate venv, python interpreter is not loading, exits immediately.

Should be fixed in https://github.com/microsoft/vcpkg/pull/42414


feat: implement intermediate state for simp_rw

closes #3680, see https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Stepping.20through.20simp_rw/near/326712986

I'm sure its possible, but I'm not sure I have the skills to write it ;). Maybe if someone could point to examples of similar tests in mathlib that could serve as an example

Unfortunately withRWRulesSeq includes some logic to try different equation lemmas, so using it directly seems to result in some failures.
It does look to be a nicer output than a more basic implementation so I'm trying to decide whether to copypaste the code for a simprw specific version that does less, or just go with a simpler implementation (that doesn't handle the arrows or initial token so well)

This PR/issue depends on:

leanprover-community/mathlib4#3757
By Dependent Issues (🤖). Happy coding!

LGTM
It would be nice if you could also annotate error messages. In Lean 3 the error message was "simp failed to simplify" without indication which of the simp_rw steps caused this error. It would be nice if you could print the rule that failed. (doesn't have to be in this PR)
bors d+

Ok i will do that in the follow up, when the errors are added for simps that do nothing.
Thanks for the suggestion.

bors r+


Switch default TDVP solver to "exponentiate" ?

Currently the default TDVP solver is "applyexp" which performs well but is not as sophisticated as "exponentiate" (which calls KrylovKit). Originally I had some misunderstandings about the time step parameters expected by exponentiate as compared to applyexp, but after resolving these differences they should perform roughly similarly.
exponentiate was seeming to do one extra (possibly unnecessary) Krylov step, though, and it would be good to look back into this.

Yes, I would definitely prefer to just use KrylovKit.exponentiate, and put our efforts into fixing any issues we come across with KrylovKit.exponentiate instead of supporting our own (less sophisticated) version of Krylov exponentiation.


Bug fix  date range picker invalid date

Using the start date and end date from the date picker object instead of parsing the input string and passing it.
Translating the last 24 hours into french

NOTE: This option doesn't work in portugese language although.

This doesn't seem to work with the portugese version. The issue here lies with the datetimepicker. I need to find an alternative version for this but rest of the languages seem to be working fine.


Clean up all imports

Clean imports related to last Rust nightly version.

I feel like this is some weird regression in rust nightly... it's not at all clear to me why this should error

I feel like this is some weird regression in rust nightly... it's not at all clear to me why this should error

@Pratyush These are imports. There were two specific cases that Rust nightly now detects:

Cases of overlaying of imports which seemed not to be detected before and which are now: for example if an element was already "under-imported" in another import and it is imported again manually.
There is a second case which corresponds to the std prelude to which new components have just been added (https://doc.rust-lang.org/std/prelude/index.html) such as Vec for example . As arkworks is mostly no_std, when we explicitly imported ark_std::vec::Vec, then Rust saw it as an import overlay since Vec exists in the std prelude. But if we do not do this import with the no_std flag, then Rust does not recognize Vec because it is unable to use the std prelude. So the only way in my opinion is to import ark_std::vec::* to import Vec without really saying it.

Merged #798 into this to allow it to merge.


NameError with -c option

Hello,
thanks for your work on nik4, it is very useful. There seems to be a small problem with the -c option, though:
$ nik4.py -c 7.5 52.0 -s 5000 --margin 10 --ppi 300 -a 4 mapnik.xml print.png
Traceback (most recent call last):
  File "/home/ug/.virtualenvs/maps/bin/nik4.py", line 289, in <module>
    scale = scale / math.cos(math.radians(center.y))
NameError: name 'center' is not defined

If I understand correctly, center.y should be replaced by options.center[1], at least this makes the code run through (or is it necessary to apply some transform here?).

Thanks, fixed it and uploaded version 1.5.2 to pypi.


host not working, Error 524!

this host is not working!!!

Thanks for letting me know! I restarted the deployment and it appears to be working again. Not sure why it went down, but it might be related to a Google Cloud outage. I’ll investigate. Sorry about that!


separate the process of isomer generation and optimization

since isomer gen only utilizes cpus

See #13 and #14.

done


Unwraps & asserts - there might be a better way

Hello @cberner, thanks for all of the work on this project. Really stoked to see an alternative to sled which is alive and kicking.
I am interested in using this project in a project of my own. Looking through the code base a bit, I've noticed pretty heavy use of unwrap and a fair number of asserts. I've filtered out tests, benches, examples and the like.
Firstly, I totally get that. In many cases, the invariant is clear, and the unwrap will not panic. Other cases are not as trivial to reason about (as a newcomer to the code base).
However, this gives me a bit of pause about adoption. The primary difficulty with unwrap/expect/assert and friends, is that as soon as you use them, you forfeit the type system's ability to encode the real state of the system. Invariants which were once true may no longer be true after some refactoring, and you no longer have the type system to prove/encode that.
In essence, relying on unwraps to this degree essentially require much more rigorous testing, and a lot of that testing is going to be pushed onto the users of the code (me).
All of that said, I think this is somewhat common for a new-ish project. It takes time to refine error handling patterns, time to craft types to encode the invariants of the system instead of relying on unwraps. My bias is probably clear on this front: I wish panics were only minimally used, if ever, and only as part of a failure condition to start programs (throughout Rust ecosystem). IMHO, everything should be gracefully handled up to the point that an exit is required. Basically these things all look like landmines to me (mostly joking) :).
What do you think about this? Do you have plans to refine this aspect of the code? Or perhaps you are quite alright with unwrap generally speaking? I am more than happy to discuss more, and if time/life permits, I would love to help out on this front as well.

Ya, I'd like to limit the number of unwrap() calls. I've found them & the assertions to be pretty helpful when used to assert cases that would otherwise result in data corruption, and that has made fuzzing quite effective. But not having them at all would be ideal.
 If you have time to contribute. That'd be welcome! Feel free to send PRs for small changes. If you have a bigger change in mind, probably best to open a draft / issue to discuss it first.

Closing, but feel free to send PRs


finalize docs are incomplete

Documentation Related To Component:
The finalize operator.
Please check those that apply

[ ] typo
[ ] documentation doesn't exist
[x] documentation needs clarification
[ ] error(s) in example
[x] needs example

Description Of The Issue
The docs state:

Returns an Observable that mirrors the source Observable, but will call a specified function when the source terminates on complete or error.

finalize will also call its callback if the subscriber explicitly unsubscribes. See this test.
The documentation needs an example, too.

Okay. I clearly pasted the wrong link. It's this test.

@cartant Hilarious :D The this test link points to a tweet of a dog holding two boiled eggs in its mouth 😂

@dzhavat I've added the correct link. And I've left the mistakenly-pasted link for the amusement of others.)

Here is another reproduction of this issue
https://stackblitz.com/edit/rxjs-bsv8sg

HI, can we confirm that indeed finalize calls it's method in case we unsubscribe manually, before observable's execution reached complete  / error ?
This is sad that I discovered this issue here :(

@cartant thanks a lot for the link with the dog. It was really nice having this in between all the issue stuff. Haha
Anyway, i will put it on my todo list.

Same behavior observed and discussed here:
https://stackoverflow.com/questions/57696249/rxjs-switchmap-and-tap-issue
IMHO this should deserve attention as it somehow introduce a new hookable "moment" in the lifetime of an observable which is not described yet .

Hi, I'd like to help with this issue.
I have some experience with RxJS with developing Angular applications at my job.
Maybe this is a silly question, but to which branch should the PR of the documentation improvement be targeted? Should it be master or 6.x branch?

@PDavid Please target master. Thanks.

@cartant Thanks, then I'll redo my changes and open a new PR to master.

@PDavid Note that you can rebase your local branch, push to the PR and then change the PR's branch to master - a dropdown is made available to do so when you edit the PR's title.

@cartant Thanks for the rebase --onto hint. ;-) I rebased my branch onto master but needed to open a new PR because I already closed the original PR.
How can we move forward with this?
Who can have a look on the PR and provide feedback?

It's in the queue. I can assure you that your work is appreciated, but we are all busy people. I will try to make some time on the weekend to go through the PR backlog.

Sure, thank you! Just wanted to make sure. :)

closed by #5065


support node worker_threads

node-red is used to provide micro services in high concurrency scenarios.
The utilization rate of multi-core server is too low.
If can be used "worker_threads" with nodejs in one node-red instance rather than  deploy nginx(round_robin)+N*node-red instances.
thanks.

Hi, please use the issue template we provide.
We do not use this issue list for feature requests. Thanks.
Worker threads are something we'll be looking at in the future.

Hi, please use the issue template we provide.
We do not use this issue list for feature requests. Thanks.
Worker threads are something we'll be looking at in the future.


add help in linked dataset/publication popups

Describe the improvement
To add a linked dataset/publication, a popup is opened when clicking "Add dataset/publication". In this popup, add the sentence "Select one or more datasets/publications as already registered in Biblio".
Similar to help in project popup (https://github.com/ugent-library/biblio-backend/issues/241)
Screenshots

ok


Chat window not opening when click on bubble

import { Widget } from "react-chat-widget";
import "react-chat-widget/lib/styles.css";
export default function App() {
return (
<Widget />

);
}

Check you react version. It didn't work for me w React 18.
After downgrading to React 17, I was able to get it working

Right, it doesn't work with React 18 but works with previous versions.

Is this package still maintained? React 18 version would be very helpful


Data Prepper 2.4.0 blog post

Describe the blog post your would like to write
A blog post announcing the release of Data Prepper 2.4.0.
What is the title of the blog post?
Introducing Data Prepper 2.4.0
Who are the authors?
@dlvenable
@kkondaka
@asifsmohammed
What is the proposed posting date?
Aug 17, 2023

@Naarcha-AWS @dlvenable - Pushing this out to next week on 8/22. Please advise if this is correct.

@pajuric , That is correct.


Is there any plan to support Grounding DINO here?

I'm going to close this issue now, but we will add it to our future release plan, maybe not in detrex, but a better open-source code for GroundingDINO, feel free to re-open it if necessary


Support for pry 0.10.0

pry version 0.10.0 has been released.
It would be nice to have jazz_hands support it.
In my case, especially because guard 2.2 now depends on pry 0.10.0 and I am really not able to have them both running together.
$ bundle install
Fetching git://github.com/nixme/jazz_hands.git
Fetching gem metadata from https://rubygems.org/.........
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Bundler could not find compatible versions for gem "pry":
  In snapshot (Gemfile.lock):
    pry (0.10.0)

  In Gemfile:
    jazz_hands (>= 0) ruby depends on
      pry (~> 0.9.12) ruby

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

:+1:

Thanks @jkrmr using ruby 2.1.6 works as well! :tada::tada:

:+1: The fork works for me but jazz_hands needs to be updated, pls!

@dgmike You can try my fork: jazz_fingers.
There are a lot of improvements and fixes on top of jazz_hands already. =)

:+1:

👍


Codecs should detect when actingBlockLength is less than generated message blockLength and prevent decode/encode

If actingBlockLength is less than the block length in the schema used to generate a message class, the parser should recognize that new fields (those with offset+length beyond actingBlockLength) are not present.  Instead the generated code just reads out of bounds and returns arbitrary garbage.

This is not C++ specific. In addition, the title is actually incorrect as there are extension characteristics included. Just not the one mentioned.
So, going to change the title to more accurately reflect the stated issue.

Acting block length can be less than current schema if the version is older. This is perfectly normal.

Acting block length can be less than current schema if the version is
older. This is perfectly normal.

I realize it's normal.  At the time I filed this issue, the decoder would
malfunction.  Is this fixed now?

Can you define "malfunction" with a worked example?

Sorry for ignoring this for so long.  What I should have relied with, way back when, is (on a 2016 version of simple-binary-encoding):
The generated code from CME's templates_v13.xml for MDIncrementalRefreshBook46 is:
        sbe_int32_t tradeableSize(void) const
        {
            if (actingVersion_ < 10)
            {
                return<PHONE_NUMBER>;
            }

            return SBE_LITTLE_ENDIAN_ENCODE_32(*((sbe_int32_t *)(buffer_ + offset_ + 27)));
        }

which is okay if, and only if, the buffer is correctly sized for the acting version.  If the remote peer sends a too-short block or if something goes wrong, and the buffer is too short, then this will read out of bounds.  The corresponding write operations will write out of bounds, which is a very severe bug, although triggering that remotely might be fairly challenging.
Something here should be checking bufferLength_.
I haven't yet checked whether this bug still applies, but I'm quite confident that it was a real bug at the time I filed it.

You can enable bounds checking for reading beyond the buffer. With this enabled the buffer is checked when wrapped and each advance of the position.


Errors in types.d.ts

I'm having an issue:

Give an expressive description of what is went wrong
The types.d.ts file does not compile after having zodern:types place it in .meteor/local/types

.meteor/local/types/node_modules/package-types/ostrio_flow-router-extra/package/web.cordova/types.d.ts (5,62): String literal expected.
.meteor/local/types/node_modules/package-types/ostrio_flow-router-extra/package/web.cordova/types.d.ts (16,7): Cannot find namespace 'Meteor'.
.meteor/local/types/node_modules/package-types/ostrio_flow-router-extra/package/web.cordova/types.d.ts (17,7): Cannot find namespace 'Tracker'.
.meteor/local/types/node_modules/package-types/ostrio_flow-router-extra/package/web.cordova/types.d.ts (18,13): Cannot find namespace 'Tracker'.
.meteor/local/types/node_modules/package-types/ostrio_flow-router-extra/package/web.cordova/types.d.ts (20,37): Cannot find namespace 'Meteor'.
.meteor/local/types/node_modules/package-types/ostrio_flow-router-extra/package/web.cordova/types.d.ts (30,48): Cannot find namespace 'Mongo'.

Version of flow-router-extra you're experiencing this issue
3.9.0

This line is syntactically incorrect:
type DynamicImport<T extends string> = Promise<typeof import(T)>;

Metor, Tracker and Mongo packages need to be imported
Here are manual modifications that make the compilation errors go away but the DynamicImport type function can probably not be implemented at all.
import { Meteor } from "meteor/meteor";
import { Mongo } from "meteor/mongo";
import { Tracker } from "meteor/tracker";

type Trigger = (context: ReturnType<Router["current"]>, redirect: Router["go"], stop: () => void, data: any) => void;

type TriggerFilterParam = { only: string[] } | { except: string[] };

// @ts-ignore
type DynamicImport<T extends string> = Promise<typeof import(T)>;

@perbergland would it get solved by adding Tracker and Mongo as {weak: true} dependencies?

@timsun28 would you be able to help with this one?

I believe I have solved both issues in this pr.
I have added meteor types to flowrouter so they can be imported and it now recognizes them when using the package.
I have also changed the DynamicImport to now only accept a string and solved the issue it was initially giving.
I hope this helps your problems!

@timsun28 @perbergland I left a comment in the PR

Should be solved in the latest release
Feel free to reopen it in case if the issue is still persists on your end.


all tests have identical locations for angular projects

🐛 Bug Report

While working on jest-community/vscode-jest#697, we noticed jest seems to wrongly report test locations for angular projects, they are all identical. You can see this not only in the vanilla tutorial project but also in the examples/angular
To Reproduce
Steps to reproduce the behavior:

in https://github.com/facebook/jest/tree/master/examples/angular
run yarn test --testLocationInResults --json --outputFile xxx
look at the output file, and see all "location" blocks are identical:

"location": {
    "column": 27,
    "line": 87
},

Expected behavior

it should have the correct location. If location can not be determined, then maybe error or null?
Link to repl or repo (highly encouraged)
https://github.com/facebook/jest/tree/master/examples/angular

envinfo

 System:
    OS: macOS 11.3.1
    CPU: (12) x64 Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz
  Binaries:
    Node: 14.17.0 - ~/.nvm/versions/node/v14.17.0/bin/node
    Yarn: 2.4.1 - /usr/local/bin/yarn
    npm: 6.14.13 - ~/.nvm/versions/node/v14.17.0/bin/npm

Any insight on potential issues?

I have a similar problem with a non-angular project. Any update on this would be highly appreciated.


[Bug]: Scan failed to create sensitive column

ODC version
odc423
OB version

What happened?

What did you expect to happen?
Created successfully
How can we reproduce it (as minimally and precisely as possible)?

Enter the Shilin project
Click to scan and add sensitive columns
Database selection oracle421, select all databases and recognition rules
Click submit

Anything else we need to know?
No response
Cloud
No response

pass


Using linq in queries.

Using linq in queries.
I have a code that I have to execute. Not as declarative programming, but as a logical section of examination and decision.
Is there a way to perform linq queries on the Entities?
Or is it possible to write with SQL query?
The query returns an array. You can not manipulate it on linq /
Thanks for Serenity. It's great !!

We use Dapper, please see its samples.


Any plans to update to TensorFlow 2 C API?

With support for PluggableDevice?
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/c/c_api.h

Check out this fork:
https://github.com/glopesdev/TensorFlowSharp/tree/develop


Non-standard belongsToMany joins on 'id' instead of overwritten field.

I'm not sure if this is an issue on Laravel 5.2.x, however in version  5.1.34, on Eloquent, non standard relationship keys in the belongsToMany relationship doesn't work as expected. In some cases, it's not an option to change existing field names. For example, in class Group Extends Model:
	public function users() {
		return $this->belongsToMany('\App\User','sync_user_groups','group_id','user_id')
			->withPivot('last_verified_on');
	}

Doesn't join using user_id, but id, if you run a toSql on the relationship you'll see the following:
dd($group->users()->toSql());

yields
"select * from `users` inner join `sync_user_groups` on `users`.`id` = `sync_user_groups`.`user_id` where `sync_user_groups`.`group_id` = ?"

It should join on
inner join `sync_user_groups` on `users`.`user_id` = `sync_user_groups`.`user_id`

per the documentation.

Never mind I after looking at the actual function it's locked to the primary key. Iy you run into this, just add a new model and db table with pkey of id, and the old non-standard key and make the relationship run through that model.
public function foo('\App\Foo'){
    return $this->belongsTo('\App\Foo);
}

The on class foo,
public function users() {
        return $this->belongsToMany('\App\User','sync_user_groups','group_id','user_id')
            ->withPivot('last_verified_on');
    }

And access it through
$group->foo->users;

problem solved.


bug: should use order key instead of primary key for cell based table desc of INDEX

When creating index iii_index...
https://github.com/singularity-data/risingwave/blob/292f2635881349dc1cd82b54fb90e8b7f47574fc/e2e_test/streaming/index.slt.disabled#L4-L29
dev=> explain create index iii_index on iii_mv1(v4);
                                                                                QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 StreamMaterialize { columns: [v1(hidden), v2, v3, v4, v5, v6, _row_id, _row_id#1, _row_id#2], pk_columns: [_row_id, _row_id#1, _row_id#2], order_descs: [v4, _row_id, _row_id#1, _row_id#2] }
   StreamExchange { dist: HashShard([3]) }
     StreamTableScan { table: iii_mv1, columns: [v1, v2, v3, v4, v5, v6, _row_id, _row_id#1, _row_id#2], pk_indices: [6, 7, 8] }
(3 rows)

We get a TableDesc, where pk indices are [6,7,8] and miss the order key / distribution key [3]. Note that the CellBasedTable expects the "storage primary key" or "order key" while we're providing the "stream primary key", so we fail to ensure "distribution key is a subset of (storage) primary key" here.
[src/batch/src/executor/row_seq_scan.rs:152] &seq_scan_node = RowSeqScanNode {
    table_desc: Some(
        CellBasedTableDesc {
            table_id: 1012,
            columns: [
                ColumnDesc {
                    column_type: Some(
                        DataType {
                            type_name: Int32,
                            precision: 0,
                            scale: 0,
                            is_nullable: true,
                            interval_type: Invalid,
                            field_type: [],
                        },
                    ),
                    column_id: 0,
                    name: "v1",
                    field_descs: [],
                    type_name: "",
                },
                ColumnDesc {
                    column_type: Some(
                        DataType {
                            type_name: Int32,
                            precision: 0,
                            scale: 0,
                            is_nullable: true,
                            interval_type: Invalid,
                            field_type: [],
                        },
                    ),
                    column_id: 1,
                    name: "v2",
                    field_descs: [],
                    type_name: "",
                },
                ColumnDesc {
                    column_type: Some(
                        DataType {
                            type_name: Int32,
                            precision: 0,
                            scale: 0,
                            is_nullable: true,
                            interval_type: Invalid,
                            field_type: [],
                        },
                    ),
                    column_id: 2,
                    name: "v3",
                    field_descs: [],
                    type_name: "",
                },
                ColumnDesc {
                    column_type: Some(
                        DataType {
                            type_name: Int32,
                            precision: 0,
                            scale: 0,
                            is_nullable: true,
                            interval_type: Invalid,
                            field_type: [],
                        },
                    ),
                    column_id: 3,
                    name: "v4",
                    field_descs: [],
                    type_name: "",
                },
                ColumnDesc {
                    column_type: Some(
                        DataType {
                            type_name: Int32,
                            precision: 0,
                            scale: 0,
                            is_nullable: true,
                            interval_type: Invalid,
                            field_type: [],
                        },
                    ),
                    column_id: 4,
                    name: "v5",
                    field_descs: [],
                    type_name: "",
                },
                ColumnDesc {
                    column_type: Some(
                        DataType {
                            type_name: Int32,
                            precision: 0,
                            scale: 0,
                            is_nullable: true,
                            interval_type: Invalid,
                            field_type: [],
                        },
                    ),
                    column_id: 5,
                    name: "v6",
                    field_descs: [],
                    type_name: "",
                },
                ColumnDesc {
                    column_type: Some(
                        DataType {
                            type_name: Int64,
                            precision: 0,
                            scale: 0,
                            is_nullable: true,
                            interval_type: Invalid,
                            field_type: [],
                        },
                    ),
                    column_id: 6,
                    name: "_row_id",
                    field_descs: [],
                    type_name: "",
                },
                ColumnDesc {
                    column_type: Some(
                        DataType {
                            type_name: Int64,
                            precision: 0,
                            scale: 0,
                            is_nullable: true,
                            interval_type: Invalid,
                            field_type: [],
                        },
                    ),
                    column_id: 7,
                    name: "_row_id#1",
                    field_descs: [],
                    type_name: "",
                },
                ColumnDesc {
                    column_type: Some(
                        DataType {
                            type_name: Int64,
                            precision: 0,
                            scale: 0,
                            is_nullable: true,
                            interval_type: Invalid,
                            field_type: [],
                        },
                    ),
                    column_id: 8,
                    name: "_row_id#2",
                    field_descs: [],
                    type_name: "",
                },
            ],
            order_key: [
                OrderedColumnDesc {
                    column_desc: Some(
                        ColumnDesc {
                            column_type: Some(
                                DataType {
                                    type_name: Int32,
                                    precision: 0,
                                    scale: 0,
                                    is_nullable: true,
                                    interval_type: Invalid,
                                    field_type: [],
                                },
                            ),
                            column_id: 3,
                            name: "v4",
                            field_descs: [],
                            type_name: "",
                        },
                    ),
                    order: Ascending,
                },
                OrderedColumnDesc {
                    column_desc: Some(
                        ColumnDesc {
                            column_type: Some(
                                DataType {
                                    type_name: Int64,
                                    precision: 0,
                                    scale: 0,
                                    is_nullable: true,
                                    interval_type: Invalid,
                                    field_type: [],
                                },
                            ),
                            column_id: 6,
                            name: "_row_id",
                            field_descs: [],
                            type_name: "",
                        },
                    ),
                    order: Ascending,
                },
                OrderedColumnDesc {
                    column_desc: Some(
                        ColumnDesc {
                            column_type: Some(
                                DataType {
                                    type_name: Int64,
                                    precision: 0,
                                    scale: 0,
                                    is_nullable: true,
                                    interval_type: Invalid,
                                    field_type: [],
                                },
                            ),
                            column_id: 7,
                            name: "_row_id#1",
                            field_descs: [],
                            type_name: "",
                        },
                    ),
                    order: Ascending,
                },
                OrderedColumnDesc {
                    column_desc: Some(
                        ColumnDesc {
                            column_type: Some(
                                DataType {
                                    type_name: Int64,
                                    precision: 0,
                                    scale: 0,
                                    is_nullable: true,
                                    interval_type: Invalid,
                                    field_type: [],
                                },
                            ),
                            column_id: 8,
                            name: "_row_id#2",
                            field_descs: [],
                            type_name: "",
                        },
                    ),
                    order: Ascending,
                },
            ],
            pk_indices: [
                6,
                7,
                8,
            ],
            dist_key_indices: [
                3,
            ],
        },
    ),
    column_ids: [
        0,
        2,
        3,
        4,
    ],
    scan_range: Some(
        ScanRange {
            eq_conds: [],
            lower_bound: None,
            upper_bound: None,
        },
    ),
}

I think the index things should be revisited. At the time of writing this part of code, we do not have a consistent agreement on how these keys are like. After state table is introduced, we can now get all properties of index right.
maybe related: https://github.com/singularity-data/risingwave/issues/3606

maybe related: #3606

I think reusing Materialize is okay, as long as we use the correct order key to construct the state table?

Yes. Let me see see maybe next week. But it would be better to have a vnode before key for indices, and we don’t care about order indeed. It’s like order by MV, but can be optimized.

No cell based anymore


Unexpected behavior in translations table

Hello! I have an unexpected translation behavior for non-standard use of translations in my project.
Source language in my project in en-GB, and the base language of the site is also en-GB, but administrator want to change some interface texts without editing the program code. So, we've created translations from source language to en-GB and changed some strings.

On the site the texts have changed correctly, but in the translation table the data is displayed in a strange way, which is very confusing to the administrator.

Instead of the source text, the translation is also displayed in the sourse column! And the filter of the source column works also for the translation.

I understand that such use was not foreseen by your component, but it is not prohibited by software, which means that someone can do the same as we do, and he too will be at a loss, without access to the source code.
P.S. At the moment, I have solved the problem by changing the sourceLanguage in the settings of Yii2 to "en" without "-GB".

Another solution is to use a fictional language for the source code as seen in the examples:
'sourceLanguage' => 'xx-XX', // Developer language


ENH: Add MakePoint, MakeVector, MakeIndex, MakeSize function templates

Added a templated generalization of the overloaded MakePoint,
MakeVector, MakeIndex, and MakeSize, functions from
"itkGTestTypedefsAndConstructors.h", allowing them to be more widely
used.
Placed the function templates directly in the namespace itk.

@blowekamp Do you agree that these function templates could replace the functions you wrote for "itkGTestTypedefsAndConstructors.h"? At https://github.com/InsightSoftwareConsortium/ITK/blob/v5.2.0/Modules/Core/TestKernel/include/itkGTestTypedefsAndConstructors.h

@blowekamp Do you agree that these function templates could replace the functions you wrote for "itkGTestTypedefsAndConstructors.h"? At https://github.com/InsightSoftwareConsortium/ITK/blob/v5.2.0/Modules/Core/TestKernel/include/itkGTestTypedefsAndConstructors.h

Yes, this much better and take advantage of the C+11 features that were not available when originally written. However, there are a couple concerns:

These implementations implicitly does explicit type conversion for the arguments, which might hide some unintended conversion issues?
Should these procedural methods be in sub-namespace? I believe I raised the same question with the addition of itk::WriteImage.

Having written this, the methods were originally written to provide consistent initialization between these ITK array-like data types. IMHO, it'd be "best" if there were some uniform constructions to these classes so these procedures were not needed. When compared to std::make_unique, that has some legitimate purpose to implicitly deduce the class template parameter for the procedural argument.

@blowekamp

Should these procedural methods be in sub-namespace?

In my opinion, it is appropriate to have them in the same namespace as itk::Point, itk::Vector, itk::Index, and itk::Size themselves. As they are very much like an extra set of "constructors" for those types. However, we could temporarily place them in itk::Experimental, if you like that better... do you?

Is this ready for merging?

Is this ready for merging?

Thanks for asking @dzenanz  As submitter of a PR, when I feel unconfident about a PR of mine, I mark it "draft" or "WIP". There appears no way in GitHub to explicitly approve my own PR. So if a PR of mine is not "draft" or "WIP", then I think it's ready.
So in this case, yes, I think it's ready. 😄


How to create configurations for prometheus jobs for istio

What did you do?
Created a new service monitor.
kubectl apply -f sm.yml
What did you expect to see?
    - job_name: 'istio-mesh'
      # Override the global default and scrape targets from this job every 5 seconds.
      scrape_interval: 5s

      kubernetes_sd_configs:
      - role: endpoints

      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
        action: keep
        regex: istio-system;istio-mixer;prometheus

    - job_name: 'envoy'
      # Override the global default and scrape targets from this job every 5 seconds.
      scrape_interval: 5s
      # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'.

      kubernetes_sd_configs:
      - role: endpoints

      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
        action: keep
        regex: istio-system;istio-mixer;statsd-prom

    - job_name: 'mixer'
      # Override the global default and scrape targets from this job every 5 seconds.
      scrape_interval: 5s
      # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'.

      kubernetes_sd_configs:
      - role: endpoints

      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
        action: keep
        regex: istio-system;istio-mixer;http-monitoring

    - job_name: 'pilot'
      # Override the global default and scrape targets from this job every 5 seconds.
      scrape_interval: 5s
      # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'.

      kubernetes_sd_configs:
      - role: endpoints

      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
        action: keep
        regex: istio-system;istio-pilot;http-monitoring

What did you see instead? Under which circumstances?
global:
  scrape_interval: 30s
  scrape_timeout: 10s
  evaluation_interval: 30s
scrape_configs:
- job_name: monitoring/ambassador-monitor/0
  scrape_interval: 30s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: http
  kubernetes_sd_configs:
  - api_server: null
    role: endpoints
    namespaces:
      names:
      - ambassador
  relabel_configs:
  - source_labels: [__meta_kubernetes_service_label_service]
    separator: ;
    regex: ambassador-monitor
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_endpoint_port_name]
    separator: ;
    regex: prometheus-metrics
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_namespace]
    separator: ;
    regex: (.*)
    target_label: namespace
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_pod_name]
    separator: ;
    regex: (.*)
    target_label: pod
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: service
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: job
    replacement: ${1}
    action: replace
  - separator: ;
    regex: (.*)
    target_label: endpoint
    replacement: prometheus-metrics
    action: replace
- job_name: monitoring/istio-monitor/0
  scrape_interval: 5s
  scrape_timeout: 5s
  metrics_path: /metrics
  scheme: http
  kubernetes_sd_configs:
  - api_server: null
    role: endpoints
    namespaces:
      names:
      - istio-system
  relabel_configs:
  - source_labels: [__meta_kubernetes_service_label_istio]
    separator: ;
    regex: pilot|mixer
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_endpoint_port_name]
    separator: ;
    regex: prometheus
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_namespace]
    separator: ;
    regex: (.*)
    target_label: namespace
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_pod_name]
    separator: ;
    regex: (.*)
    target_label: pod
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: service
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: job
    replacement: ${1}
    action: replace
  - separator: ;
    regex: (.*)
    target_label: endpoint
    replacement: prometheus
    action: replace
- job_name: monitoring/istio-monitor/1
  scrape_interval: 5s
  scrape_timeout: 5s
  metrics_path: /metrics
  scheme: http
  kubernetes_sd_configs:
  - api_server: null
    role: endpoints
    namespaces:
      names:
      - istio-system
  relabel_configs:
  - source_labels: [__meta_kubernetes_service_label_istio]
    separator: ;
    regex: pilot|mixer
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_endpoint_port_name]
    separator: ;
    regex: http-monitoring
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_namespace]
    separator: ;
    regex: (.*)
    target_label: namespace
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_pod_name]
    separator: ;
    regex: (.*)
    target_label: pod
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: service
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: job
    replacement: ${1}
    action: replace
  - separator: ;
    regex: (.*)
    target_label: endpoint
    replacement: http-monitoring
    action: replace
- job_name: monitoring/istio-monitor/2
  scrape_interval: 5s
  scrape_timeout: 5s
  metrics_path: /metrics
  scheme: http
  kubernetes_sd_configs:
  - api_server: null
    role: endpoints
    namespaces:
      names:
      - istio-system
  relabel_configs:
  - source_labels: [__meta_kubernetes_service_label_istio]
    separator: ;
    regex: pilot|mixer
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_endpoint_port_name]
    separator: ;
    regex: statsd-prom
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_namespace]
    separator: ;
    regex: (.*)
    target_label: namespace
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_pod_name]
    separator: ;
    regex: (.*)
    target_label: pod
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: service
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: job
    replacement: ${1}
    action: replace
  - separator: ;
    regex: (.*)
    target_label: endpoint
    replacement: statsd-prom
    action: replace

Environment
AWS

Kubernetes version information:

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-27T00:13:02Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.7", GitCommit:"b30876a5539f09684ff9fde266fda10b37738c9c", GitTreeState:"clean", BuildDate:"2018-01-16T21:52:38Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:
kops

Manifests:
sm.yml

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: istio-monitor
  namespace: monitoring
  labels:
    monitoring: services
spec:
  selector:
    matchExpressions:
      - {key: istio, operator: In, values: [pilot, mixer]}
  namespaceSelector:
    matchNames:
      - istio-system
  endpoints:
  - port: prometheus
    interval: 5s
  - port: http-monitoring
    interval: 5s
    jobLabel: istio
  - port: statsd-prom
    interval: 5s
    jobLabel: istio

I'm trying to create the jobs for istio components that act similar to the ones posted at the very top that come from Prometheus configurations from istio. I've tried various approaches, but I can't get it quite right. For example, they create FOUR jobs out of three ports with each individual job named. I can't figure out how to use ServiceMonitor configurations to approach this.

Closing this because I figured out how to use jobLabel!

@sneko did you figure out how to do it?

@kanolato nop 😢
I also tried to ask on Google Groups but never received any answer:
https://groups.google.com/d/msg/prometheus-users/U5KehNV9XUs/uiABi1C2AAAJ
If you figure out how to do that please come back here to share the solution 😀

what is in jobLabel is used by the ServiceMonitorSelector in Prometheus(Custom Resource) to select what ServiceMonitor's are in that prometheus
Prometheus
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  labels:
    prometheus: k8s
  name: k8s
  namespace: monitoring
spec:
  alerting:
    alertmanagers:
    - name: alertmanager-main
      namespace: monitoring
      port: web
  baseImage: quay.io/prometheus/prometheus
  nodeSelector:
    beta.kubernetes.io/os: linux
  replicas: 2
  resources:
    requests:
      memory: 400Mi
  ruleSelector:
    matchLabels:
      prometheus: k8s
      role: alert-rules
  serviceAccountName: prometheus-k8s
  serviceMonitorSelector:
    matchExpressions:
    - key: k8s-app
      operator: Exists
  version: v2.2.1

ServiceMonitor:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    k8s-app: kube-scheduler
  name: istio-mesh
  namespace: monitoring
spec:
  endpoints:
  - interval: 5s
    port: prometheus
  jobLabel: k8s-app
  namespaceSelector:
    matchNames:
    - istio-system
  selector:
    matchLabels:
      istio: mixer

Rendered job:
- job_name: monitoring/istio-mesh/0
  scrape_interval: 5s
  scrape_timeout: 5s
  metrics_path: /metrics
  scheme: http
  kubernetes_sd_configs:
  - api_server: null
    role: endpoints
    namespaces:
      names:
      - istio-system
  relabel_configs:
  - source_labels: [__meta_kubernetes_service_label_istio]
    separator: ;
    regex: mixer
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_endpoint_port_name]
    separator: ;
    regex: prometheus
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_namespace]
    separator: ;
    regex: (.*)
    target_label: namespace
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_pod_name]
    separator: ;
    regex: (.*)
    target_label: pod
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: service
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: job
    replacement: ${1}
    action: replace
  - source_labels: [__meta_kubernetes_service_label_k8s_app]
    separator: ;
    regex: (.+)
    target_label: job
    replacement: ${1}
    action: replace
  - separator: ;
    regex: (.*)
    target_label: endpoint
    replacement: prometheus
    action: replace

The name of the job is given by namespace / ServiceName / ?

Sorry we missed to answer your question on the mailing list.
Note that any service discovery done with role: pod does not exist today, however we would like to add it, in fact it is the longest standing issue we have: #38.
What you need to do today is when you use a ServiceMonitor you need to have the service you want to monitor behind a Kubernetes Service, and then point the ServiceMonitor's selector to select that Kubernetes Service. Then the jobLabel can be used, so that the value of that label of the Kubernetes Service is used as the Prometheus job name.

thank you for clarifying my confusion :)  @brancz

Sorry for the mega late response, but this is the configuration I used:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: istio-monitor
  namespace: monitoring
  labels:
    monitoring: services
spec:
  selector:
    matchExpressions:
      - {key: istio, operator: In, values: [pilot, mixer]}
  namespaceSelector:
    matchNames:
      - istio-system
  jobLabel: istio
  endpoints:
  - port: prometheus
    interval: 5s
  - port: http-monitoring
    interval: 5s
  - port: statsd-prom
    interval: 5s

I did some research in to how istio produces its logs and that configuration seemed to work for me.

@FuzzOli87 oh ok thanks it works yeah :) !
Note: I had to modify the official Istio dashboards since they were looking for a "Prometheus" datasource instead of the default "prometheus" one.

and thank you @brancz for clarifying the point about PodMonitor/ServiceMonitor 😃

@FuzzOli87 i had Collecting new telemetry data as istio said https://istio.io/docs/tasks/telemetry/metrics-logs/ and create serviceMonitor as you said , config prometheus/values as you said started and vim kube-prometheus/values.yaml serviceMonitorsSelector. but i cannot get the metric istio_double_request_count from prometheus ui. can you help me .thank you
# Configuration for metric instances
apiVersion: "config.istio.io/v1alpha2"
kind: metric
metadata:
  name: doublerequestcount
  namespace: istio-system
spec:
  value: "2" # count each request twice
  dimensions:
    source: source.service | "unknown"
    destination: destination.service | "unknown"
    message: '"twice the fun!"'
  monitored_resource_type: '"UNSPECIFIED"'
---
# Configuration for a Prometheus handler
apiVersion: "config.istio.io/v1alpha2"
kind: prometheus
metadata:
  name: doublehandler
  namespace: istio-system
spec:
  metrics:
  - name: double_request_count # Prometheus metric name
    instance_name: doublerequestcount.metric.istio-system # Mixer instance name (fully-qualified)
    kind: COUNTER
    label_names:
    - source
    - destination
    - message
---
# Rule to send metric instances to a Prometheus handler
apiVersion: "config.istio.io/v1alpha2"
kind: rule
metadata:
  name: doubleprom
  namespace: istio-system
spec:
  actions:
  - handler: doublehandler.prometheus
    instances:
    - doublerequestcount.metric
---
# Configuration for logentry instances
apiVersion: "config.istio.io/v1alpha2"
kind: logentry
metadata:
  name: newlog
  namespace: istio-system
spec:
  severity: '"warning"'
  timestamp: request.time
  variables:
    source: source.labels["app"] | source.service | "unknown"
    user: source.user | "unknown"
    destination: destination.labels["app"] | destination.service | "unknown"
    responseCode: response.code | 0
    responseSize: response.size | 0
    latency: response.duration | "0ms"
  monitored_resource_type: '"UNSPECIFIED"'
---
# Configuration for a stdio handler
apiVersion: "config.istio.io/v1alpha2"
kind: stdio
metadata:
  name: newhandler
  namespace: istio-system
spec:
 severity_levels:
   warning: 1 # Params.Level.WARNING
 outputAsJson: true
---
# Rule to send logentry instances to a stdio handler
apiVersion: "config.istio.io/v1alpha2"
kind: rule
metadata:
  name: newlogstdio
  namespace: istio-system
spec:
  match: "true" # match for all requests
  actions:
   - handler: newhandler.stdio
     instances:
     - newlog.logentry
---

create serviceMonitor as you said
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: istio-monitor
  namespace: monitoring
  labels:
    monitoring: services
spec:
  selector:
    matchExpressions:
      - {key: istio, operator: In, values: [pilot, mixer]}
  namespaceSelector:
    matchNames:
      - istio-system
  jobLabel: istio
  endpoints:
  - port: prometheus
    interval: 5s
  - port: http-monitoring
    interval: 5s
  - port: statsd-prom
    interval: 5s

config prometheus operator  prometheus/values.yaml
- job_name: 'istio-mesh'
      # Override the global default and scrape targets from this job every 5 seconds.
      scrape_interval: 5s

      kubernetes_sd_configs:
      - role: endpoints

      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
        action: keep
        regex: istio-system;istio-mixer;prometheus

    - job_name: 'envoy'
      # Override the global default and scrape targets from this job every 5 seconds.
      scrape_interval: 5s
      # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'.

      kubernetes_sd_configs:
      - role: endpoints

      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
        action: keep
        regex: istio-system;istio-mixer;statsd-prom

    - job_name: 'mixer'
      # Override the global default and scrape targets from this job every 5 seconds.
      scrape_interval: 5s
      # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'.

      kubernetes_sd_configs:
      - role: endpoints

      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
        action: keep
        regex: istio-system;istio-mixer;http-monitoring

    - job_name: 'pilot'
      # Override the global default and scrape targets from this job every 5 seconds.
      scrape_interval: 5s
      # metrics_path defaults to '/metrics'
      # scheme defaults to 'http'.

      kubernetes_sd_configs:
      - role: endpoints

      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
        action: keep
        regex: istio-system;istio-pilot;http-monitoring

vim kube-prometheus/values.yaml
serviceMonitorsSelector:
    matchExpressions:
    - key: app
      operator: In
      values:
      - alertmanager
      - exporter-coredns
      #- exporter-kube-controller-manager
      - exporter-kube-dns
      - exporter-kube-etcd
      #- exporter-kube-scheduler
      - exporter-kube-state
      - exporter-kubelets
      - exporter-kubernetes
      - exporter-node
      - grafana
      - prometheus
      - prometheus-operator
      - locust-monitor
      - prometheus-blackbox-exporter
      - istio-monitor

the result prometheus ui

@FuzzOli87
Can you enlighten me and explain how you knew that would work... I spent a bunch of time creating custom ServiceMonitorsusing the prometheus config in the repo https://github.com/istio/istio/blob/8daa232df6ef7cdbb2987de1187255b14e3c3989/install/kubernetes/helm/istio/charts/prometheus/templates/configmap.yaml#L118-L132 but I could never get the metrics to work.

Note: the new istio/installer comes with initial support for generating prom operator CRs. Any feedback on that config would be very welcome.


Stop scrolling when AI response reaches the top of the chat window

Please search existing issues to avoid creating duplicates: Done!  I might have missed something, though
Please test using the latest insiders build to make sure your issue has not already been implemented: Done!
Describe the feature you'd like.
When I ask Copilot a question it pretty routinely gives me a very long answer.  So long that it doesn't fit in my chat window (the panel on the left).  As it generates more and more text the starting text is pushed upwards, scrolling off the screen.  When it finishes I'm left looking at the end of Copilot's response even though I, as a human, need to start reading at the beginning of CoPilot's response.
Would it be possible to set things up so that once the text has been pushed up to the top of the chat window that the scrolling stops?  That way the start of the response is at the top of the window and I can start reading it (while Copilot keeps filling in more of it's response below, and now off-screen).
Here's an example of what I'd like to see:

However, here's the current default behavior:

https://github.com/microsoft/vscode-copilot-release/issues/138


Add support for writing to the calendar

Right now this plugin only reads from the calendar, might be nice to also add data to the calendar.

I have, thank you!


Fix no logs in stdout/stderr if uses stdoutConfig

Changes
fix #6136
used to only collect stdout and err to a file if the std{out/err}Path is specified, now add both os.std{out/err} and the std{out/err}Path to multiwriter to collect logs.
there is a full test to verify the stdoutConfig, in addition, this pr adds the verification of whether to print the log to standard output in the TestRealRunnerStdoutAndStderrPaths test
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Has Docs included if any changes are user facing
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
users can still view the output through the Pod log API if stdoutConfig.path or stderrConfig.path is specified

/kind bug

/assign @wlynch
could you please take a review?🙏

This will probably need a release-note entry 👼🏼

thanks @vdemeester , i added the release-note and marked the release-note checklist

/test pull-tekton-pipeline-integration-tests

@wlynch it would be nice if you could review this one since you changed this code last 🙏

@chengjoey thanks for this fix.
As you pointed out, there is a test for this, which was already succeeding, which unfortunately means there is full coverage for this change - it could be inadvertently broken again and the tests would not catch it. Would it be possible to add test coverage to make sure we do not lose pod logs when using stdoutConfig?

Of course, i added verification in TestRealRunnerStdoutAndStderrPaths that whether realRunner print the log to std{out/err}. Thanks for the reminder, your advice is great!

/test pull-tekton-pipeline-alpha-integration-tests

/assign

/lgtm

@chengjoey @pritidesai @jerop should this be cherry-picked in the latest LTS ? (0.41 and 0.44)

@chengjoey @pritidesai @jerop should this be cherry-picked in the latest LTS ? (0.41 and 0.44)

when i try to cherry-pick to 0.41, there are some conflicts, I manually submitted a hotfix pr, is this the correct hotfix process

/cherry-pick release-v0.44.x


Always flush responses (#1202)

#1202
cc @halter73

I actually think I prefer https://github.com/aspnet/KestrelHttpServer/commit/27049598854b8ed14ea3c68ded56404b3ae7f966. It makes HEAD responses flush the header at the same point in the app it would for GET responses. It also avoids creating new async methods.

@halter73 Ok, I'll close this in favor of your change.


dts: zynqmp: Add proper DT-based integration of On-Chip Memory

Just as the Xilinx Zynq-7000, the ZynqMP also comes with a 256 kB On-Chip Memory area.
Until now, this memory area is already properly configured for use as DMA memory when the MPU is enabled, but any use of this memory requires the use of raw pointers.
Identical to how the OCM has been integrated for the Zynq-7000, add a declaration for the ZynqMP's OCM to the device tree, so that the existing linker command file will place any data to whose declaration "__ocm_bss_section" or "__ocm_data_section" has been added there. For the OCM's DT node, the Zynq-7000's compatibility identifier "xlnx,zynq-ocm" is re-used, as it also matches the ZynqMP.
Supporting modifications:

Add a matching 'chosen' entry to the device tree of the target qemu_cortex_r5 which is based on the ZynqMP.
Remove the distinction between Zynq-7000 and ZynqMP for the GEM Ethernet driver, which until now has already been using the Zynq-7000's OCM as described above, but has been using regular memory on the ZynqMP, causing issues as soon as the MPU is enabled for the respective target.

@ibirnbaum please rebase


Introduce precommit to this repo to automatically fix style issues

Adding pre-commit hooks (https://pre-commit.com/) to this repository could reduce the need for manually fixing style issues.

I looked at the website briefly 2 days ago but have not figured out how to set it yet.


bug: Cannot pass Cow<'static, str> to component props that accept String

Problem
Cannot pass Cow<'static, str> to component props that accept String

Steps To Reproduce
Pass a Cow<'static, str> to a prop that accepts a String with #[props(into)]
Fails:

Works:

Expected behavior
Work
Environment:

Dioxus version: main branch
Rust version: latest stable
OS info: Windows
App platform: freya

This works in the current git version of dioxus if you remove the #[props(into)] attribute. #2501 makes props(into) a no-op on string properties

hah! Nice


"item constrains opaque type that is not in its signature" for rtic 2.0.0

I am trying to run the stm32f3_blinky example in Windows. However, after I change my rust toolchain to nightly, there will be the following error:
error: item constrains opaque type that is not in its signature
--> src\main.rs:14:1
|
14 | #[app(device = stm32f3xx_hal::pac, peripherals = true, dispatchers = [SPI1])]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this item must mention the opaque type in its signature in order to be able to register hidden types
note: this item must mention the opaque type in its signature in order to be able to register hidden types
--> src\main.rs:14:1
|
14 | #[app(device = stm32f3xx_hal::pac, peripherals = true, dispatchers = [SPI1])]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: this error originates in the attribute macro app (in Nightly builds, run with -Z macro-backtrace for more info)
error: could not compile stm32f3-blinky (bin "stm32f3-blinky") due to previous error

I just hit this same issue; while I haven't had time to track it down to a specific commit or feature in nightly, I did confirm that nightly-2023-07-08 works while nightly-2023-07-09 is broken.

This issue was discussed in depth during this week's meeting. @korken89 will investigate further
Start of discussion:
https://matrix.to/#/!yafYEipFNsXDdwiHMT:matrix.org/$FuzFTd8VcVaMtzNr2F8j8Ni3whBEjWtf27ym1zM9Yj0?via=matrix.org&via=kde.org&via=tchncs.de


Adds ariaRowcount to virtualized tables in SchemaCompare options

Adds ariaRowcount to virtualized tables in SchemaCompare options
Addresses #6697

Thanks for fixing this!


Secure message exchanges for application

[x] Use certificate to secure connection to the broker

[x] MQTTS
[x] WSS

GIVEN the public root CA that signed the certificate of the message broker was provisioned
AND the message broker hostname's was discovered
AND the message broker was configured to only accept secure connections
WHEN I establish a connection using the certificate
THEN the connection will succeed
AND I will be able to subscribe and publish

Configuration to use to test trust store connection
[mqtt]
host="test.mosquitto.org"
port=8886
client_id="com_orange_its-client"
use_tls=true
use_websocket=false


AdminToolbox.FortiWizard - New-Formtunnel - NATVPN firewall wrong

Environment
new-formtunnel -VPNFormPath "vpn.xlsx" -TunnelType P2PNAT | out-file "vpn.conf"
Describe the bug
Fields are not being properly filled in for interfaces, addresses, and poolname on the firewall policies. Need to find out if formtunnel function is pulling the wrong field and/or if the related functions are improperly converting the output.
Additional context
This may also effect dialupnat as well. Need to test each and resolve this.

New-P2PTunnelNat function required the following changes to to resolve issues with variable types when only one local CIDR was included. This resolves the variable not being treated as a string array in that scenario.
# How it was
[int]$max = $LocalAddressCIDRs.Count
$FirewallPolicy = for ($i = 0; $i -lt $max; $i++) {
    $params = @{
        TunnelName               = $TunnelName + " $i"
        SourceInterfaceName = $LANInterface
        SourceAddress           = $script:LocalAddressObjects.name[$i]
        DestinationAddress    = $RemoteGroupName
        service                        = $svcgroupname
        IPPoolName               = $IPPoolObjects.IPPoolName[$i]
        Vipname                    = $VIPObjects.VIPName[$i]
    }
    New-FirewallPolicyTunnelNAT @params
}

# The Fix
[int]$max = $LocalAddressCIDRs.Count
$FirewallPolicy = for ($i = 0; $i -lt $max; $i++) {
    [string[]]$sa = $script:LocalAddressObjects.name
    [string[]]$ipp = $IPPoolObjects.IPPoolName
    [string[]]$vipn = $VIPObjects.VIPName
    $params = @{
        TunnelName               = $TunnelName
        SourceInterfaceName = $LANInterface
        SourceAddress            = $sa[$i]
        DestinationAddress     = $RemoteGroupName
        service                          = $svcgroupname
        IPPoolName                 = $ipp[$i]
        Vipname                      = $vipn[$i]
    }
    New-FirewallPolicyTunnelNAT @params


Very strange CDC structure error, unexpectedly

In the last few days, since from 2.0 to the latest 2.x, then @latest, I've been getting this super strange error that I cannot, for the life of me, figure out:
Module build failed: Error: Wrong value in `CDC` structure definition (While processing preset: "/sites/x/node_modules/next/babel.js")
    at processStructure (/sites/x/node_modules/css-tree/lib/syntax/index.js:144:23)
    at createSyntax (/sites/x/node_modules/css-tree/lib/syntax/index.js:219:33)
    at Object.exports.create (/sites/x/node_modules/css-tree/lib/syntax/index.js:294:12)
    at Object.<anonymous> (/sites/x/node_modules/css-tree/lib/syntax/default.js:3:40)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Module.require (module.js:513:17)

It's happened a handful of times, though I can't quite pin down when it'll pop up — just now I was literally just adding window.thingy = thingy to a componentDidMount() method.
After removing the line I added, the error persisted, though. The only way I've found to get past it is to rm -rf node_modules and then yarn install all over again.
Does anyone have any idea what the heck this is all about? :boom:

May be it's related to a babel plugin you use. Could you have a look at the css-tree module if you are using it directly.
Try to remove it and use.

It's happened so intermittently I can't even debug it at this point, but thank you @arunoda 🙌

I had the same problem. My problem was a Array.prototype... css-tree dependence use some method that break with array extends.


The function 'slice.IndexOf' is not thread-safe

I get this information when I execute this function on different coroutines.
fatal error: concurrent map writes

goroutine 1483221 [running]:
github.com/duke-git/lancet/v2/slice.IndexOf[...]({0xc0026e2ea0, 0x6, 0x6}, {0x0, 0x0})
        .../go/pkg/mod/github.com/duke-git/lancet/v2@v2.3.3/slice/slice.go:1196 +0x54f

I get this information when I execute this function on different coroutines.
fatal error: concurrent map writes

goroutine 1483221 [running]:
github.com/duke-git/lancet/v2/slice.IndexOf[...]({0xc0026e2ea0, 0x6, 0x6}, {0x0, 0x0})
        .../go/pkg/mod/github.com/duke-git/lancet/v2@v2.3.3/slice/slice.go:1196 +0x54f

The methods of slice package are not goroutines safe and requires a lock to ensure goroutines safety.

I get this information when I execute this function on different coroutines.
fatal error: concurrent map writes

goroutine 1483221 [running]:
github.com/duke-git/lancet/v2/slice.IndexOf[...]({0xc0026e2ea0, 0x6, 0x6}, {0x0, 0x0})
        .../go/pkg/mod/github.com/duke-git/lancet/v2@v2.3.3/slice/slice.go:1196 +0x54f

The methods of slice package are not goroutines safe and requires a lock to ensure goroutines safety.

Can we change memoryHashMap and memoryHashCounter to sync.map to support concurrency ?  Looking forward to your reply.

I get this information when I execute this function on different coroutines.
fatal error: concurrent map writes

goroutine 1483221 [running]:
github.com/duke-git/lancet/v2/slice.IndexOf[...]({0xc0026e2ea0, 0x6, 0x6}, {0x0, 0x0})
        .../go/pkg/mod/github.com/duke-git/lancet/v2@v2.3.3/slice/slice.go:1196 +0x54f

The methods of slice package are not goroutines safe and requires a lock to ensure goroutines safety.

Can we change memoryHashMap and memoryHashCounter to sync.map to support concurrency ? Looking forward to your reply.

Okay, you can submit a PR to change it.

I get this information when I execute this function on different coroutines.
fatal error: concurrent map writes

goroutine 1483221 [running]:
github.com/duke-git/lancet/v2/slice.IndexOf[...]({0xc0026e2ea0, 0x6, 0x6}, {0x0, 0x0})
        .../go/pkg/mod/github.com/duke-git/lancet/v2@v2.3.3/slice/slice.go:1196 +0x54f

The methods of slice package are not goroutines safe and requires a lock to ensure goroutines safety.

Can we change memoryHashMap and memoryHashCounter to sync.map to support concurrency ? Looking forward to your reply.

Okay, you can submit a PR to change it.

I think we should evaluate the performance overhead of sync.Map and map + RWLock in here.

@cannian1 make sense, we should evaluate the performance here.

fixed in v2.3.4


How to identify unexpected disconnects.

Hi everyone.
First of all: Thanks for the amazing work on this library. I dreaded BLE on Android and this really made it a breeze.
As the title suggests, I am struggling with identifying unexpected disconnects. The documentation does not provide information on this topic as far as I can see. I also checked issues related to Disconnects and looked into the SensorTag Example. I also did not find any example / information.
I would like to be able to differentiate between disconnects happening due to actively calling the disconnect() method and disconnects happening due to other reasons, e.g. when the peripheral is shutting down.
Initially I was expecting that the disconnect() method would set the State.Disconnected().status Flag. However, when reading peripheral.state I always get Disconnected(null).
Therefore, I would highly appreciate any hints if this is possible and how it should be done.

Is this on Android?
If so, Kable should populate the Disconnected reason (assuming provided):
https://github.com/JuulLabs/kable/blob/50157a49363fb81b8eeecbd4856ead353ff7d086/kable-core/src/androidMain/kotlin/gatt/Callback.kt#L112
https://github.com/JuulLabs/kable/blob/50157a49363fb81b8eeecbd4856ead353ff7d086/kable-core/src/androidMain/kotlin/gatt/Callback.kt#L295-L306
You can enable Kable logging to get a view of the raw GATT status value that Android provided with the disconnected event.
Let me know if the GATT status that Android provided was something other than GATT_SUCCESS (0, which Kable maps to null on Disconnected state).

Hi there. Thanks for your timely response.
So for me regardless if I disconnect via the disconnect() method or by just shutting the device down, I get a null on disconnect state.
So this is what the GATT service logs when just shutting the device down:
11:01:33.308 BluetoothGatt            D  onClientConnectionState() - status=0 clientIf=16 device=deviceid 11:01:33.324                                       D  close() 11:01:33.334                                       D  unregisterApp() - mClientIf=16 11:01:33.375 Peripheral...nlined$map  D  Peripheral connection state changed: Disconnected(null)
These are the logs when the user disconnects from the device via my UI, i.e. calling the peripheral.disconnect() method.
11:04:44.579 BluetoothGatt            D  cancelOpen() - device: 74:4D:BD:77:0C:8D 11:04:44.583                                      D  onClientConnectionState() - status=0 clientIf=18 device=74:4D:BD:77:0C:8D 11:04:44.584                                      D  close() 11:04:44.586                                      D  unregisterApp() - mClientIf=18 11:04:44.588 Peripheral...nlined$map  D  Peripheral connection state changed: Disconnected(null)
The log statement: 11:04:44.588 Peripheral...nlined$map  D  Peripheral connection state changed: Disconnected(null)
is produced on any state change of the peripheral and simply logs the state. Thus, it should log any of those disconnectedConnectionStatus values you posted. However, in both cases the status is "null".
Ideally, I would like to be able e.g. call peripheral.disconnect(CONNECTION_TERMINATED_BY_USER) to distinguish this user intended case from all the other cases where the connection was disrupted unintentionally.
Anyways, I was able to work around it by updating a "expected disconnect" flag in conjunction with the disconnect() method.
Thanks for your help :)

Unfortunately, the logs you shared don't have Kable logs.
It sounds like you've gotten things resolved, but if you need further assistance, please enable Kable logging and share additional logs.


BCeID IDIM Requirements

Describe the task
You must complete the mandatory (minimum) BCeID Onboarding Deliverables before integrating with BCeID Production.
Mandatory (minimum) BCeID onboarding deliverables:

Draft BCeID use cases submitted to<EMAIL_ADDRESS>(Client responsibility – iterative process with IDIM Consulting )
o	When it comes to guiding principles for documenting BCeID use cases, we want to know WHAT BCeID data your application will use, HOW your application will access this BCeID data, WHY your application needs this BCeID data.
o	Here is a link to a generic example template you can use to populate your draft BCeID use cases: BCeID SA - Schedule A - DIAMS_KeyCloak_genericized_example.docx (sharepoint.com)
(these files are saved here in scrum team: https://bcgov.sharepoint.com/:f:/r/teams/00608-ScrumTeam/Shared Documents/Scrum Team/OBPS/BCeID?csf=1&web=1&e=7fXufq )
o	You can refer to this guide for instructions on how to populate your ‘Data Elements Shared’ table in your draft BCeID use cases: How to fill in table for BCeID Service Agreement use cases March 2018.docx (sharepoint.com)

Finalized BCeID use cases appended to the boilerplate Service Agreement (IDIM responsibility – dependent on Client submission of draft BCeID use cases )

Review & Signoff of finalized Service Agreement (Client responsibility )

Creation of Online Service Directory (OSD) entries in BCeID application as part of your audit record (Client responsibility) A   BCeID Client Manager can help with this – e.g<EMAIL_ADDRESS>.

Your BCeID Client Manager of choice for your Ministry can assist with your mandatory OSD entries in the BCeID environments you integrate with.
Your BCeID Client Manager will require the following information to populate your OSD entries:

Until you are ready for the Public to see it, this online service should not be published -

Client Profile: Ministry Name
Online Service Name:
Acronym: max 6 Characters
Contact Name: ?
Online Service Home Page URL: ?
Short Description: ?
Long Description: ?
Help Desk Telephone: ?
Help Desk Email: ?
Authentication Requirements: Business BCeID
Additional context
Does the OBPS Team have a formal ( finalized ) go-live in Production date in mind?
•	Does that ‘Technical Integration’ with BCeID Production Go-Live date differ from the formal target launch date with BCeID first_users?

We can use the use case from CIIP and adjust the wording as needed.

SLA Draft: https://bcgov.sharepoint.com/:w:/r/teams/00608-ScrumTeam/Shared Documents/Scrum Team/OBPS/BCeID/BCeID SA - Schedule A - DIAMS_KeyCloak_OBPS.docx?d=wce911e6fe6434c3cb3d9e1d2f69f1a55&csf=1&web=1&e=1qWxKv
cc @dleard @hannavovk

I'll double check the list of requirements - pretty sure we completed the checklist required before going to prod. @hannavovk


[WIP] Implement MoveIt Servo

Description
This PR configures MoveIt Servo and its affiliated controllers.
Testing
Setup:

Pull pr_ros_controllers#28 and re-build your workspace.
Launch the force-torque sensor:

Sim: ros2 run ada_feeding dummy_ft_sensor.py
Real: ros2 run forque_sensor_hardware forque_sensor_hardware

Launch MoveIt:

Sim:ros2 launch ada_moveit demo.launch.py sim:=mock
Real: ros2 launch ada_moveit demo.launch.py

Re-tare the F/T sensor: ros2 service call /wireless_ft/set_bias std_srvs/srv/SetBool "{data: true}"

Testing:

[x] Using RVIZ, generate and execute a plan. Verify it successfully executes.

[x] Sim
[x] Real

[x] Enable MoveIt Servo:

[x] Switch Controllers: ros2 service call /controller_manager/switch_controller controller_manager_msgs/srv/SwitchController "{activate_controllers: [\"jaco_arm_servo_controller\"], deactivate_controllers: [\"jaco_arm_controller\"], start_controllers: [], stop_controllers: [], strictness: 0, start_asap: false, activate_asap: false, timeout: {sec: 0, nanosec: 0}}"
[x] Toggle Servo On: ros2 service call /servo_node/start_servo std_srvs/srv/Trigger "{}"

[x] Run the keyboard teleop script: ros2 run ada_moveit ada_keyboard_teleop.py

[x] Verify that the robot moves smoothly while the keys are pressed.

[x] Cartesian Control Linear (also verify that the orientation doesn't change):

[x] Sim (NOTE: In order to see updates in sim, you need to switch the planning group back to hand and then toggle off and on the MotionPlanning element in RVIZ.)
[x] Real

[x] Cartesian Control Angular (also verify that the position doesn't change):

[x] Sim (see NOTE above)
[x] Real

[x] Joint Control:

[x] Sim (see NOTE above)
[x] Real

[x] Verify that the robot stops immediately when the keys are released.

[x] Sim (see NOTE above)
[x] Real

[x] Disable MoveIt Servo: ros2 service call /servo_node/stop_servo std_srvs/srv/Trigger "{}"
[x] Using RVIZ, generate and execute a plan. Verify it successfully executes.

[x] Sim
[x] Real

[x] Using RVIZ, generate and execute a plan. Exert a force on the F/T sensor during execution. Verify that it fails.

[x] Real

Follow-Up PR
This PR suffers from getting stuck in singularities during cartesian control. At such times, it is possible to get it out of those singularities by using joint control, but that may not always be super intuitive. Using IK instead of the inverse jacobian -- and particularly pick_ik -- seems to be able to alleviate this issue. Another approach is to modify the MoveIt Servo source here to use dampened jacobians. There should be a follow-up PR to address that.

@egordon this PR is ready to review. I'll make the IK investigation another PR so it isn't blocking your acquisition work. As of this PR, MoveIt Servo should work.


chore: remove coinmarketcap example

Currently, we’re including two examples: Petstore + Coinmarketcap
This is great for users playing around with the editor, but completely pointless for all the users just seeing a read-only spec.
I think we should remove the Coinmarketcap example. 👀 Saves 30kb only, though.
Before

After

@hanspagel im happy to merge this, I think we should really be doing URL based imports to save on bundle size for openapi examples :)
so this can be the step in that direction ✨


Question: How to save a dataset?

Hi  @keijiro, thank you for the great project.
I am currently using this project to do research on mouth movements.
My question is: I would like to save my mouth movements as a dataset using this project.
I would like to know if it is possible to do that.
I am waiting for your reply. Thank you in advance.

You can read the raw mesh data using GetData.
https://github.com/keijiro/FaceMeshBarracuda/blob/main/Assets/FaceMesh/Script/FacePipeline_Public.cs#L15


AndrewMultilingualNeural en-US says the wrong word when only one word to speech.

for example:
The word 'abandon', the voice like you cut off the letter a. He just said 'bandon'.
The problem occurs when you use AndrewMultilingualNeural, en-US, and only one word.
This just happened by this time. I'm sure that It is correct before.
Do you guys have the same problem?
I am waiting for your answer. Thanks.
I tried speech studio and java SDK.
speech studio version: 1.1
java SDK below.
       <dependency>
            <groupId>com.microsoft.cognitiveservices.speech</groupId>
            <artifactId>client-sdk</artifactId>
            <version>1.35.0</version>
        </dependency>

<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xml:lang='en-US'>
        <voice name='en-US-AndrewMultilingualNeural'>
                <lang xml:lang='en-US'>
                        <prosody rate='-22.0%'>
                                 abandon
                        </prosody>
                </lang>
        </voice>
</speak>

Does someone know hot to fix this issue? Please.

I've made a video about the issue.
https://tingxie100-1317670271.cos.ap-shanghai.myqcloud.com/test/abandon错误发音视频录制.mp4

@yulin-li can you please take a look at this?

@yangman92
I will wait to se what our TTS team has to say about this issue, but in the meantime.
But I see you are already using SSML in your example, so I will suggest this as a possible workaround to the bad pronunciation of short utterances.  You can use the SSML Pronunciation tag to explicitly tell the TTS voice how you would like the word to be pronounced.
https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-synthesis-markup-pronunciation
For example:

 abandon

@Kerry-LinZhang could you help to triage?

Hi @yangman92 Thanks and well received for the feedback, let me track with owner about it and keep you updated for the progress.

Hi @yangman92 Here is the workaround to quick fix this problem, you can add a dot after the word, like:  abandon.
We will investigate the problem at the same time.

[    abandon.    ](http://stcvm-h84:8081/Waves/AndrewMultilingualNeural(skyman)_638476670342043616.wav)

Hi @Kerry-LinZhang Tanks for your reply. The method add a dot after the word doesn't work with other voiceId.
EmmaMultilingualNeural . like some word (activity. accord. accordance. act. activity. affair. apparent. )
That is what my problem here also.
[https://learn.microsoft.com/en-us/answers/questions/1621198/andrewmultilingualneural-en-us-says-the-wrong-word]
I'm waiting for your answer.

Hi @yangman92 well noted, we are continue investigating on this, I will keep you updated for the progress.

Hi @yangman92 we have found solution to deal with the problem, and the release for the fix is ongoing, would you mind telling us the voices and regions you are using, and once it has been released on it in the following week, I will notify you here for a try.

Hi @Kerry-LinZhang
What regions I've been using are 'east asia', 'japan east', 'korea central'.
What voices I've been using are 'AndrewMultilingualNeural' (It worked. I tried many words. It did good job.) , 'EmmaMultilingualNeural' (did not work with some word. activity. accord. accordance. act. activity. affair. apparent.).
I tested many voices and some of them didn't work (one word speech. add a dot after the word) are 'EmmaMultilingualNeural', 'Emma', 'BrianMultilingualNeural', 'Brian'.

Well received, thanks @yangman92 , let me keep you posted for the releasing progress to fully address the issue.

Hi @yangman92 The problem has been fixed on AndrewMultilingualNeural now, please have a try.
And our newly trained model can fix the problem with EmmaMultilingualNeural, but it needs longer release time, I will continue tracking it, if there is any concern, please feel free to let me know.

@Kerry-LinZhang Thanks for your support. 😄

Hi @yangman92 we found the new model has regression in certain domains, and another new model is under evaluation which will be finished before June 10th. If the quality is fine, we will release it by July, would you mind waiting for it, thanks again for your understanding!

@Kerry-LinZhang Thanks, Please let me know If the new version is released.

@Kerry-LinZhang Has the issue been solved?

Hi @yangman92 sorry for the late response, yes, this has been resolved with our newly updated model, please have a try

@LinZhang-Support OK, I got it. I'll be waiting for the update.


Enable external_predictions for short model in benchmarks

Description
This pull request adds an optional input arguments fit_args to the function sensitivity_benchmark in the class DoubleML. Most importantly, this addition will enable the usage of external_predictions when fitting short models for sensitivity analysis.
The new argument has to be in a nested dictionary like this:
dataset = dml.DoubleMLData(
    df,
    y_col='y',
    d_col='d',
    x_cols=cov_cols,
    force_all_x_finite=False,
)

dml_irm = dml.DoubleMLIRM(
    dataset,
    ml_g=RandomForestRegressor(), #dummy learner only
    ml_l=RandomForestClassifier(),
)

# Some user-specific codes to calculate external_predictions and put in the following columns
# df['d_prop'] df['y_pred_d0'] df['y_pred_d1']

bm = dml_irm.sensitivity_benchmark(
    benchmarking_set=['covariate_to_be_tested'],
    fit_args=dict(
        external_predictions=(
            d=dict(
                ml_m=df['d_prop'].to_numpy().reshape(-1,1),
                ml_g0=df['y_pred_d0'].to_numpy().reshape(-1,1),
                ml_g1=df['y_pred_d1'].to_numpy().reshape(-1,1),
            ),
        ),
    ),
)

Reference to Issues or PRs
No related issues or PRs to my knowledge.
PR Checklist
Please fill out this PR checklist (see our contributing guidelines for details).

[x] The title of the pull request summarizes the changes made.
[x] The PR contains a detailed description of all changes and additions.
[x] References to related issues or PRs are added.
[x] The code passes all (unit) tests.
[x] Enhancements or new feature are equipped with unit tests.
[x] The changes adhere to the PEP8 standards.

Thanks @lucien1011. I really like this addition.
Maybe you can change the default value to None (to avoid mutatable defaults).
And a small unit test would also be great.  Maybe add a small comparison to compare the external predictions to fitted learners (as in https://github.com/DoubleML/doubleml-for-py/blob/main/doubleml/plm/tests/test_plr_external_predictions.py) to https://github.com/DoubleML/doubleml-for-py/blob/main/doubleml/tests/test_sensitivity.py
Further, a unit test for exceptions of input arguments in https://github.com/DoubleML/doubleml-for-py/blob/main/doubleml/tests/test_exceptions_ext_preds.py would be nice.

@SvenKlaassen Thanks for the comments. I will implement those accordingly and update this PR.

@SvenKlaassen I have updated the PR with the following three items:

Change the default value of fit_args to be None
Added a unit test to test the type of fit_args (it must be a dictionary)
Added a unit test to test the values of delta_theta with and without external_predictions.

I will check the coverage on a different branch and then merge into main


Added 64-bit support for CUDA Calls.

IREE Compiler was converting 64-bit datatype to 32-bit and to support that several CUDA function calls were converted to 32-bit FP (float). This patch will reverse this and allow 64-bit datatype (double).

This still fails at IREE head with INTERNAL; import function signature mismatch between module and source cudnn; expected 0rfrfi_r but got 0rFrFi_r; resolving module 'module' imports; creating VM context; creating run context, what the PR that fixes the problem on IREE side?

This still fails at IREE head with INTERNAL; import function signature mismatch between module and source cudnn; expected 0rfrfi_r but got 0rFrFi_r; resolving module 'module' imports; creating VM context; creating run context, what the PR that fixes the problem on IREE side?

https://github.com/openxla/iree/pull/14114


GH-38648: [Java] Regenerate Flatbuffers

Rationale for this change
Regenerate the Flatbuffers to include new formats. Flatbuffers are always forwards/backwards compatible as long as the code is generated from the same flatc compiler version.
What changes are included in this PR?

Flatbuffers regenerated with flatc v1.12.0

Are these changes tested?
Yes, via unit tests.
Are there any user-facing changes?
Yes, RecordBatch.java was modified.

Closes: #38648

@github-actions crossbow submit java

The Java Jar failures on Mac exists on main. Here is the first failure from 3 days ago: https://github.com/ursacomputing/crossbow/actions/runs/6795651621/job/18474132638
I'll file a separate issue for this.

FYI, for C++/Go, we are using flatc version 23.5.26 (the latest tag) since https://github.com/apache/arrow/pull/38192


chore: merge substratools

Companion PRs

Doc: https://github.com/Substra/substra-documentation/pull/442
CI: https://github.com/owkin/substra-ci/pull/176
SubstraFL: https://github.com/Substra/substrafl/pull/255
Tests: https://github.com/Substra/substra-tests/pull/396

Closes FL-1743

Abort the mission


⚠ RPC server - xDai has degraded performance

In 6eab1c5, RPC server - xDai ($XDAI_RPC_URL) experienced degraded performance:

HTTP code: 200
Response time: 404 ms

Resolved: RPC server - xDai performance has improved in e18a651 after 1 hour, 20 minutes.