When calling $compile on a code containing dirPagination, registered pagination-id is not found

I'm dynamically pulling in HTML code and running it through $compile after adding it to my DOM and everything seems to be working except that I'm now getting the following error message: pagination directive: the itemsPerPage id argument (id: locations) does not match a registered pagination-id
It appears that the dir-paginate directive is getting compiled before the dir-pagination-controls directive and is therefore unable to find the registered pagination-id.  How do I get around this?

Here is a simple plunkr demonstrating the problem.
The same data set is pulled in two times (on top: not working, and on bottom: working)
http://plnkr.co/edit/t7YNiM

Hi,
The way the directive itself works involved dynamically calling $compile() after doing some manipulation - adding an ngRepeat directive etc. I can imagine there is some conflict arising perhaps to do with the order of execution of the calls to $compile.
In your plunk I do not see the error you reported above - I get uncaught Error: [$compile:ctreq] Controller 'ngInclude', required by directive 'ngInclude', can't be found!.
I can't say when I'll be able to put in some time to investigating this - I have limited free time to work on issues here at the moment. I will label it as a bug to fix though.

I may have accidentally updated that plunkr since then with other attempts
to get this working...I intended to create a new plunkr with updates.  If
you find out another way I can inject the code dynamically, please let me
know.
Thanks.
On Tuesday, December 1, 2015, Michael Bromley<EMAIL_ADDRESS>wrote:

Hi,
The way the directive itself works involved dynamically calling $compile()
after doing some manipulation - adding an ngRepeat directive etc. I can
imagine there is some conflict arising perhaps to do with the order of
execution of the calls to $compile.
In your plunk I do not see the error you reported above - I get uncaught
Error: [$compile:ctreq] Controller 'ngInclude', required by directive
'ngInclude', can't be found!.
I can't say when I'll be able to put in some time to investigating this -
I have limited free time to work on issues here at the moment. I will label
it as a bug to fix though.
—
Reply to this email directly or view it on GitHub
https://github.com/michaelbromley/angularUtils/issues/269#issuecomment-161072810
.

I figured out a solution by editing dirPagination.js (see: http://plnkr.co/edit/KOzZGt)
If I modify line #236 as follows, then it works to dynamically inject the content.
var paginationId = scope.paginationId || attrs.paginationId ||  DEFAULT_ID;
...to...
var paginationId = attrs.paginationId ||  DEFAULT_ID;
Are there side effects that this will have that I'm nor aware of?

Ok, thanks.  I suspect that there is a specific reason why I wrote it that way, but perhaps it covers a case you don't need. I'll run it through the test suite when I get time and see what happens.
Thanks for sharing your fix, that's very helpful in the mean time.

Hi,
Finally got round to looking at this again. Making your suggested change and running through the tests, I get a failure of this test
dirPagination directive dynamic pagination ids should allow independent pagination FAILED
	Expected [ '1', '2', '3' ] to equal [ '4', '5' ].

So it's not viable for me to make that change in the source.

I believe this is causing a problem I'm having with using this package with angular-ui-router. I'm able to reproduce it like this:

Hit a page with the pagination directive. It works fine.
Navigate to a different angular-ui-router state which also contains the directive (without reloading the entire page)
It breaks

I have limited time on this project so I can't look into a fix right now, sorry :frowning: Any ideas what a change might be that could fix it?

We have the same problem in our project. We used more than 1 pagination in the same page, and this is being dynamically loaded (according to the number passed by the user).
The scope in "dirPaginationCompileFn" is not accessible. So, when the pagination-id is dynamically passed, it can't evaluate "$parse(attrs.paginationId)(scope)"


EMPTY aquatone_urls.txt

The output file aquatone_urls.txt is empty.
Everything else looks fine.

Hi @xavupkt, I will check this soon, when I switch to my ubuntu system

@xavupkt I believe the root cause is that my aquatone disables --save-body by default. Enable it to can save URLs

I am closing this now! If you have any idea for a feature, tell me😉


Retry logic for paginator actions, and RequestLimitExceeded exceptions

Hi,
Relatively new to Cloud Custodian. We're using <IP_ADDRESS>, and deploying controls as lambdas in AWS, triggering off cloudtrail events. I've searched for this issue already and haven't seen anything similar so posting here.
What we occasionally see, is that lambdas trigger off events, receive a resource id from the event body correctly but then fail to lookup the resource (even though the resource is there). The lambda then continues (does not fail) and finishes successfully:
eg looking a log in CloudWatch i would see:
Processing event {}
..
Found resource ids: [u']
Resources[] .  <-- ie no resource looked up, even though the resource is there.
After spending a bit of time debugging around utils.py and query.py, what seems to happen is that calls from CloudCustodian are hitting api resource limits (say, Client.RequestLimitExceeded) in our account but not handling it as I would have expected:
example:
<ec2.py> EC2
An EC2 object is initialised and makes a call to retry for a DescribeInstances operation
<query.py> ResourceQuery._invoke_client_enum
An 'enum_op' is passed in, which can be paginated (DescribeInstances). A paginator is successfully created and the output of the paginate operation is sent to the pager function.
<query.py> ResourceQuery.pager
'page = retry(next, iterator)' called. The first time 'next' is executed with Utils._retry it fails with a Client.RequestLimitExceeded. The logic inside the retry function correctly catches and triggers a retry. However the next call to 'next' throws a StopIteration exception, this is caught back in 'pager' presumably as a sign there are no more results to iterate over, and the functions all return, but with no resources.
If i replay the event through the lambda, when the account is quiet, then it works as expected.
Is this something people have seen before or have solutions for? Or am I missing something here. I would have expected that given retry(..) is effectively called twice (once for the initial paginate call, and then secondly for iterator.next()) that we'd want to make the first retry(..) kick in again and redo the pagination operation.
thanks for any help
nic

Thanks for stepping through this, i'll try and dig deeper, the retry logic is against the botocore.pagination logic, the logic was that the behavior there was to raise without updating internal bookeeping data structures they have, which allowed the c7n pager / retry logic to catch and retry in place.

Thanks for the quick turn around, confirming the issue! I'll pull down the fix as well and test.

I've been testing with a patched version of CC today (I took the new versions of shield.py and query.py). Whilst I've been struggling to hit the API limits, when I did i managed to get a different outcome than prior to the patch - the exception is handled more gracefully now but it still seems to only  do one call into retry(..) instead of multiple. I get now:
[WARNING]   event ids not resolved : [u/]  error: An error occurred  (RequestLimitExceeded) when calling the DescribeSnapShots operation(reached max retries : 4) Request limit exceeded.
From the debug i had within utils.retry(..), i know its only been called once. I'll continue to test but just wanted to flag this up as a possibility.

hmm.. i'm curious what your seeing, i added a unit test to validate the retry is done in the previous pr (which is in the latest release as well), but two things to keep in mind here, retry is finite, we will eventually stop and give up. second, custodian is retrying on top of the sdk baseline configuration (which has a separate retry builtin). there is only one call into to retry, as on exit from there, we either have a result or have exhausted all retries.

Apologies for the delay.
So this is what i had to do to get the fix to fully work:  in query.py _invoke_client_enum(..):
 results = p.paginate(**params)    if retry           p.PAGE_ITERATOR_CLS = RetryPageIterator
Inside the paginate call is where the PAGE_ITERATOR_CLS is set/returned. So setting it after the paginate call meant it didn't get used.  When i changed it to:
` if retry
p.PAGE_ITERATOR_CLS = RetryPageIterator
results = p.paginate(**params)`
Then the retry functionality inside RetryPageIterator was enabled and it worked fine (for me at least!)

aha, thanks, just ended up debugging this today, and noticed the same thing.


Setup bundle upload step in workflow

YOLO test!

YOLO test!

ah yes, industry standard software engineering practices

It worked, so I guess it was better than industry standard :P


BUG: linprog, with highs is killed by the OOM killer when called with dense and large matrices

Describe your issue.
Hi,
I have a bug when using the highs linprog solver with the code below.
The script is killed by the OOM killer. The problem arises when calling csc_matrix, which itself builds a coo_matrix, which calls the nonzeros method which is supposed to return the indices of non zero (far too many in this dense case).
Is it necessary to call csc_matrix here? It seems very inefficient for dense matrices.
If such a transformation is necessary, it would be better that the code returns a python error to handle the problem correctly.
Reproducing Code Example
from scipy.optimize import linprog
import numpy as np
np.random.seed(0)
n_ctr = 500000
n_var = 500
c_ = np.ones(n_var)
A_ub = np.random.random((n_ctr, n_var))
b_ub = np.zeros((n_ctr, ))

res = linprog(c_, A_ub=A_ub, b_ub=b_ub, method='highs-ds', bounds=(0, None), options={'disp': True})

print('End')

Error message
150075 killed     python highs.py

SciPy/NumPy/Python version information
scipy==1.7.3, numpy==1.22.2, python==3.8.10

@mckib2, is there a different interface for dense matrices or other sparse matrix formats? (I'm not aware of one.)
@brunorigal does method='interior-point' fare any better here? (We were deprecating it, but I wonder if this would be a reason to keep it around.)

@mckib2, is there a different interface for dense matrices or other sparse matrix formats? (I'm not aware of one.)

No, HIGHS will always expect a sparse constraint matrix here.  Is there potentially a better/more direct way to get to a csc_matrix on the Python end that would accommodate these kinds of large, dense matrices?  All HiGHS needs are the 3 arrays: indices, indptr, and data

On the same script the interior point method raises an _ArrayMemoryError error, which is better.

OK so @brunorigal we ultimately need a csc_matrix representation, so it is reasonable to call csc_matrix. Is the failure actually happening during the call to csc_matrix? (In that case, I think the question of how best to convert from dense to CSC matrix would be a sparse.linalg issue, not an optimize issue.)

What about something like this specially for dense matrices:
n_ctr, n_var = A.shape
A_indptr = (np.arange(n_ctr+1)*n_var).astype(np.int32)
A_indices =  (np.meshgrid(np.arange(n_ctr), np.arange(n_var))[0].reshape(-1)).astype(np.int32)
A_data = A.reshape(-1, order='F')

res = _highs_wrapper(c, A_indptr, A_indices, A_data, lhs, rhs, lb, ub, options)

in replacement for A = csc_matrix(A)
I checked it yields the same results than csc_matrix on this problem. However, the same problem is then observed in the highs wrapper.

in replacement for

But why would the code go in optimize and not in sparse.csc_matrix itself? It sounds like the problem was experienced in the context of using linprog, but is it very unlikely to be a problem in other contexts?

However, the same problem is then observed in the highs wrapper.

Which problem, specifically? "The script is killed by the OOM killer"?

I guess you are right, it could be a part of the csc_matrix function.
The "same problem" does refer to the OOM killer (it would then be a problem for the highs team).

Ok, I'll add the sparse label.
@mckib2 it sounds like if this gets past csc_matrix, HiGHS should fail more gracefully.

The "same problem" does refer to the OOM killer (it would then be a problem for the highs team).

Looking into this a little more, HiGHS underneath relies on std::vector which does not support copy-less assignment from C arrays.  Even the C interface incurs copies when initializing.
The stack overflow answer above suggests that a custom allocator could be used that simply "reuses" the array allocation for the vector, but it's not clear to me currently how well Cython supports custom C++ allocators/deleters.

HiGHS should fail more gracefully

By checking size of matrices and available memory?  I'm not sure that's necessary or desirable, it seems standard to let the user try even to the point of crashing.  What would we consider the "correct" behavior for the HiGHS wrapper?

I do agree that checking the size of matrices is perhaps not the best solution. However, it would be desirable that the code fail with a python error instead of crashing python.

@mckib2 is it possible for a Python error to be raised like NumPy's ArrayMemoryError?

@mckib2 quick question here: is it possible for a Python error to be raised like NumPy's ArrayMemoryError?

By checking size of matrices and available memory? I'm not sure that's necessary or desirable, it seems standard to let the user try even to the point of crashing.

Crashing is always a bug. I see slightly more verbose output with the reproducer in the issue description, but that should be considered a bug:
Running HiGHS 1.2.0 [date: 2021-07-09, git hash: n/a]
Copyright (c) 2022 ERGO-Code under MIT licence terms
Presolving model
terminate called after throwing an instance of 'std::length_error'
  what():  vector::_M_default_append
Aborted (core dumped)

What would we consider the "correct" behavior for the HiGHS wrapper?

It can't be fixed in the wrapper if it's crashing in HiGHS itself. Looking at how memory allocations in HiGHS, there is a random mix of usages of malloc, new and make_unique, and the malloc instances seem unprotected by checks for a null return value.
It seems to be like the HiGHS code should be audited for all memory allocations and improved, and once that is done it's probably a matter of catching std::bad_alloc in the Cython wrapper and converting that into a Python exception.

can this be closed again @HaoZeke ?

can this be closed again @HaoZeke ?

As far as upstream is concerned (which we now track with #21565), yes (https://github.com/ERGO-Code/HiGHS/pull/1467#issuecomment-2352340825). I think it should stay open until a testcase is added for this within SciPy though.

I'd prefer to just close this unless we have a specific reason to assume that the reproducer in this issue is more likely to re-occur than other memory management issues in HiGHS. Tests like these are often expensive to run, prone to failure on low-memory systems, and don't add much value.

Two thumbs up - closing.


lit-html 1.2.0 Release Plan

1.2.0 Release Plan
Release Plan that outlines the focused tasks for lit-html 1.2.0.
Milestone
Notable Changes

Enhancements

[x] Add templateContent() directive
[x] Add unsafeSVG for rendering SVG snippets
[x] Add live() directive
[x] Add sanitization system for preventing XSS attacks

Bug Fixes

[x] classMap directive does not work with SVG
[x] Support namespaced attributes

Infrastructure

[ ] Port docs site to eleventy
[ ] Long Build Time for Docs

Documentation

[ ] Document live() directive
[ ] Document templateContent() directive
[ ] Document unsafeSVG() directive
[ ] Document sanitization hooks (minimally)

Release Process

[ ] Run Google Internal Tests
[ ] 1.2.0 Release Notes
[ ] Verify 1.2.0 CHANGELOG

@nicolejadeyee All the PRs/issues in "infrastructure" and "Documentation" have been merged/closed. I guess the next step is the internal google tests?

Would it be possible to get a 1.2.0-alpha build deployed to npm? I'd really like to use unsafeSVG in a project I'm working on, but I need to alias lit-html when I install it so it doesn't collide with my lit-element dependency. I can only npm alias with registry packages, I can't alias a repo pointer.
I can fork and publish something myself, but I thought I'd ask.

@kevinmpowell Sorry I didn't get back to you. We published 1.2.0 yesterday.


[CELEBORN-448][FOLLOWUP] HeartbeatFromApplicationResponse should include manually excluded workers

What changes were proposed in this pull request?
Fix HeartbeatFromApplicationResponse does not include manually excluded workers.
Why are the changes needed?
HeartbeatFromApplicationResponse should include manually excluded workers, otherwise WorkerStatusTracker misses the manually excluded workers.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Local test and GA.

Merged into main(v0.5.0) and branch-0.4(v0.4.1).


Add a link to the closure customization page

To be able to use the getOptionLabelFromRecordUsing method it's good to understand how closures work in Filament.

I'm actually not sure if we should add this.
There's a lot of places that would require adding this to be consistent which would also bloat the docs.
What do you think, @danharrin?
Same thing for https://github.com/filamentphp/filament/pull/5689/files.

I agree, getOptionLabelFromRecordUsing() doesn't actually use strict closure customisation either, we manually pass in the record based on the option that is being rendered. Usually the record is associated with the form itself, so this behaviour could be confusing.


Table PDF is generated as  prisma.pDF.findMany

Problem
The prisma generate command creates a weird prisma property name for tables whose name starts with multiple uppercase letters.
Suggested solution
If the second letter in the table name is also uppercase, keep the first letter uppercase too.
Alternatives
Rename all of it to lowercase, not necessarily nice.
Additional context
Table PDF generates as pDF, using it then looks like this: prisma.pDF.findMany(...)

Prisma currently lowercases the first letter of each model in Prisma Client. If that is awkward, for now we indeed suggest you lowercase the whole model name in your Prisma schema already.

@janpio  Is this something I could do as PR and have a chance at it being merged?

No chance of this being merged, no. Not lowercasing would also change prisma.team to prisma.Team if the model is capitalized, which is very common.

I want to not lowercase the name only if the second letter of the model name is uppercased too.
Example:
team => team
Team => team
TEAM => TEAM

pdfHeader => pdfHeader
PDFHeader => PDFHeader

That would avoid the most common cases, but most probably still lead to unwanted changes for some users - similar to how they current behavior also leads to unwanted lowercasing for some users.
Sorry.


raft-cowsql: 0.19.1 -> 0.21.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for raft-cowsql is: Asynchronous C implementation of the Raft consensus protocol
meta.homepage for raft-cowsql is: https://github.com/cowsql/raft
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.20.0 with grep in /nix/store/wzhv32v0p6hgy300l71vb12pfm3nyl91-raft-cowsql-0.20.0-dev
found 0.20.0 in filename of file in /nix/store/wzhv32v0p6hgy300l71vb12pfm3nyl91-raft-cowsql-0.20.0-dev

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath
cowsql
incus
incus-unwrapped
raft-cowsql

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wzhv32v0p6hgy300l71vb12pfm3nyl91-raft-cowsql-0.20.0-dev \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A raft-cowsql https://github.com/r-ryantm/nixpkgs/archive/08a39965d045995d764fa189741e31a20525d204.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/08a39965d045995d764fa189741e31a20525d204#raft-cowsql

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wzhv32v0p6hgy300l71vb12pfm3nyl91-raft-cowsql-0.20.0-dev
ls -la /nix/store/wzhv32v0p6hgy300l71vb12pfm3nyl91-raft-cowsql-0.20.0-dev/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

6 packages built:

cowsql
cowsql.dev
incus
incus-unwrapped
raft-cowsql
raft-cowsql.dev

Maintainer pings
cc @aanderse @adamcstephens @jnsgruk @megheaiulian @mkg20001 for testing.

Tests are failing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for raft-cowsql is: Asynchronous C implementation of the Raft consensus protocol
meta.homepage for raft-cowsql is: https://github.com/cowsql/raft
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.21.0 with grep in /nix/store/gqnx39ngaxfkdwblaqrcvls0j4rndbrw-raft-cowsql-0.21.0-dev
found 0.21.0 in filename of file in /nix/store/gqnx39ngaxfkdwblaqrcvls0j4rndbrw-raft-cowsql-0.21.0-dev

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath
cowsql
incus
incus-unwrapped
raft-cowsql

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/gqnx39ngaxfkdwblaqrcvls0j4rndbrw-raft-cowsql-0.21.0-dev \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A raft-cowsql https://github.com/r-ryantm/nixpkgs/archive/efdcfdc5fc47bfabfee87602d43f5ea8c2703afe.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/efdcfdc5fc47bfabfee87602d43f5ea8c2703afe#raft-cowsql

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/gqnx39ngaxfkdwblaqrcvls0j4rndbrw-raft-cowsql-0.21.0-dev
ls -la /nix/store/gqnx39ngaxfkdwblaqrcvls0j4rndbrw-raft-cowsql-0.21.0-dev/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

cowsql
incus
incus-unwrapped
raft-cowsql

Maintainer pings
cc @aanderse @adamcstephens @jnsgruk @megheaiulian @mkg20001 for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for raft-cowsql is: Asynchronous C implementation of the Raft consensus protocol
meta.homepage for raft-cowsql is: https://github.com/cowsql/raft
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 0.22.0 with grep in /nix/store/j9xliv0jmf54in5h9grl0rhnicfawsjg-raft-cowsql-0.22.0-dev
found 0.22.0 in filename of file in /nix/store/j9xliv0jmf54in5h9grl0rhnicfawsjg-raft-cowsql-0.22.0-dev

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
cowsql
incus
raft-cowsql

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/j9xliv0jmf54in5h9grl0rhnicfawsjg-raft-cowsql-0.22.0-dev \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A raft-cowsql https://github.com/r-ryantm/nixpkgs/archive/14f30e7bfba12ab4908312469850a0b51b1bf928.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/14f30e7bfba12ab4908312469850a0b51b1bf928#raft-cowsql

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/j9xliv0jmf54in5h9grl0rhnicfawsjg-raft-cowsql-0.22.0-dev
ls -la /nix/store/j9xliv0jmf54in5h9grl0rhnicfawsjg-raft-cowsql-0.22.0-dev/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

cowsql
incus
raft-cowsql

Maintainer pings
cc @aanderse @adamcstephens @jnsgruk @megheaiulian @mkg20001 for testing.

This builds for me on both systems, I'm merging.


Dead link to Docker Hub in README.md

In the "installation" section in README.md there is a paragraph with dead link and with the mention of container which currently does not exist on Docker Hub:

For getting roadrunner binary file you can use our docker image: spiral/roadrunner:X.X.X (more information about image and tags can be found here)

It should be pushed automatically on next build.

@Veratyr Previos versions in docker available here: https://github.com/512k/roadrunner-docker

@wolfy-j Something goes wrong:

Yeah, we are going to check it. @48d90782

Any news?

Not yet. I'll dig into that problem, but a little bit later.  Great!


I want to Create a function to add header 4 syntax to a string along with a test case for this function

tested successfully


Crash Report 158941431

Link:
http://localhost:3333/sod/hunter/#eJztVE1IVFEUfufOj3eOvnre/HlzR2QaMl5DM7yZcSS1mJeLGKTFEC1cRQmGlqE0ELWLMshKmBaSuRqQUIIBEYLIRWIFugmNElsl1UIjSIvKfu3OzJthkHbZz6KzePd733fuPefcn4OcEoXosAsMEoXDMEDgLIklCIwSaNpGQYWRDDZgHmABIEZaYBT2tUMSyBRAkgCT+CdEe6zzyJm2k4pV3e0m3quAVJm7L2u3Uk60KjPjsvg+W5KxWPmWAvVKoza7whGVz+OyyrRLwokqz5dkLdXPBbr3WtaeflcFmhIouZZGL4U6nPF7IdCDDHfjo6xd7nEJ9PiNrH097xJBvkzIaFH6TgjY915GCYuUoX5Qr9mCIWpRiJYuFKKkHU4XXQRbAkgSLKMAtwFWASYAHgFxi1JtiwDLAA0PrbhApP/2W40twt9O4U/ZKyI1uSgoRBUXcQTEXYzBAIh31w7dkABodvn0cG04oOuhsB7SwwFfKFSr63owpAeDMWsLbZWOTVpUC5ahgxehjb7t0uweAdDiC8exEpFTtNORIRC0A4XgC/lDcaww3d91aNTkdX8wzjhXUfYUoyOYU/NurIpzLPVuplZGWiWeiREO13AxKD0dP1PrTPVDK7Ny0iCxndyLblad8bMXrKLXoGMM7Gild1POA+bInLwym0tWEq2Dp8c7ayor51vW06JBMFFsHqu8Yv1sEYquHGeVvLyQze8PK+EFu8XcvBrLGEPFu8ksSsxAImrKJdjMo7iHNRaGETRu8pQgjkHuNJB7VWpjjptgpsYz+x3w14bj+SPrnoJe89JrxiqBabPJUGPWRPXGPIFBkCahinFKFbtH2pFVliOBHIgSz4TFkf07ZJRmgd9wDl5P23SkPsvMRLYezdhcJJiw0PlzMqP72061dbrrdDXi/cc6nNZrbMg621O/tI7C1zYmD2HZA+seNuo7upYvTB98EtlrKkYL/ACZG8hM
RNG Seed: 309627834
Simulation Failure:
simulation failed: No random suffix with id: 611
Stack Trace:
goroutine 10090 [running]:
runtime/debug.Stack()
/opt/hostedtoolcache/go/1.21.12/x64/src/runtime/debug/stack.go:24 +0x5e
github.com/wowsims/sod/sim/core.runSim.func1()
/home/runner/work/sod/sod/sim/core/sim.go:123 +0x98
panic({0x1407060?, 0xc06be60d20?})
/opt/hostedtoolcache/go/1.21.12/x64/src/runtime/panic.go:914 +0x21f
github.com/wowsims/sod/sim/core.NewItem({_, _, , })
/home/runner/work/sod/sod/sim/core/database.go:264 +0x2f9
github.com/wowsims/sod/sim/core.NewEquipmentSet({{0x36256, 0x0, 0x0, 0x656b5}, {0x5686, 0x0, 0x0, 0x0}, {0x374df, 0x0, ...}, ...})
/home/runner/work/sod/sod/sim/core/database.go:291 +0xc6
github.com/wowsims/sod/sim/core.ProtoToEquipment()
/home/runner/work/sod/sod/sim/core/database.go:298 +0xf8
github.com/wowsims/sod/sim/core.NewCharacter(, _, _)
/home/runner/work/sod/sod/sim/core/character.go:123 +0x4ab
github.com/wowsims/sod/sim/core.NewAgent(0xc06a52b9e0?, 0x0?, 0xc044b9e100)
/home/runner/work/sod/sod/sim/core/agent.go:173 +0x112
github.com/wowsims/sod/sim/core.NewParty(0xc06c080000, 0x0, 0xc044b8bf40)
/home/runner/work/sod/sod/sim/core/raid.go:34 +0x1dc
github.com/wowsims/sod/sim/core.NewRaid(0xc044b6f900)
/home/runner/work/sod/sod/sim/core/raid.go:157 +0x1e5
github.com/wowsims/sod/sim/core.(*Environment).construct(0xc06be76000, 0xc044b6f900, 0xc044b5cf50)
/home/runner/work/sod/sod/sim/core/environment.go:73 +0x136
github.com/wowsims/sod/sim/core.NewEnvironment(0xc000394400?, 0xbb000e?, 0x48?)
/home/runner/work/sod/sod/sim/core/environment.go:54 +0x54
github.com/wowsims/sod/sim/core.NewSim(0xc044b9c900)
/home/runner/work/sod/sod/sim/core/sim.go:184 +0x25
github.com/wowsims/sod/sim/core.runSim(0xc044b9c900, 0xc06b2261e0, 0x0)
/home/runner/work/sod/sod/sim/core/sim.go:139 +0x87
github.com/wowsims/sod/sim/core.(*bulkSimRunner).getRankedResults.func2.2({0xc044b9c900?, 0xc044b800f0?, 0xc0443fd650?})
/home/runner/work/sod/sod/sim/core/bulksim.go:315 +0x6e
created by github.com/wowsims/sod/sim/core.(*bulkSimRunner).getRankedResults.func2 in goroutine 9596
/home/runner/work/sod/sod/sim/core/bulksim.go:310 +0x79
Press Ok to file crash report
EDIT 1: I manually pasted the complete traceback. The automatic crash report seemed to truncate the original
EDIT 2: It looks like this is caused by Pyremail Wristguards [of the Monkey], which I was including as an item in the Batch simulator. When I removed this from the considered items, I no longer ran into this.

Hey @mturekk 👋 this seems to be a common issue with the old batch sim. The one on SoD is currently considered not-properly functional so bugs related to it aren't really surprising


update appliance doc

Hello All,
working with customer on Azure Migrate we face with the problem "Multiple custom attributes of the same type found".
After the troubleshooting we find the problem. On the Appliance VM was installed the MMA Agent. MMA Agent is not one of the prerequisites. So is important to have a cleam VM following the prerequisites on the Microsoft Docs.
Thanks for your help

@DevOpsStyle : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@Vikram1988
Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@DevOpsStyle : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@Vikram1988  Applied the suggested fix. Thank you

@DevOpsStyle : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@Vikram1988 Can you please approve the suggested fix? If is all ok can you add **#sign-off** in a comment?
Thank you

Invalid command: '#sign-off'. Only the assigned author of one or more file in this PR can sign off. @Vikram1988

#sign-off

Learn Build status updates of commit c913875:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/migrate/migrate-appliance.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Adding the tilty effect to cards, animated cursor and customer reviews.

Describe the feature
Animated Cursor:
Adding the animated cursor to improve the scrolling and cursing effect on different pages.
Tilty Effect:
Adding the tilty efffect on home cards and open source sections.
Customer reviews:
adding the customer eview section
Add ScreenShots
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

/assign-me

Dear Contributor @happyrao78 ,
You have been assigned this issue. As you begin working on the assigned issue, please ensure that you follow the contributing guidelines closely. This will help maintain the quality and consistency of the project. If a Pull Request (PR) is not created within 5 days from the issue assignment, the issue will be reassigned. We appreciate your understanding and look forward to your valuable contribution.


Only set :autosign if the setting exists

See https://tickets.puppetlabs.com/browse/PUP-3648 for discussion. This setting is deprecated and will be removed in Puppet 6

Coverage remained the same at 91.492% when pulling 20f6aabe37ea93a6dce9826fccde84872ba0b086 on binford2k:patch-2 into 5d07c26718eebf80ef1dbbc2c5340380567c13f4 on rodjek:master.

Heh. I clearly didn't notice #717


Profiling fields not correctly escaped for CSV

The profiling plugin does not correctly escape method names (and probably script resource names) for CSV. These need to double-quote strings containing commas or double-quotes (and also backslash escape double-quotes in the value).
Example of problematic message content:
NodeProfData,Start,1448976339186
...
NodeProfData,Node,238,233,,RegExp: [,]+,0,1
...
NodeProfData,End

This affects both HealthCenter (MQTT) which send malformed CSV, and the event API which reports incorrect values for method, line number and sample count (eg: for the above, the method name would be "RegExp: [", the line number would be "]+" and sample count "0".)

we can now output the profiling data in json format, if we make this the default, we could add a fix to Health Center to parse the data from json rather than the current string

closing as data can be output in json and we are not going to modify HC.  appmetrics-dash is the method for visualising data from appmetrics and this is where any further development on profiling will go


Shows expire option in days when it is a multiple of 24 hours

Motivation: If you want to have an expire period of multiple days, it is inconvenient if they are shown as the number of hours. So we use days as a unit in that case.

Nice! Thanks

Thanks for this project! :)


fix(ci.yml): wrap version in quotation marks

The version setter should be wrapped in quotation marks " and not
apostrophies '.

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

npm package (@latest dist-tag)
v3.12.4
GitHub release

Your semantic-release bot :package::rocket:


handle uncaughtException and unhandledRejection as well

As titled, take a look at https://github.com/mcollina/close-with-grace as well.

Thanks for the review/advice!


fix: make the parameter shift example compatible with latest tq

Hello, thanks for the great work
I tried to run the parameter shift example but find the code is a bit out of date. I applied some small fixes to make it work with latest torchquantum.

SethLayer0 is not in the __all__ dict and needs to be imported from torchquantum.layer.layers
The q_device requires the batch size as an input, so it is dynamically created in forward()  to avoid shape mismatch error.

Thanks,
Yilun

HiZhaoyilunnn，
Thanks a lot for your contribution! PR Merged. Create q_device in forward() function now is the recommended usage.


Some control commands don't work for me in the terminal (Ctrl-R, Ctrl-A)

Does this issue occur when all extensions are disabled?: Yes/No
Yes

VS Code Version: 1.63.2
OS Version: macOS Monterey, 12.1

Steps to Reproduce:

Open up Visual Studio Code
Open an integrated terminal
Type Ctrl-A

You expect this to bring the terminal cursor to the beginning of the line. However, this happens instead:

Here's another command that doesn't work:

Open up Visual Studio Code
Open an integrated terminal
Type Ctrl-R

For this, literally nothing happens at all. Nothing gets inserted in the terminal. The desired result would be that bck-i-search starts, as it does in the normal terminal. However, that does not happen, either.
I've tried everything. I've disabled all my extensions. I've commented out all my user settings. I've disabled chording in the terminal. Nothing helps.
Additionally, these commands work perfectly fine on my other laptop, which is also a macbook pro with apple silicon, and I use vscode settings sync, so I'm not sure what the difference is!

the behavior you described can be resolved by enabling
terminal.integrated.sendKeybindingsToShell

I'm also on mac and Ctrl A even with that setting disabled works. What shell are you using? What are your settings?

No matter whether I set that to be true or false, I still have this issue unfortunately!
I'm using the standard macos terminal (with zsh) and even when I disable all settings in my user settings JSON file, I still have this issue.

please provide me with the logs when you run Keyboard Shortcuts Troubleshotting

Also, can you try enabling escape sequence logging and pasting in the output? This will tell us what the shell process is telling the terminal to do which will identify whether it's an issue with rendering or the process telling us the wrong thing.

Here's troubleshooting when I type Ctrl-R
[2022-01-27 16:27:44.843] [renderer3] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
[2022-01-27 16:27:44.844] [renderer3] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
[2022-01-27 16:27:44.844] [renderer3] [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
[2022-01-27 16:27:45.297] [renderer3] [info] [KeybindingService]: | Resolving ctrl+[KeyR]
[2022-01-27 16:27:45.298] [renderer3] [info] [KeybindingService]: \ No keybinding entries.
[2022-01-27 16:27:45.405] [renderer3] [info] [KeybindingService]: | Resolving ctrl+[KeyR]
[2022-01-27 16:27:45.405] [renderer3] [info] [KeybindingService]: \ No keybinding entries.
[2022-01-27 16:27:45.445] [renderer3] [info] [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.

Ctrl-A
[2022-01-27 16:28:19.033] [renderer3] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
[2022-01-27 16:28:19.033] [renderer3] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
[2022-01-27 16:28:19.033] [renderer3] [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
[2022-01-27 16:28:19.394] [renderer3] [info] [KeybindingService]: | Resolving ctrl+[KeyA]
[2022-01-27 16:28:19.395] [renderer3] [info] [KeybindingService]: \ From 2 keybinding entries, no when clauses matched the context.
[2022-01-27 16:28:19.519] [renderer3] [info] [KeybindingService]: | Resolving ctrl+[KeyA]
[2022-01-27 16:28:19.519] [renderer3] [info] [KeybindingService]: \ From 2 keybinding entries, no when clauses matched the context.
[2022-01-27 16:28:19.564] [renderer3] [info] [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.

Here's escape sequence logging for Ctrl-A
 INFO [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
workbench.desktop.main.js:sourcemap:577  INFO [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
workbench.desktop.main.js:sourcemap:577  INFO [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
workbench.desktop.main.js:sourcemap:577  INFO [KeybindingService]: | Resolving ctrl+[KeyA]
workbench.desktop.main.js:sourcemap:577  INFO [KeybindingService]: \ From 2 keybinding entries, no when clauses matched the context.
LogService.ts:62 xterm.js: sending data "" [1]
LogService.ts:62 xterm.js: parsing data ^A
workbench.desktop.main.js:sourcemap:577  INFO [KeybindingService]: | Resolving ctrl+[KeyA]
workbench.desktop.main.js:sourcemap:577  INFO [KeybindingService]: \ From 2 keybinding entries, no when clauses matched the context.
workbench.desktop.main.js:sourcemap:577  INFO [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.

And Ctrl-R
 INFO [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
workbench.desktop.main.js:577  INFO [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
workbench.desktop.main.js:577  INFO [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
workbench.desktop.main.js:577  INFO [KeybindingService]: | Resolving ctrl+[KeyR]
workbench.desktop.main.js:577  INFO [KeybindingService]: \ No keybinding entries.
LogService.ts:62 xterm.js: sending data "" [18]
LogService.ts:62 xterm.js: parsing data

grant@Grants-MBP gem % ^A^A
workbench.desktop.main.js:577  INFO [KeybindingService]: | Resolving ctrl+[KeyR]
workbench.desktop.main.js:577  INFO [KeybindingService]: \ No keybinding entries.
workbench.desktop.main.js:577  INFO [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.

Hi, I can report the same here

Hi @johnfn did you figure out what was happening. I am getting exactly the same behavior and I don't know what is happening. If I open a bash shell instead of a zsh the ctl+r and ctr+p et al all work fine

[2022-02-24 13:23:27.424] [renderer1] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
[2022-02-24 13:23:27.425] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
[2022-02-24 13:23:27.425] [renderer1] [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
[2022-02-24 13:23:28.713] [renderer1] [info] [KeybindingService]: | Resolving ctrl+[KeyR]
[2022-02-24 13:23:28.714] [renderer1] [info] [KeybindingService]: \ From 2 keybinding entries, matched workbench.action.openRecent, when: no when condition, source: built-in.
[2022-02-24 13:23:28.808] [renderer1] [info] [KeybindingService]: | Resolving ctrl+[KeyR]
[2022-02-24 13:23:28.809] [renderer1] [info] [KeybindingService]: \ From 2 keybinding entries, matched workbench.action.openRecent, when: no when condition, source: built-in.
[2022-02-24 13:23:28.937] [renderer1] [info] [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.

Only change was to remove oh-my-zsh and start using zplug. But even if I disable all the zplug initialization stuff in .zshrc, the terminal never works correctly for the ctrl-* chords

Unfortunately, no. I still have this issue and I've been unable to solve it.

@johnfn the terminal looks to be working correctly so this is an issue with your shell, not VS Code's terminal.
LogService.ts:62 xterm.js: sending data "�" [1]

This is saying the shell is receiving the correct character \u0001
LogService.ts:62 xterm.js: sending data "�" [18]

This is saying it's getting the correct \u0012

@johnfn for you ctrl+r is matching workbench.action.openRecent, I don't have enough information about your setup and your issue appears to be unrelated to this. You can try adding this to your keybindings which will unset the openRecent keybinding and set it to only happen when the terminal is not focused.
{ "key": "ctrl+r", "command": "-workbench.action.openRecent" },
{ "key": "ctrl+r", "command": "workbench.action.openRecent", "when": "!terminalFocus" }

Just for future reference, I found this comment
https://github.com/microsoft/vscode/issues/109078#issuecomment-724594972
and it seems that setting set -o emacs solves the issue for an already open terminal. After that the Ctrl+* commands work correctly.
It seems that the terminal open inside vs code it has different options enabled than the terminal open with iterm or the Terminal app outside vs code.

@Tyriar

this is an issue with your shell, not VS Code's terminal.

No, that doesn't seem to be the case. Everywhere else on my computer, ctrl-a and ctrl-r work fine.

@johnfn for you ctrl+r is matching workbench.action.openRecent, I don't have enough information about your setup and your issue appears to be unrelated to this.

Sorry? How is my issue unrelated to this? I'm the one who opened this issue.
This issue should not be closed. It's not a question. It's broken functionality on a vanilla install of vscode. Even if it's an issue with my shell, that issue doesn't manifest in any app other than vscode.

Final comment. I found the cause and the fix.
Cause
Somehow the keybinding when starting zsh inside VS Code is different than when starting it on Terminal. For the Ctrl+R et al to work we need emacs keybinding emulation.
According to the zsh docs here:

If one of the VISUAL or EDITOR environment variables contain the string ‘vi’ when the shell starts up then it will be ‘viins’, otherwise it will be ‘emacs’. bindkey’s -e and -v options provide a convenient way to override this default choice.

in my case i had this in my $HOME/.zshrc
export EDITOR='vim'
export VISUAL='vim'

and that was setting keybinding to vi instead of emacs. In the external terminal somehow (maybe oh-my-zsh or zplug) it is correctly set to emacs, but in vscode this is never overridden so it remains in vi mode and that's why the ctrl+* commands didn't work.
Why this happens in VS Code, no idea.
Fix
Two options:

either ensure that none of EDITOR and VISUAL contain vi in them
add bindkey -e to instruct zsh to use emacs bindings and ignore the EDITOR and VISUAL values

I did the second one in my $HOME/.zsh and now the external terminal and the integrated vs code terminal use emacs keybinding emulation and the ctrl-* commands work correctly.
Hope this helps

@miguelcoba thanks for the investigation, reopening to add this to the faq. My guess about why VS Code is different is either because we inherit the base environment from an $SHELL -ilc shell that sources the "development environment" or because it's run as a login/non-login shell.

Thanks, @Tyriar

Wow @miguelcoba - you're dead on - that was the solution! Amazing - I've been struggling with this for ages!


Release 1.1.1

Codecov Report

Merging #2355 (6a7e094) into release-1.1 (fa644c2) will decrease coverage by 20.30%.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           release-1.1    #2355       +/-   ##
================================================
- Coverage        61.71%   41.40%   -20.31%
================================================
  Files              278      139      -139
  Lines            21174    17222     -3952
================================================
- Hits             13067     7131     -5936
- Misses            6740     9463     +2723
+ Partials          1367      628      -739

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
41.40% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/util/k8s/name.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/agent_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/config/node_config.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/apis/controlplane/helper.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/cniserver/pod_configuration_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/apis/controlplane/v1beta1/register.go
0.00% <0.00%> (-92.86%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/agent/nodeportlocal/k8s/annotations.go
0.00% <0.00%> (-83.88%)
:arrow_down:

... and 235 more

/test-all

/test-windows-e2e
/test-windows-networkpolicy
/test-ipv6-all
/test-ipv6-only-all
/test-whole-conformance

/test-windows-conformance
/test-windows-networkpolicy

/test-windows-e2e
/test-windows-conformance

/test-ipv6-networkpolicy

/test-ipv6-networkpolicy

Some well known test failures, plus

the Windows tests can't run because of a testbed issue
it seems that jenkins-ipv6-ds-networkpolicy consistently fails with a sonobuoy timeout; so I'll check if I can run these tests locally

I ran upstream NetworkPolicy tests on a local dual-stack Vagrant-based cluster and the tests passed. I will update the release date in the CHANGELOG and merge this.
Plugin: e2e
Status: passed
Total: 5234
Passed: 29
Failed: 0
Skipped: 5205


Adopt sectioned-view-plugin

Link to GitHub repository

https://github.com/jenkinsci/sectioned-view-plugin
I'd like to deliver https://github.com/jenkinsci/sectioned-view-plugin/pull/19
FYI: @olivergondza @tbingaman
When modifying release permission
If you are modifying the release permission of your plugin or component, fill out the following checklist:

### Release permission checklist (for submitters)
- [ ] The usernames of the users added to the "developers" section in the .yml file are the same the users use to log in to [accounts.jenkins.io](https://accounts.jenkins.io/).
- [ ] All users added have logged in to [Artifactory](https://repo.jenkins-ci.org/) and [Jira](https://issues.jenkins.io/) once.
- [ ] I have mentioned an [existing team member](https://github.com/orgs/jenkinsci/teams) of the plugin or component team to approve this request.

When enabling automated releases (cd: true)
Follow the documentation to ensure, your pull request is set up properly. Don't merge it yet.
In case of changes requested by the hosting team, an open PR facilitates future reviews, without derailing work across multiple PRs.
Link to the PR enabling CD in your plugin

### CD checklist (for submitters)
- [ ] I have provided a link to the pull request in my plugin, which enables CD according to the documentation.

### Reviewer checklist
- [ ] Check that the `$pluginId Developers` team has `Admin` permissions while granting the access.
- [ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
- [ ] If security contacts are changed (this includes add/remove), ping the security officer (currently `@Wadeck`) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it.

Don't forget to modernize the plugin to our current plugin defaults, otherwise cutting a release may not work out of the box.


Proposal: simpler LayerStack and DerivedLayers

The current way to deal with "derived layers" (i.e. physical levels on the chip that do not map 1:1 to GDS design layers) is very convoluted. It requires defining etch and grow levels, with flags for what is etched into what, which borders on process emulation. This also does not generalize well to other common mapping between GDS layers and physical elements on the chip, for instance marker layers modifying shared process steps.
I propose instead, at the gdsfactory level, to only consider the final fabricated levels of the chip. These layers should be easily defined from arbitrary combinations of GDS layers. An example could look something like this:
    layer1 = GDSLayer(layer=(1, 0))
    layer2 = GDSLayer(layer=(2, 0))

    ls = LayerStack(
        layers={
            "layerlevel_layer1": LayerLevel(layer=layer1, thickness=10, zmin=0),
            "layerlevel_layer2": LayerLevel(layer=layer2, thickness=10, zmin=10),
            "layerlevel_and_layer": LayerLevel(
                layer=layer1 & layer2,
                thickness=10,
                zmin=0,
                derived_layer=GDSLayer(layer=(3, 0)),
            ),
            "layerlevel_xor_layer": LayerLevel(
                layer=layer1 ^ layer2,
                thickness=10,
                zmin=0,
                derived_layer=GDSLayer(layer=(4, 0)),
            ),
            "layerlevel_not_layer": LayerLevel(
                layer=layer1 - layer2,
                thickness=10,
                zmin=0,
                derived_layer=GDSLayer(layer=(5, 0)),
            ),
            "layerlevel_or_layer": LayerLevel(
                layer=layer1 | layer2,
                thickness=10,
                zmin=0,
                derived_layer=GDSLayer(layer=(6, 0)),
            ),
            "layerlevel_composed_layer": LayerLevel(
                layer=layer1 - (layer1 ^ layer2),
                thickness=10,
                zmin=0,
                derived_layer=GDSLayer(layer=(7, 0)),
            ),
        }
    )

    # Test with simple component
    import gdsfactory as gf

    c = gf.Component()

    rect1 = c << gf.components.rectangle(size=(10, 10), layer=(1, 0))
    rect2 = c << gf.components.rectangle(size=(10, 10), layer=(2, 0))
    rect2.dmove((5, 5))
    c.show()

Now get the component with derived layers according to the stack above:
    c = get_component_with_derived_layers(c, ls)
    c.show()

(3,0) is the intersection:

(4,0) is the exclusive or:

(5,0) is a substraction:

(6,0) is union:

We can also compose the operations; (7,0) substracts the X0R from layer 1:

We can revisit process emulation and/or simulation in gplugins.
If you think this is a good idea I can make tests and fix visualization scripts

I'm also removing all the clutter from as discussed in #2556

looks great, notice there are some conflicts

get_klayout_3d_script needs fixing, but it should be easy to convert the boolean operations in the layerstack to klayout script booleans

there's issues with Pydantic to_json, will check again later

there's issues with Pydantic to_json, will check again later

the pydantic serialization error is fixable by allowing layers to be int, is this acceptable behavior @simbilod @sebastian-goeldi ?

there's issues with Pydantic to_json, will check again later

the pydantic serialization error is fixable by allowing layers to be int, is this acceptable behavior @joamatab @sebastian-goeldi ?

The problem with int is, it's not a good identifier, even LayerEnum is questionable in this case. Anything that should live with layers outside or directly tied info, should use something more akin to gf.kdb.LayerInfo, so tuple with layer datatype or a string with layer name are better choices.
An int should be stricly used for layout purposes (it's even not so good to pass it through function calls tbh as they will be serialized as ints)
To get tuple from LayerEnum:
tuple(LAYER.WG) for example
To get name:
LAYER.WG.name
To get layerenum from tuple:
LAYER(gf.kcl.layer(*layer_tuple)) (or layer_tuple[0],layer_tuple[1] instead o *... of course.
Get LayerEnum by name:
LAYER[layer_name]

when will this PR be ready to review? we plan to release gdsfactory8 in the coming days

Of we can disable export KLayout 3D view, it can be done soon. Otherwise it will take longer

yes, we can fix the export to klayout3D later

I've implemented @HelgeGehring 's suggestions, it still works exactly as I showed above
@joamatab this is ready to review. I've added a NotImplementedError on the klayout 3d script for now. The only sketchy thing is the int type allowed for layer object to fix pydantic issues. Also the commit history is a bit messy, we can rebase against main if you want.

Some export tests are still failing, probably just need to call layer.layer in some places. I can look tomorrow

Sounds good,
will this work with the plugins? like gmsh?
im having lots of issues with the gdsfactory8 brach in gplugins
i think it would be great to use klayout instead of shapely there if possible

Sounds good,
will this work with the plugins? like gmsh?
im having lots of issues with the gdsfactory8 brach in gplugins
i think it would be great to use klayout instead of shapely there if possible

Sounds good,
will this work with the plugins? like gmsh?
im having lots of issues with the gdsfactory8 brach in gplugins
i think it would be great to use klayout instead of shapely there if possible

The meshing should mostly be fine, it only relies on get_component or get_component_with_derived_layers, so if those work it will be OK. We might need to add a layer.layer here and there at most.

I think for layers in general, I think we should just pass them as strings (i.e. layer name).
The longer the more I think it's easier to do it that way. Getting them can be as easy as kcl.get_layer. This also allows for easier and more meaningful (de)serialization of layers as the index itself has next to no meaning (except during construction)


Access to main menu from an icon in the ribbon

Describe the feature
If Settings > Appearance > Window Frame Style is set to anything but Obsidian Frame on Win11, it seems that you don't have access to the main menu (with File, Edit, View, Insert, ... sub-menus). So I'm wondering whether it would be possible for Commander to have an option to place an icon in the ribbon to access the main menu bar when in Hidden (default) or Native frame.
Does this fix a problem? If so, specify.
I'm mainly using Mac, but recently got a Win11 (work-related) laptop, and would love access to the main menu occasionally, and it always displays on Mac, but I can't find it on Win11 unless I specify the Obsidian Frame  variant, which occupies an entire row of real estate on my screen. I'd like that line back for other uses... :-)
Did you consider other alternatives?
As stated, using Obsidian frame can occupy the entire top row, and give me this menu, but it would be so much nicer if I had the option to have that menu icon placed in the ribbon somewhere.
Screenshots and recordings

The image shows the menu expanded ready to select the Force reload command, which is not available through the command palette. This is also the case for some of the other menu options, if I'm not mistaken, so having this menu available somewhere would just be nice.

It seems like Force Reload is available in the command palette, but it's called "Reload app without saving."


2 GPUs less efficient than 1 ?

I really like this work : learning is pretty quick on small instances.
I have tried to learn vrp100 with 2 GPUs and was surprised to discover that it is slower than with only 1 GPU. As it is my first test with multiple GPUs, I may have done something wrong : is there a parameter that I need to set to run the code on multiple GPU ?
This test was done with the original sources, on gcloud with pytorch 0.4.1 (some warning for deprecation) . I saw with the nvidia-smi command that both GPUs were busy.  You paper mention a real gain with 2 GPUs ... I'd like to see it as well !
Thanks in advance for any tip !

Would you be updating your code before the paper is presented at ICLR, or after? Looking forward to it.

@chaitjo I have updated the code. Note that it has undergone a major refactoring. I hope this is helpful to you!


Fix typescript build errors

Use the getSkipEndFromStart method
Fix visitArrowFunction function usage

The build is failing on Travis CI for Node v0.10 because Set is not available in Node v0.10

@blakeembrey @buzinas This seems to be a breaking change for node 0.10 coming from tslint since the no-shadow-variable got recent updates:
https://github.com/palantir/tslint/blob/master/src/rules/noShadowedVariableRule.ts#L45
Is it good time to stop supporting node 0.10 since tslint doesn't?

Seems reasonable to me now, 0.10 is EOL. The versioning is pretty tied to TSLint too.

Merging this to make it compatible with the latest typescript. Will drop support of node 0.10 shortly after this is merged since this is what's making the CI fail.


Remove deprecated (Sub)String .characters and CharacterView

Already deprecated in Swift4 so this just tidies up the warnings.

@swift-ci please test

I tested this on macOS with DEVELOPMENT-SNAPSHOT-2017-08-14-a - all still builds and passes tests.

@swift-ci please test and merge

build tests timed out and aborted

@swift-ci please test and merge

@swift-ci please test and merge


New package: DRIP v0.1.1

Registering package: DRIP
Repository: https://github.com/afrouzi/DRIP.jl
Created by: @afrouzi
Version: v0.1.1
Commit: 0c46068a0aa118f81a1eb611cada1c4fbdcb271a
Reviewed by: @afrouzi
Reference: https://github.com/afrouzi/DRIP.jl/issues/2

please disregard.


Fixes the rc docs creation

What is the purpose of this change?
Fixes the rc docs creation by using the more widely available /tmp mount point instead of /mnt/tmp
Checklist

[X] I have read the contribution guidelines.
[X] I have added tests for all changes in this PR if appropriate.
[X] I have added documentation for the changes if appropriate.

[X] I'm done, this Pull Request is ready for review :-)

That looks great thank you!  That script was very my personal script before wasn't it!
Thanks


make-derivation: enable pie hardening with musl

Fixes #49071

Please describe in the commit what it fixes instead of just referring to an issue.

Thanks- updated.

Would it make sense to enable PIE by default? Or rather, what's the reason we don't do this always?
Is performance the concern or breakage (or ...)?
Performance seems like a bad reason, don't other distributions enable by default? Such a trade-off seems like it should be opt-in, but regardless first it'd be good to sort out what the reason is before disagreeing with it :P.

I am thinking of just doing this for now as it avoid a mass rebuild. If someone wants to try enabling PIE globally, that would be great. It will just probably be on you to debug any of the new failures.

Sound good, sorry didn't mean to make that your problem/job.... just
surprised we don't already :).
On Mon, 05 Nov 2018 18:29:13 -0800, Matthew Bauer<EMAIL_ADDRESS>wrote:

I am thinking of just doing this for now as it avoid a mass rebuild. If someone wants to try enabling PIE globally, that would be great. It will just probably be on you to debug any of the new failures.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/49704#issuecomment-436109861Non-text part: text/html

I'm seeing this break musl immediately?
https://gist.github.com/dtzWill/d93dc2211fd2d134a81cd858311f42ce
nix build nixpkgs.pkgsMusl.bash, dies building bootstrap compiler
What sort of builds does this not break (and presumably improves behavior for)?
Checking behavior across branches presently...
@GrahamcOfBorg build pkgsMusl.bash

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: pkgsMusl.bash
Partial log (click to expand)
Cannot nix-instantiate `pkgsMusl.bash' because:
error: Musl libc only supports Linux systems.

Unexpected error: command failed with exit code 1 on aarch64-linux (full log)
Attempted: pkgsMusl.bash
Partial log (click to expand)
cannot build derivation '/nix/store/n51xzgr07sny7hxal9fzf8rwfbw7kkb5-mpfr-4.0.1.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/h66rmfzfswfwgp0y4x0j83lxib1gqvd6-texinfo-6.5.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/5k4bbhgpl7ig43ywhylqi60qxsgigbms-libelf-0.8.13.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/c8jd9mwjpsv6vz01nkj6va5ylmk3xlq4-libmpc-1.1.0.drv': 4 dependencies couldn't be built
cannot build derivation '/nix/store/5rq674isjrhsp3hg0d0skr5ab2y4a9ar-gcc-7.3.0.drv': 15 dependencies couldn't be built
cannot build derivation '/nix/store/i7wfcp5ij0d2p05hkbbamd97b2h4hzg2-bootstrap-stage4-gcc-wrapper-7.3.0.drv': 6 dependencies couldn't be built
cannot build derivation '/nix/store/k3hlyx9wgx5ayvp9nlmnvlhrnzrx6mrv-bootstrap-stage4-stdenv-linux.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/ida3gqjqgrjrd30453chsbvxxx6idc42-autoconf-2.69.drv': 4 dependencies couldn't be built
cannot build derivation '/nix/store/q8vnwykkhb3qczd6n9jqvy6cgwvb0bsd-bash-4.4-p23.drv': 5 dependencies couldn't be built
error: build of '/nix/store/q8vnwykkhb3qczd6n9jqvy6cgwvb0bsd-bash-4.4-p23.drv' failed

That should be fixed in 2e2afa1943a69cef6abb96a8552ddafd06f9bbd4. Hoping binutils/gcc are the only ones.

Additional failures:

glibc
ghc

I'm a fan of this but this looks like it was merged too eagerly and wasn't... tested at all? Including checking if the original issue was fixed since build fails long before that point AFAICT.
Unfortunately I think our testing bandwidth is thin currently, so I'm not sure how to proceed.  Maybe whack-a-mole the next few failures and cross our fingers? I'd like to avoid a revert :).
FWIW here's a few packages that no one's obligated to support BUT I build regularly and so they work reasonably well as oracles, even if they're not intended to be such:

pkgsMusl.cachix
pkgsMusl.nix (pkgsMusl.nixUnstable)
pkgsMusl.llvmPackages_{5,6,7}.{llvm,clang}
Just in case that helps -- maybe we can put together a musl jobset at some point :).  (and contribute builders :))

glibc is just an addition to hardeningDisable, ghc is a bit trickier.  Currently testing this: https://github.com/dtzWill/nixpkgs/commit/0caf0a39fec296df9e59dfa368c72a5d3703317f (will report back in an hour or however long ghc takes :P).

Nope, looks like problem is with bootstrap ghc not being built -fPIC -- so either new bootstrap tarball (eep) or maybe just disable PIE for ghc? Shame b/c it might be nice to use gold linker with it...

Yeah i was probably too quick with this! Sorry about that. I didn’t think pie could break so much. Feel free to revert it (but leave in the hardeningDisable flags for future reference).

I would say just disable PIE for ghc. There's some weird stuff ghc bootstrapping does that makes this stuff complex. We have to do some weird patches to get this working on Android:
https://github.com/reflex-frp/reflex-platform/blob/develop/nixpkgs-overlays/mobile-ghc/8.2.y/android-patches/force-relocation-equal-pic.patch
We do have a cross-trunk jobset with some musl jobs:
https://hydra.nixos.org/jobset/nixpkgs/cross-trunk#tabs-jobs
Maybe we should add cachix to it?

Related problem with writeup: https://github.com/NixOS/nixpkgs/issues/129247#issuecomment-873612621


Cannot create RDS DBInstance when autogeneratePassword - clean instance

What happened?
Using ArgoCD.
Creating a clean DB, without a restoration point, and with the master password being generated.
Got error:
cannot create DBInstance in AWS: InvalidParameterValue: Invalid master password status code: 400, request id:

Seems the problem might be the silent error ignorance for missing k8s Secrets (masterUserPasswordSecretRef).
https://github.com/crossplane-contrib/provider-aws/blob/f759905dcba680015d0a3689a7afc58ac09abf7c/pkg/controller/docdb/dbcluster/setup.go#L229
Creating the secret and the key didn't solve the problem, the password was not generated. I have provided a password by hand.
To get the Instance I had to create the secret and put a valid password over there.
How can we reproduce it?
This can help, my resource params:
forProvider:
    allocatedStorage: 20
    allowMajorVersionUpgrade: false
    autogeneratePassword: true
    dbInstanceClass: db.t3.micro
    dbParameterGroupName: db-mysql-group
    dbParameterGroupNameRef:
      name: db-mysql-group
    dbSubnetGroupName: db-mysql-sng
    dbSubnetGroupNameRef:
      name: db-mysql-sng
    dbSubnetGroupNameSelector:
      matchControllerRef: true
      matchLabels:
        environment: dev
        instance: db-mysql
    enableIAMDatabaseAuthentication: true
    engine: mysql
    engineVersion: 5.7.42
    masterUserPasswordSecretRef:
      key: password
      name: db-mysql-pass
      namespace: dev
    masterUsername: admin
    multiAZ: false
    region: eu-central-1
    skipFinalSnapshot: true
    storageType: gp2
    tags:
      - key: Creator
        value: Crossplane
      - key: Name
        value: db-mysql
      - key: Environment
        value: dev
    vpcSecurityGroupIDRefs:
      - name: db-mysql-sg
    vpcSecurityGroupIDSelector:
      matchControllerRef: true
      matchLabels:
        environment: dev
        instance: db-mysql
    vpcSecurityGroupIDs:
      - sg-

What environment did it happen in?
Crossplane version: helm.sh/chart=crossplane-1.13.2
provider-aws: v0.43.1
EKS/k8s: v1.28

We tried different combinations of secrets. No data:
apiVersion: v1
kind: Secret
metadata:
  name: db-mysql-somedb-demo-master-pass
  namespace: environments
type: Opaque

Empty data object:
apiVersion: v1
kind: Secret
data:
metadata:
  name: db-mysql-somedb-demo-master-pass
  namespace: environments
type: Opaque

Null password:
apiVersion: v1
kind: Secret
data:
  password:
metadata:
  name: db-mysql-somedb-demo-master-pass
  namespace: environments
type: Opaque

Empty password:
apiVersion: v1
kind: Secret
data:
  password: ""
metadata:
  name: db-mysql-somedb-demo-master-pass
  namespace: environments
type: Opaque

Nothing worked till we actually set it to some base64 representation of a pw.

/fresh

/fresh

I think for DBInstances the password is only generated if the spec.forProvider.autogeneratePassword: true AND spec.forProvider.masterUserPasswordSecretRef: null because only then the controller assumes that a password does not exist. Otherwise he will pull it from the referenced secret.

/fresh


Remove exchange info

Yasu-san!
Small update as requested this morning.

@Dejimmy We don't need this pull request anymore, so I'll close it.


InAppAcrylicBrush render issue

Describe the bug
Sometimes AcrylicBrush from CommunityToolkit will not render correctly. Although I know this issue might belongs to CommunityToolkit but I create an issue here in case this issue caused by the Windows App Sdk itself.
Steps to reproduce the bug

Switch on the LoadingControl
Move the slider to adjust the BlurAmount
See the render issue

Expected behavior
No response
Screenshots

NuGet package version
Windows App SDK 1.5.2: 1.5.240404000
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 22H2 (22621, 2022 Update)
IDE
Visual Studio 2022
Additional context
Demo:
LoadingControlTest.zip

Since this is an issue with types from Windows Community Toolkit, please file the issue on the Community Toolkit github repo (https://github.com/CommunityToolkit/WindowsCommunityToolkit).


visual script enhancement

Godot version:
v3.1.dev.calinou.9bd5315
OS/device including version:
windows 10 x64
Issue description:
in visual script :

when drag a node (ex: animated sprite) to visual script area it shows a dialog to select properties and when you select one it puts a node with empty function and you select function by hand, but in godot 3.0.5 it shows a list of methods (better and very useful) , just select one and it is ready to go.

properties can be draged and droped from the inspector (easy get and set) and its better than show properties in list (when drag a node to visual script area)

the window "search visual script" and "select methods" window are small and not resizable.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


Symbols not displaying in web app

Was thrilled to find your package as there are multiple Material icons I found missing in the standard Flutter Icons. Thank you!
When I attempt to use Symbols in a web app, they appear as rectangles with an ‘x - likely standard for a missing IconData? You can see the Symbol icons below the regular Flutter Icons attached. Everything looks fine on my Android Flutter app BTW.

I know the live example of the web app shows the symbols so I'm sure that this is something simple but I don’t see any calls in the example that might rectify getting the symbols to show in my web app.
Thanks, Rick

The current stable web version of the flutter engine has a bug in icon tree
shaking that can corrupt the output fonts.  You can turn off icon tree
shaking when you build and see if that helps.  This may be something else
though..   can you name a small example app that demonstrates the problem ?
(Or if your app is open source that would fine also).
(Btw my fix for the flutter engine is in master and may be in the beta
branch now also, I think you can find reference to the pr# here somewhere,
again not at my computer so I can't look that up readily)
-tim
On Fri, Aug 18, 2023, 1:13 PM pt-rick @.***> wrote:

Was thrilled to find your package as there are multiple Material icons I
found missing in the standard Flutter Icons. Thank you!
When I attempt to use Symbols in a web app, they appear as rectangles with
an ‘x - likely standard for a missing IconData? You can see the Symbol
icons below the regular Flutter Icons attached. Everything looks fine on my
Android Flutter app BTW.
[image: image]
https://user-images.githubusercontent.com/47258455/261701250-c09c3136-38a3-450a-8c93-46261a1b3a94.png
I know the live example of the web app shows the symbols so I'm sure that
this is something simple but I don’t see any calls in the example that
might rectify getting the symbols to show in my web app.
Thanks, Rick
—
Reply to this email directly, view it on GitHub
https://github.com/timmaffett/material_symbols_icons/issues/11, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA3YUSKRTJQPTAYDRSWQ3V3XV7EIFANCNFSM6AAAAAA3V67ZS4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Ah - perhaps that's the issue. I'm using Flutter 3.7.11 (Dart 2.19.6) stable since we have yet to move our application to null safety. I did try and rebuild the web app using --no-tree-shake-icons, but the symbol icons are still not showing in the web app. Our app isn't open source but the use of the icons is very simple - I have a map of strings to IconData and use the string as the key and pass the resulting IconData into a Flutter Icon. In the image I attached earlier, the icons that are displaying are Icons (e.g. Icons.tv) and the ones failing are Symbols (e.g. Symbols.tv_with_assistant).  Just passing a symbol icon into Icon would be equivalent.

Correct - no Symbols are working in the web. They are fine on the Android, and, I'm assuming ,the iOS, side. I haven't tried iOS yet.

Quick update. I migrated our app to null safety and the symbols now work across our platforms.

@pt-rick  That's great news!
btw. I should be making a new release this week.


Questions about Datasets

These are some questions about your datasets that I believe will answer many people's questions about datasets. Thank you for your work and I am looking forward to your reply. I am a loyal fan of your work.

Q1:

Figure 1 is the test file of SILVER.
Could you please tell me whether yan_x10 and yan_x11 are from the same person's liver part or the liver part of different people?
In other words, does yan_x represent liver part of the same person at different times or images of different people's livers?

Q2：

Similar to the first question, in figure2，I want to figure out lits/0, lits/1, lits2...Are they images of different people's livers?
You wrote in your paper that the LITs contained 131scans, does it mean that they came from 131 images of livers of the different person, rather than 131 images of the same person at different moments.

Q3:

Through reading your paper, I understand that the LSPIG data set contains liver images from 17 different pigs, which are registered in pairs before and during surgery. Do I understand you correctly?

Q4：

Thank you for reading here, the last question.
For the training set MSD, it contains four kinds of liver lesion images, such as Hepatic animal and Pancreas Tumours. When you select two images for training, do you select two images from the same lesion image for concatenate ? Or will one of the two different lesion areas be selected and concatenate into the network?
In other words, I would like to know how you select a pair of registration images in the MSD dataset for training.

Q1&Q2: These scans are from different people.
Q3: Correct.
Q4: All pairs (can be from different kinds) are randomly selected for training.

Q1&Q2: These scans are from different people.
Q3: Correct.
Q4: All pairs (can be from different kinds) are randomly selected for training.

Thank you for replying so quickly.
During the training stage, datasets randomly selected from different kinds, I think it's understandable. Because in fact, the training process is the process of extracting features.
During the testing stage, for LSPIG data, registration for preoperative and intraoperative registration of the same person will have a good application in surgical navigation. It's OK.
However, I have been puzzled by the choice of liver images from different people for the registration of the SILVER and LITS datasets. Because everyone's physical condition is different. Is there any application for scene registration by using images of two different individuals?

Thank you for replying so quickly.
During the training stage, datasets randomly selected from different kinds, I think it's understandable. Because in fact, the training process is the process of extracting features.
During the testing stage, for LSPIG data, registration for preoperative and intraoperative registration of the same person will have a good application in surgical navigation. It's OK.
However, I have been puzzled by the choice of liver images from different people for the registration of the SILVER and LITS datasets. Because everyone's physical condition is different. Is there any application for scene registration by using images of two different individuals?

I can say there are applications, though not as many as intra-subject registration, e.g. when you want to compare someone's scan with a healthy one or a standard one.

I can say there are applications, though not as many as intra-subject registration, e.g. when you want to compare someone's scan with a healthy one or a standard one.

Thank you for your prompt reply. I have understood.

Thank you for your prompt reply. I have understood.

Hello! There is another question. I can get all the 2D slices after registration, but the visual effect is not good. How can I get the 3D image in the article of VTN? How do you do 3D reconstruction? Looking forward to your suggestions

Hello! There is another question. I can get all the 2D slices after registration, but the visual effect is not good. How can I get the 3D image in the article of VTN? How do you do 3D reconstruction? Looking forward to your suggestions

These are generated by some code, but I don't have the code now.

These are generated by some code, but I don't have the code now.

OK，I tried some methods, but they didn't look good.  Thank you very much.

OK，I tried some methods, but they didn't look good.  Thank you very much.


Can we optimize redundant computation?

I just find that for now, tensorflow haven't optimize the computation and leads to very slow performance. This issue I think might be very severe while compute the gradients to all trainable variables of a DNN network via tf.gradients(). To simplify the issue demonstration, I wrote a toy code snippets and run a small experiment.
import tensorflow as tf
import numpy as np

@profile
def main():
    a = tf.Variable(tf.random_normal(shape=[1000, 1000]))
    b = a * 2
    c = b * 3
    sess = tf.Session()
    sess.run(tf.initialize_all_variables())

    for _ in xrange(1000):
        d = sess.run(b)
    for _ in xrange(1000):
        e = sess.run(c)
    for _ in xrange(1000):
        f = sess.run([b, c])

if __name__ == '__main__':
    main()

And here's the profile result using line_profiler.
Timer unit: 1e-06 s

Total time: 7.54528 s
File: test_tf_time.py
Function: main at line 4

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
     4                                           @profile
     5                                           def main():
     6         1         9650   9650.0      0.1      a = tf.Variable(tf.random_normal(shape=[1000, 1000]))
     7         1         1611   1611.0      0.0      b = a * 2
     8         1         1501   1501.0      0.0      c = b * 3
     9         1<PHONE_NUMBER>72.0      5.0      sess = tf.Session()
    10         1<PHONE_NUMBER>79.0      3.1      sess.run(tf.initialize_all_variables())
    11
    12      1001         1663      1.7      0.0      for _ in xrange(1000):
    13      1000      1321475   1321.5     17.5          d = sess.run(b)
    14      1001         2179      2.2      0.0      for _ in xrange(1000):
    15      1000      1570674   1570.7     20.8          e = sess.run(c)
    16      1001         2835      2.8      0.0      for _ in xrange(1000):
    17      1000      4025739   4025.7     53.4          f = sess.run([b, c])

You see what I mean? If the graph is like below:
a-------b--------c
     *         *
     |          |
    2         3

And if calculating b and c will consume comparable 20% time, then when I want to get [b, c], it should be optimized to consume around 20% time, right? Since I already have result of "b" in the middle of the procedure if I want to get result of "c".
Let's think about the gradient computing as I stated in the head of this issue. You have, say 10 layers DNN.
You want to get the gradients to all the 10 "W" variables, then will the computation being very unoptimized? Since you treat the 10 gradients separately, you will compute gradients to the 10th layer first, and get the result, and compute gradients to the 9th layer while not using the result of 10th layer, and so on.

Seems tensorflow has optimized when the previous a is a placeholder. Here's another version of toy snippet.
Timer unit: 1e-06 s

Total time: 28.7196 s
File: test_tf_time.py
Function: main at line 4

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
     4                                           @profile
     5                                           def main():
     6                                               # a = tf.Variable(tf.random_normal(shape=[1000, 1000]))
     7         1         2280   2280.0      0.0      a = tf.placeholder("float", shape=[1000, 1000])
     8         1        54021  54021.0      0.2      mat = np.random.randn(1000, 1000)
     9         1         2338   2338.0      0.0      b = a * 2
    10         1         1809   1809.0      0.0      c = b * 3
    11         1<PHONE_NUMBER>19.0      1.3      sess = tf.Session()
    12         1         9476   9476.0      0.0      sess.run(tf.initialize_all_variables())
    13
    14      1001         3013      3.0      0.0      for _ in xrange(1000):
    15      1000       462844    462.8      1.6          h = sess.partial_run_setup([b, c], [a])
    16      1000      7600600   7600.6     26.5          res = sess.partial_run(h, [b, c], feed_dict={a: mat})
    17      1001         3028      3.0      0.0      for _ in xrange(1000):
    18      1000      5680910   5680.9     19.8          d = sess.run(b, feed_dict={a: mat})
    19      1001         2960      3.0      0.0      for _ in xrange(1000):
    20      1000      6443068   6443.1     22.4          e = sess.run(c, feed_dict={a: mat})
    21      1001         2853      2.9      0.0      for _ in xrange(1000):
    22      1000      8090507   8090.5     28.2          f = sess.run([b, c], feed_dict={a: mat})

But using partial_run while a is a Variable is useless.
Timer unit: 1e-06 s

Total time: 10.8776 s
File: test_tf_time.py
Function: main at line 4

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
     4                                           @profile
     5                                           def main():
     6         1         9836   9836.0      0.1      a = tf.Variable(tf.random_normal(shape=[1000, 1000]))
     7                                               # a = tf.placeholder("float", shape=[1000, 1000])
     8                                               # mat = np.random.randn(1000, 1000)
     9         1         1608   1608.0      0.0      b = a * 2
    10         1         1525   1525.0      0.0      c = b * 3
    11         1<PHONE_NUMBER>75.0      3.9      sess = tf.Session()
    12         1<PHONE_NUMBER>65.0      1.7      sess.run(tf.initialize_all_variables())
    13
    14      1001         2385      2.4      0.0      for _ in xrange(1000):
    15      1000       196307    196.3      1.8          h = sess.partial_run_setup([b, c], [])
    16      1000      3327579   3327.6     30.6          res = sess.partial_run(h, [b, c])
    17                                                   # res = sess.partial_run(h, [b, c], feed_dict={a: mat})
    18      1001         2048      2.0      0.0      for _ in xrange(1000):
    19                                                   # d = sess.run(b, feed_dict={a: mat})
    20      1000      1428858   1428.9     13.1          d = sess.run(b)
    21      1001         2058      2.1      0.0      for _ in xrange(1000):
    22                                                   # e = sess.run(c, feed_dict={a: mat})
    23      1000      1449288   1449.3     13.3          e = sess.run(c)
    24      1001         2769      2.8      0.0      for _ in xrange(1000):
    25                                                   # f = sess.run([b, c], feed_dict={a: mat})
    26      1000      3843996   3844.0     35.3          f = sess.run([b, c])

I know transfer content from RAM to gpu memory is very time consuming, is this fact related?
I mean, when a is a placeholder, since the time of placeholder transfer dominates, so getting [b, c] with or without partial_run is time comparable to getting b or c?

partial_run should enable these kinds of computation reuse. Can you check your device placement to make sure you are not spending your time waiting for CPU->GPU memory transfers?
Also, is this issue fixed if you consolidate and fetch all your outputs in a single run?
You can enable device placement logging by creating your session with config = tf.ConfigProto(log_device_placement=True).
Also more generally, you can see more details about CPU-GPU transfers by using following snippets (not sure if partial_run looks at run_options though)
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
sess.run(..., options=run_options, run_metadata=run_metadata)
run_summarize(run_metadata)
def run_summarize(run_metadata):
global run_metadata
print "***"
for device in run_metadata.step_stats.dev_stats:
print device.device
for node_stats in device.node_stats:
print "   ", node_stats.node_name

Here are some more investigation.
Timer unit: 1e-06 s

Total time: 12.3761 s
File: test_tf_time.py
Function: main at line 4

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
     4                                           @profile
     5                                           def main():
     6         1          515    515.0      0.0      with tf.device("/gpu:1"):
     7         1            3      3.0      0.0          s = 500
     8                                                   # a = tf.Variable(tf.random_normal(shape=[s, s]))
     9         1         2327   2327.0      0.0          a = tf.placeholder("float", shape=[s, s])
    10         1        15789  15789.0      0.1          np_a = np.random.randn(s, s)
    11         1         2305   2305.0      0.0          b = tf.matmul(a, a)
    12         1         1878   1878.0      0.0          c = tf.matmul(b, b)
    13         1          567    567.0      0.0          init = tf.initialize_all_variables()
    14         1<PHONE_NUMBER>73.0      2.1      sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))
    15         1         9307   9307.0      0.1      sess.run(init)
    16
    17
    18         1<PHONE_NUMBER>04.0      1.1      sess.run(c, feed_dict={a: np_a})
    19
    20      1001         1911      1.9      0.0      for _ in xrange(1000):
    21      1000       240162    240.2      1.9          h = sess.partial_run_setup([b, c], [a])
    22      1000      2517772   2517.8     20.3          res = sess.partial_run(h, [b, c], feed_dict={a: np_a})
    23
    24      1001         2108      2.1      0.0      for _ in xrange(1000):
    25      1000      1971059   1971.1     15.9          d = sess.run(b, feed_dict={a: np_a})
    26      1001         1938      1.9      0.0      for _ in xrange(1000):
    27      1000      2251912   2251.9     18.2          e = sess.run(c, feed_dict={a: np_a})
    28      1001         2102      2.1      0.0      for _ in xrange(1000):
    29      1000      2627560   2627.6     21.2          f = sess.run([b, c], feed_dict={a: np_a})
    30      1001         2021      2.0      0.0      for _ in xrange(1000):
    31      1000      2319638   2319.6     18.7          f = sess.run([c, c], feed_dict={a: np_a})

change a from placeholder to Variable. Then total running time decrease to half of above.
Timer unit: 1e-06 s

Total time: 5.92345 s
File: test_tf_time.py
Function: main at line 4

Line #      Hits         Time  Per Hit   % Time  Line Contents
==============================================================
     4                                           @profile
     5                                           def main():
     6         1          539    539.0      0.0      with tf.device("/gpu:1"):
     7         1            1      1.0      0.0          s = 500
     8         1        16648  16648.0      0.3          a = tf.Variable(tf.random_normal(shape=[s, s]))
     9                                                   # a = tf.placeholder("float", shape=[s, s])
    10                                                   # np_a = np.random.randn(s, s)
    11         1         1856   1856.0      0.0          b = tf.matmul(a, a)
    12         1         1801   1801.0      0.0          c = tf.matmul(b, b)
    13         1          823    823.0      0.0          init = tf.initialize_all_variables()
    14         1<PHONE_NUMBER>01.0      5.3      sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))
    15         1<PHONE_NUMBER>16.0      2.7      sess.run(init)
    16
    17
    18                                               # sess.run(c, feed_dict={a: np_a})
    19         1<PHONE_NUMBER>29.0      2.1      sess.run(c)
    20
    21      1001         1401      1.4      0.0      for _ in xrange(1000):
    22                                                   # h = sess.partial_run_setup([b, c], [a])
    23                                                   # res = sess.partial_run(h, [b, c], feed_dict={a: np_a})
    24      1000       194673    194.7      3.3          h = sess.partial_run_setup([b, c], [])
    25      1000      1121128   1121.1     18.9          res = sess.partial_run(h, [b, c])
    26
    27      1001         1130      1.1      0.0      for _ in xrange(1000):
    28                                                   # d = sess.run(b, feed_dict={a: np_a})
    29      1000       733446    733.4     12.4          d = sess.run(b)
    30      1001         1003      1.0      0.0      for _ in xrange(1000):
    31                                                   # e = sess.run(c, feed_dict={a: np_a})
    32      1000       854119    854.1     14.4          e = sess.run(c)
    33      1001         1283      1.3      0.0      for _ in xrange(1000):
    34                                                   # f = sess.run([b, c], feed_dict={a: np_a})
    35      1000      1240861   1240.9     20.9          f = sess.run([b, c])
    36      1001         1387      1.4      0.0      for _ in xrange(1000):
    37                                                   # f = sess.run([c, c], feed_dict={a: np_a})
    38      1000      1148003   1148.0     19.4          f = sess.run([c, c])

Using these toy snippets isn't my intension. I intended to find out where is the slow component of tensorflow framework.
Actually, I can confirm that current tensorflow runs kind of very slow compared to Torch based on my practical experiments running.
I propose this issue because I'm facing practical performance problem with tensorflow. I'm using tensorflow to re-implement a project which is implemented with Torch.
For now the result and code seems run properly, and the experiments result are similar to that project, the issue is the computation time.
With same network architecture, same batchsize, "Torch" project's single mini-batch forward and backward plus some extra computation takes only, say around 1 second, while my tensorflow version implementation takes around 3 seconds to finish a min-batch (actually, in torch they just backward with gradient Input, while I compute gradients with gradient Input, then apply gradients via tensorflow since it has no backward API), and almost 80+% time is consuming by tensorflow API according to line_profiler.
So, there seems no place of code to diagnose except "tensorflow API" (the key component I use is feedforward, compute gradients and apply gradients).
It's really hard for me to wait 3 days experiments with tensorflow compared to one day with Torch.

@mrry: Looks like this fell through the cracks.  Do you know what's wrong?
@myme5261314: I'd guess that the reason [b, c] is slower than just c is that all you're timing is the overhead of converting things back to numpy.  I don't think it's related to your original motivating problem.

The redundant computation is eliminated: b.op only executes once when you call sess.run([b, c]). Running this locally, it seems that almost all of the overhead in this microbenchmark is due to the additional copying of another 4MB tensor back to Python. To check this, you can see that sess.run([b.op, c]) (which explicitly runs both ops but only copies back the output of c) takes the same time as sess.run(c).
The moral of the story is that you shouldn't copy tensors back to Python if you don't need them. Some of the immediate computation work is trying to make this more efficient, by returning handles to computed tensors back to Python rather than the entire values.


Update zio, zio-streams, zio-test, ... to 1.0.4-1

Updates

dev.zio:zio
dev.zio:zio-streams
dev.zio:zio-test
dev.zio:zio-test-sbt

from 1.0.3 to 1.0.4-1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

labels: library-update, semver-pre-release

Superseded by #379.


Update team member "maria-tarasiuk"

Automatically generated by Netlify CMS

I hope, it won't bother you, if I fix a typo on the website 🙂


Bump to 4.2.0 Release

Bump to 4.2.0 release
Remove the necessary pin on rapidjson dependency, now that the bugs were fixed in https://github.com/conda-forge/rapidjson-feedstock/pull/9.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)

@conda-forge-admin, please rerender

I messed up the 4.2.0 release. I will create a new pull request once I push out the 4.2.1 release (https://github.com/dmlc/treelite/pull/569).