[Bug] Segfault involving Mesh()

Describe the bug
There are two related bugs:

If the Mesh constructor is initialized with nothing, like var m = Mesh(), then at least some operations on this object result in segfault (see below)
If the Mesh constructor is initialized with an existing mesh, like var m2 = Mesh(m), then it creates an empty mesh like above, resulting in the same behavior.

To Reproduce
Run the following code:
import meshtools
var m = Mesh()
print m // shows empty mesh
m.setvertexposition(0, Matrix([-5,0,0])) // Segfaults
or
var m = LineMesh(fn (t) [t,0,0], -1..1:0.2)
m.setvertexposition(0, Matrix([-5,0,0])) // works
var m2 = Mesh(m)
print m2 // shows empty mesh
m2.setvertexposition(0, Matrix([-5,0,0])) // Segfaults
Expected behavior
In the case of empty mesh, maybe an error message? In the case of initializing with another mesh, perhaps an output of the deepcopy of the input mesh would make sense.
Screenshots

Fixed by #40


Search with RegEx and then trigger a replace can crash

Search:
0 0⍴⍞,0/[⎕⍞]

Replace by `∆Pause'
Function that causes the crash:
R←Test_AskForText_301(stopFlag batchFlag);⎕TRAP;example
⍝ Exercise "AskForText" in the most simple case
⎕TRAP←(999 'C' '. ⍝ Deliberate error')(0 'N')
R←T._Failed

0 0⍴⍞,0/⍞←'>>> This test needs you:',(⎕UCS 10),'Answer "Enter lower case character from ASCII" first with "1" (must get rejected), then "a"; to continue press <enter>'

example←'0 0⍴⍞,0/⍞←''This and that'''

→T.PassesIf(,'a')≡,({⍵∊⎕C ⎕A:1 ⋄ ⎕←'Enter single lowercase character from the ASCII set' ⋄ 0}C.AskForText)'Enter lower case character from ASCII'

R←T._OK
⍝Done

Fixed in 9.7.2


feat: accordion component

closes DESIGN-1246

Task linked: DESIGN-1246 Add href prop to button component


Docker pull rate limit fix

Quay.io docker image builds are failing with the following error:
Could not pull base image: API error (500): toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

For more info on this error, see https://www.docker.com/blog/checking-your-current-docker-pull-rate-limits-and-status/
https://www.openshift.com/blog/mitigate-impact-of-docker-hub-pull-request-limits
To resolve the issue we're moving all the base images of the ingest components to quay.io https://quay.io/repository/ebi-ait/ingest-base-images and change the Dockerfile's of each components.

This ticket should have been created in hca-dev-team repo. Keeping this ticket in this repo anyway.

As we view it all through zenhub I don't think it necessarily matters which repo it is in

forgot to tag this issue for commit in core https://github.com/ebi-ait/ingest-core/commit/5a8a6b5022d0f9fd77541d15f8e1ec844f06256c

The  base images are now moved to quay.io  and Dockerfile updated for all the following components:
ingest-ui
ingest-core
ingest-state-tracker
ingest-broker
ingest-validator
ingest-exporter
ingest-archiver
ingest-file-archiver

Can this be closed? is it finished?

ignore that, I was looking at the wrong column


added abstractions IIntersectableWithRay and IIntersectableWithPlane

added abstractions IIntersectableWithRay (implemented by BoundingBox, BoundingSphere and Plane) and IIntersectableWithPlane (implemented by BoundingBox and BoundingSphere)
PR Details
CollisionHelpers now comes with a generic GetNearestHit method.
The new interfaces only surface the already done implementations and let you abstract over the concrete types.
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: gregsn sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Looks good, thanks !

We also need this commit on master 4.0, can you cherry pick and make a second pr? @gregsn

https://github.com/stride3d/stride/pull/1397


Clicking on a collection but not selecting it gives still adds it to list

Noticing the problem only happens the first time you click on a collection after you have already selected another granule (doesn't happen the second time)
First time clicking in:
https://ade.dit.maap-project.org:30052/search/granules?p=C1214470488-ASF!C2021957657-LPCLOUD&pg[1][v]=t&tl=1685037682.122!3!!&long=0.0703125
First time clicking out:
https://ade.dit.maap-project.org:30052/search?p=C1214470488-ASF!C2021957657-LPCLOUD&pg[1][v]=t&tl=1685037682.122!3!!&long=0.0703125
Second time clicking in:
https://ade.dit.maap-project.org:30052/search/granules?p=C1214470488-ASF!C2021957657-LPCLOUD&pg[1][v]=t&tl=1685037682.122!3!!&long=0.0703125
Second time clicking out:
https://ade.dit.maap-project.org:30052/search?p=!C2021957657-LPCLOUD&pg[1][v]=t&long=0.0703125
Note that if I actually add ASF, I get:
https://ade.dit.maap-project.org:30052/search?p=!C2021957657-LPCLOUD!C1214470488-ASF&pg[1][v]=t&pg[2][v]=t&pg[2][gsk]=-start_date&long=0.0703125
I am not really sure how to fix this if that is what the requests look like... But I can see this being an annoying bug for people

The only difference I can discern looking at these requests is the presence of the tl tag which means timeline, but I can't even tell which concept Id timeline is applying too, so this won't work for filtering these requests

I could technically catch this by looking to see if tl ends with !! and the message only has search not search/granules, but that seems pretty messy. I might just leave for now


[icub + Gazebo] icub_with_hands model not being "stiff"

Hi,
we are starting to use Gazebo for iCub simulations.
In particular, we would like to use the icub_with_hands model.
We tried to make the iCub execute some movements using the yarpmotorgui and we noticed that even if we are using Position Control and Stiff mode, the iCub moves joints that were given no orders (as if it is trying to balance some gravity/force).
This does not happen with the icub model (no hands).
Why is that so?

Hi @emilio-cartoni ,
I strongly suspect this is due to some gains of the joint-level PID controllers not properly tuned.
In particular on which joint did you see this behavior?

Hi @traversaro ,
we were mostly using the first three joints of the left arm.
By browsing through the .sdf files it seemed to me that /icub/icub.sdf and /icub_with_hands/icub_with_hands.sdf refer to the same configuration files (i.e. /icub/conf/gazebo_icub_torso.ini) and that they would use the same PIDs (but maybe I am wrong, I am not familiar with Gazebo).
Even where they use different .ini files, i.e. gazebo_icub_left_arm_no_hand.ini vs gazebo_icub_left_arm_no_hand_for_no_hand_model.ini the PiD values in the files look the same (sections [GAZEBO_PIDS], [GAZEBO_VELOCITY_PIDS]).
Here is a small example of what we do:

Launching gazebo with icub.world

Delete the iCub model from the scene

Insert iCub_with_hands model

start yarpmotorgui

Set joint 0 of left_arm (l_shoulder_pitch) velocity to 90.0

Set joint 0 of left_arm (l_shoulder_pitch) position to 5

Set joint 0 of left_arm (l_shoulder_pitch) position to -95
The wide and fast swing from one extreme position to the other will cause many joints to change their positions, including torso, elbow and wrist joints.
If the iCub is not fixed to the ground it will fall.

Delete the iCub_with_hands model from the scene and close the motorgui.

Insert iCub (no hands)

Repeat 5-7 on this model.
The iCub will slightly oscillate on the torso but it will stay mostly rigid (and it will not fall).

I can easily guess that the inertial parameters of the forearm/hand models are excessively large (graphically inspected within the simulator). This will be fixed.
However, I suggest not to move the l_shoulder_pitch joint of the REAL robot at a speed of 90 deg/s, it's dangerous for the robot and for surrounding environment and the humans nearby!

commit commit<PHONE_NUMBER>85ae62d8bdafab215587ee14c3e440 should have fixed the inertia matrix of the fingers. Can you give a try?

@randaz81 Thanks, it is definitely improved: the torso oscillates a lot less and the elbow is stiff.
The only problematic joint is the wrist (prosup, pitch, yaw).
It still seems that the hand is too heavy for those joints to keep it in position.
Joint wrist_yaw is also affected by this bug robotology/icub-gazebo#35  (but I am not sure if it contributes to this behavior).

robotology/icub-gazebo@a5205fa fixes the effort limits. It should be fine now. Please fell free to open a new issue in the icub-gazebo repo if you notice further issues. Thank you!

Thanks @randaz81, the body is now fine (torso, elbow, wrist).
There is some side-effect of the fixes on the hands which now have a constant small tremor and sometimes a finger twitches for a split second - I'll open a separate issue in the icub-gazebo later as suggested.

I noticed the finger twitching too in my machine @randaz81


Drop old-fashioned hand-made memory functions

Compilers these days are pretty good at providing optimized memcpy() and the like. They also have intrinsics (inlined) and even may have architecture-specific versions for greater performance.
So there is no point in keeping the copymem.h/.cpp stuff. It would be this way even if that TODO had ever been realized.
Just use the standard library routines for this and you'll be safe.

Pinging @punto- since I have a feeling that this might be related to consoles.

this is in the TODO list for 3.0 and will likely have to be applied after
the merge with the gles 3.0 branch
On Sat, Nov 5, 2016 at 11:12 AM, George Marques<EMAIL_ADDRESS>wrote:

Pinging @punto- https://github.com/punto- since I have a feeling that
this might be related to consoles.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/7041#issuecomment-258614059,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z24nsbHG0sA-FkTUYrIiC5LANhzIhks5q7I7GgaJpZM4KqPgr
.

also yes, it's related to consoles, should no longer be necesary even on
modern ones
On Sat, Nov 5, 2016 at 11:31 AM, Juan Linietsky<EMAIL_ADDRESS>wrote:

this is in the TODO list for 3.0 and will likely have to be applied after
the merge with the gles 3.0 branch
On Sat, Nov 5, 2016 at 11:12 AM, George Marques<EMAIL_ADDRESS>wrote:

Pinging @punto- https://github.com/punto- since I have a feeling that
this might be related to consoles.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/7041#issuecomment-258614059,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z24nsbHG0sA-FkTUYrIiC5LANhzIhks5q7I7GgaJpZM4KqPgr
.

No, this is more like very old code that was placed in there from the
Wii/NDS times.
There is nothing hidden officially, just punto mantains ports to consoles
on his own. The code you are removing is very old and should be removed
anyway, so that's fine
On Sat, Nov 5, 2016 at 11:53 AM, Pedro J. Estébanez <
<EMAIL_ADDRESS>wrote:

Sometimes I read about Godot and consoles, but I can't find anything in the
docs nor in the code.
What's the status on that? What consoles exactly are being targeted?
Is there any feature hidden in the open source release?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/7041#issuecomment-258616606,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z20W7XyPrlrkl0T1CSJfjUJ3BR5Seks5q7Jh6gaJpZM4KqPgr
.

why don't we implement copymem and zeromem as memcpy and memset? I don't
need the hand made functions, but I might need a mechanism to replace all
those calls with something else
On 5 November 2016 at 12:08, Juan Linietsky<EMAIL_ADDRESS>wrote:

No, this is more like very old code that was placed in there from the
Wii/NDS times.
There is nothing hidden officially, just punto mantains ports to consoles
on his own. The code you are removing is very old and should be removed
anyway, so that's fine
On Sat, Nov 5, 2016 at 11:53 AM, Pedro J. Estébanez <
<EMAIL_ADDRESS>wrote:

Sometimes I read about Godot and consoles, but I can't find anything in
the
docs nor in the code.
What's the status on that? What consoles exactly are being targeted?
Is there any feature hidden in the open source release?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/7041#issuecomment-258616606,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AF-
Z20W7XyPrlrkl0T1CSJfjUJ3BR5Seks5q7Jh6gaJpZM4KqPgr>
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/7041#issuecomment-258617557,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGVmPUzwZStDrGHtt1Lp9LYTijclZJpYks5q7JwDgaJpZM4KqPgr
.

@punto- Does sed count as a "mechanism"?

without having to maintain a patch like this :p the original idea of these
functions was to be able to replace them, but the default implementation
should be memcpy and memset, there's no reason for the hand made versions..
On 5 November 2016 at 14:52, Bojidar Marinov<EMAIL_ADDRESS>wrote:

@punto- https://github.com/punto- Does sed count as a "mechanism"?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/7041#issuecomment-258629522,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGVmPaRMVBLmYFDFVWTzd7_0LL5ka_7zks5q7MJBgaJpZM4KqPgr
.

How about this in copymem.h
#ifndef COPYMEM_H
#define COPYMEM_H
#include "typedefs.h"
#ifdef PLATFORM_COPYMEM
#include "platform_copymem.h" // included from
platform/<current_platform>/platform_copymem.h"
#else
#define copymem(to,from,count) memcpy(to,from,count)
#define zeromem(to, count) memset(to, 0, count)
#define movemem(to, from, count) memmove(to, from, count)
#endif
So you have the OS functions by default, and if the platform wants in can
define PLATFORM_COPYMEM and provide a "platform_copymem.h" in the platform
directory, and implement the functions there, similar to how we do with the
atomic stuff, and I think the gles includes. Then if you really want the
duff device memcpy, etc, they can be in a helper file somewhere, called
from the platform_copymem.h file, but not directly by copymem.h.
On 5 November 2016 at 15:03, Ariel Manzur<EMAIL_ADDRESS>wrote:

without having to maintain a patch like this :p the original idea of these
functions was to be able to replace them, but the default implementation
should be memcpy and memset, there's no reason for the hand made versions..
On 5 November 2016 at 14:52, Bojidar Marinov<EMAIL_ADDRESS>wrote:

@punto- https://github.com/punto- Does sed count as a "mechanism"?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/7041#issuecomment-258629522,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGVmPaRMVBLmYFDFVWTzd7_0LL5ka_7zks5q7MJBgaJpZM4KqPgr
.

@punto-  It's pointless, it's not needed anymore, it should be removed

In any case, this change makes no sense right now, will wait until 3.0 is in dropping compatibility mode to evaluate again what to do.

Master is for 3.0, isn't it?

yeah, but this needs to be done after the gles-3 branch is merged
On Sat, Nov 5, 2016 at 6:46 PM, Pedro J. Estébanez<EMAIL_ADDRESS>
wrote:

Master is for 3.0, isn't it?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/7041#issuecomment-258642826,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2z3GiacvhWFSujBw_38zmOktWdEdks5q7PlDgaJpZM4KqPgr
.

What if I drop this PR altogether and send one for 2.1 about the same?
It would not break anything and would be good for it.

On the stable branch I'm actually using the replacement functions for
copymem on some platforms, but I wouldn't mind if they defaulted to the
system functions everywhere else.. if it gets enough testing it should be
fine
On 6 November 2016 at 13:20, Pedro J. Estébanez<EMAIL_ADDRESS>wrote:

What if I drop this PR altogether and send one for 2.1 about the same?
It would not break anything and would be good for it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/7041#issuecomment-258691486,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGVmPUuWVdzKTVVhhJFnqEaTxuygz6mMks5q7f43gaJpZM4KqPgr
.

Well, I think I'll drop this by now and open one for 2.1 if I have time for it.


VM disk size seems limited to 10Gb

I've stumbled upon a low disk on the VM while working at my conda experiment.
df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           396M  6.1M  390M   2% /run
/dev/sda1       9.7G  9.4G  226M  98% /
tmpfs           2.0G  384K  2.0G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           396M   16K  396M   1% /run/user/112
tmpfs           396M   12K  396M   1% /run/user/1002

Yes the trick works.
I guess the next VM will have that, then, or do I make a new one now?

@paskino: if it is not too difficult, and the risk to break something is negligible, i believe you should make a new one now
to be safe, add the link to the current one to previous VMs in Downloads as VM with SIRF 1.1.0

What HDD size?

For the current 1.1.1 version of the VM I run the manual steps described in the link above.
For a more standardised way I plan to try the script found here https://github.com/hashicorp/vagrant/issues/3567 or
http://crysol.github.io/recipe/2015-11-17/vagrant-vdi-virtual-disk-for-virtualbox.html#.Wxf6QkgvxO8

I'd prefer not to muddy the waters and therefore NOT replace the current 1.1.1 VM with a new one. If we need this now, then I'd prefer if you'd upload a 2nd VM (saying it's 1.1.1 with extra disk space). If it all works fine, we could get rid of the older one of course

@paskino I think you've fixed this in the Ubuntu 18.04 upgrade?

@paskino, I'm sure this is fixed, but I cannot see where. Please confirm and then close.

yes, the bento box the VM is based on creates a 64Gb disk by default.


Oxidize CheckGateDirection

Summary
This PR ports the CheckGateDirection analysis pass to Rust.
Details and comments
This PR includes:

Until we have a Rust version of CouplingMap, the Python code converts the given coupling map to a set of  edge pairs and pass it as PySet to the Rust code.
The pass relies on the DAGCircuit.qubits registry for mapping instruction qubit args to qubit indices when checking gate direction against either a coupling map edge set or a target.
An unrelated change in dag_circuit.rs: making a pure Rust-friendly version of two_qubits_op

Close #12256

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

107 of 110 (97.27%)  changed or added relevant lines in 5 files are covered.
23 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.02%) to 89.195%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

crates/circuit/src/dag_circuit.rs
15
16
93.75%

crates/accelerate/src/gate_direction.rs
85
87
97.7%

Files with Coverage Reduction
New Missed Lines
%

qiskit/transpiler/passes/synthesis/unitary_synthesis.py
2
88.43%

crates/qasm2/src/lex.rs
3
92.23%

qiskit/synthesis/two_qubit/xx_decompose/decomposer.py
6
90.84%

crates/qasm2/src/parse.rs
12
97.15%

Totals

Change from base Build<PHONE_NUMBER>6:
-0.02%

Covered Lines:
71697

Relevant Lines:
80382

💛  - Coveralls

Some benchmark data, using circuits generated like this:
tqc = generate_preset_pass_manager(1, coupling_map=CouplingMap.from_heavy_hex(7))
    .run(qc)

and this:
tqc = generate_preset_pass_manager(1, GenericBackendV2(qubits))
    .run(qc)

where:
 qubits = 100
 qc = random_circuit(qubits, qubits, seed=12234)

(note that DAGCircuit.count_ops() gives different stats for the coupling-based vs. target-bases circuits but this is irrelevant for this check)
And results are measured like this:
%%timeit
check_direction_pass.run(dag)

Implementation
CouplingMap
Target

Python
1.48 s ± 46.5 ms
641 ms ± 11.4 ms

Rust
130 ms ± 7.02 ms
131 ms ± 5.23

So ~5-11X improvement in this check by moving to Rust. Note that CouplingMap is (still) in Python while Target is in Rust, which may explain the run-time differences in Python and the speed-up differences between the target vs coupling map cases.

Thanks @ElePT . There are 2 paths for this pass: one is based on coupling map and one on target. So I think it doesn't really matter for this benchmarking to have the same coupling constrains, as long as we use the same constraints in each path separately both in Python and Rust .
Anyway, FWIW, here is another comparison, this time using the same coupling constraints, basis gates and traspiler seed in all 4 runs (python/rust X coupling/target). DAGCircuit.count_ops() is now the same for all: {'rz': 27177, 'sx': 6193, 'cx': 161650, 'x': 70}:

Implementation
CouplingMap
Target

Python
3.2 s ± 537 ms
3.21 s ± 104 ms

Rust
263 ms ± 26.2
213 ms ± 4.2 ms

I see that I need to resolve conflicts in dag_circuit.rs now that Jake's PR #13033 is merged; Will do soon

Thanks @mtreinish for the review and very helpful comments!
Here is an updated benchmark result. The Target path became slower for some reason. I didn't explore why, I'd defer this for a later phase.

Implementation
CouplingMap
Target

Python
3.19 s ± 450
3.18 s ± 221

Rust
137 ms ± 6.81 ms
567 ms ± 15.6


refactor: routes refactoring

This PR contains quite a few changes, mainly related to extracting commonly used methods and improving error handling. Unfortunately, this code is currently quite difficult to test because it requires a database that the backend can connect to and the Senso credentials, so I don't have any good suggestions for testing it right now...

There's still two remaining TODO comments in these files, the first is related to checking for null values in ParseCarUseCase and ParseCarBuyerUseCase, so we just have to make sure we remove the comment in these files after we fix that.
The second one is related to abstracting JSON stuff more. @gnguralnick would you be able to take a look at that? The comment in question is the one on line 71 of Loan.java.

the TODO there was due to the fact that Loan.java is directly calling JsonObjectBuilder and JsonPackager rather than using the interfaces like the use cases do. I'm not sure though if there's any way to do this without just directly calling those, unless we put the packager or builder as parameters or instance attributes in Loan.java, which might just be unnecessarily complicated.

Ok, yeah for now I think we can leave it, plus that's really more of a refactor that needs to happen in that other package, so it shouldn't really be part of this PR anyways. I might leave the comment just so we know about it though, we can come back to it when we get to formatting those.


Cli parse

resolved: #237
details:

implement parse command
change ast Strint() function

[ ] Test case

Plz resolve conflict.

i resolved the conflict!!


Better fix for file browser race condition

With further testing I found I was still occasionally hitting the error in https://github.com/microsoft/azuredatastudio/issues/23832
Dug into it more and found out that while the order the messages was being sent in was now correct, the STS code still has async issues.
Here is the handler for the open request : https://github.com/microsoft/sqltoolsservice/blob/main/src/Microsoft.SqlTools.ServiceLayer/FileBrowser/FileBrowserService.cs#L96
Notice that we kick off the task but then immediately return true - which then allows the follow message to start processing. Normally the order would be expected to be this :

Open message received with no change filter (initialize)
Create FileBrowserOperation here : https://github.com/microsoft/sqltoolsservice/blob/main/src/Microsoft.SqlTools.ServiceLayer/FileBrowser/FileBrowserService.cs#L236 and store it
Complete initialization
Get second open message with change filter
Look up previous FileBrowserOperation
Apply filter and return

But because we weren't awaiting the first one to finish this is what happened

Open message received with no change filter (initialize)
Kick off Operation and return true
Start processing second open message with change filter
While initial open message is creating the operation, the second one tries to look up the operation and can't find it, so fails
Return succeeded = false and display error

The STS code isn't great, but in this case I found an even better solution was to remove the unnecessary second open message (with changeFilter) from even happening. This means that on launch of the dialog we only ever send the initialize message anyways and so there's no chance of any error happening. Passing in the item to select directly into setOptions skips the logic to send the "selection changed" event and so we never send that second message. This not only fixes the issue, but also improves performance since we don't have to redraw the tree for the second message.

Fully verified this time with private RC1 build and no longer see the error, and that only one open message is sent


SAMZA-2774: Resolve classpath symlinks

Manifest generation (application-level) is pointing to container-level symlinks instead of application-level files.
This will cause issues when multiple containers for an application land on a single host and the container the manifest is pointing to gets cleaned up.
[yyy@zzz filecache]$ cat /data/appcache/application_1668550466222_0989/filecache/10/xxx-0.0.672.tgz/classpath_workspace/manifest.txt|tail -n 2
 /data/appcache/application_1668550466222_0989/container_e114_1668550466222_0989_01_000003/__package/lib/zstd-jni-1.5.2-3.jar

[yyy@zzz filecache]$

This patch is to resolve those symlinks to their application level paths.

This should be tested more before merging. I'm working on setting up a personal test environment.

Here's a little test script just to verify the behavior:
#!/bin/bash

#set -x

rm -rf test_target_dir
rm -rf test_link_dir

mkdir test_target_dir
touch test_target_dir/target_file

mkdir test_link_dir
ln -s ../test_target_dir/target_file test_link_dir/link_file

file=test_link_dir/link_file
resolved_file=$( cd $(dirname $(readlink $([[ $OSTYPE == linux* ]] && echo "-f") $file)) ; pwd -P)

echo "resolved=" $resolved_file

file=test_target_dir/target_file
resolved_file=$( cd $(dirname $(readlink `[[ $OSTYPE == linux* ]] && echo "-f"` "$file")) ; pwd -P)

echo "original=" $resolved_file

Thank you for fixing it.
Can you please update the description according to - https://cwiki.apache.org/confluence/display/SAMZA/SEP-25%3A+PR+Title+And+Description+Guidelines


Hdx-8403-some-more-logs

@teodorescuserban @davidmegginson it looks good for me

After merging in the current dev branch, 5 unit tests are failing. Investigating ...


 I meant:
(define-global foo (args :name)
  (list name: name args: args))

(define-global bar args
  (apply foo name: 'bar args))

> (bar 1)
(name: "bar" args: 1)
> (bar 1 name: 'ignored)
(name: "bar" args: 1)


Pass handler list to overriden handlers

Initial checklist

[X] I read the support docs
[X] I read the contributing guide
[X] I agree to follow the code of conduct
[X] I searched issues and couldn’t find anything (or linked relevant results below)

Problem
Remark stringify currently accepts a list of handler overrides for how to stringify a node:
RemarkStringify, {handlers: {
    table: (node, parent, context) => {
        ...code...
    }
}

This table acts as a full override, however, it's sometimes useful to use the original behavior but apply some post processing. An example is for tables, where RemarkGFM does quite some work to serialize to string, I have code that just need to apply a particular regex to that output, but this is currently not possible.
Solution
Provide an additional argument to the handler callbacks so that they can observe the handler array BEFORE user applied applied overrides. Example desired interface:
RemarkStringify, {handlers: {
    table: (node, parent, context) => {
        let tmp = context.**originalHandlers**.table(node, parent, context);
        ...code modified tmp...
        return tmp;
    }
}

Alternatives
Change the RemarkStringify interface to have a new type of callback that is invoked after each stringify handlers runs. This new handler would be passed the string value output where it may transform it, then return a final value.
ex:
RemarkStringify, {posthandlers: {
    table: (txt) => {
        ...code modified txt...
        return txt;
    }
}

What do you think of instead, in index.js, re-exporting all of these?
You can then depend on this package yourself, version with semver, while tree-shaking will only pick out the one thing (tables) that you need?

That wouldn't handle extensions like GFM (table, rows, etc) though right? If i re-exported those handlers then only the base ones would be there? Or are you suggesting something else, sorry I don't follow?
I care about these in particular: https://github.com/syntax-tree/mdast-util-to-markdown/blob/d51bf747f55bdc383e689051abff80c63b0ca5f5/lib/configure.js#L19

We could do the same for those packages.
Especially for GFM features, originalHandlers feels off: as GFM handlers aren’t “original” at all?

That would work, but the downside to that is that there's lots of nested exports to export due to the structure of the GFM stuff.
To avoid that the handlers passed into options could be called handlerOverrides and then this library could prefer to dispatch overridden handlers vs the 'handlers'. Due to how the data binding works the 'original' handlers are already available via the context parameter.

Does your code actually do that? I haven’t tested with this package and the GFM packages, but it looks like the actual handlers are the same as “originalHandlers”, so that if you overwrite table with function x, then context.originalHandlers.table will be x?

My PR will make it so that all of the handlers registerd by extensions & default list are put on the key 'originalHandlers'. The user overrides are not put into this list  due to this line: https://github.com/syntax-tree/mdast-util-to-markdown/blob/fa06b79ba776fee83abce14f876ecf70504551db/lib/index.js#L35
Above I'm suggesting a change to this logic. Instead of making an originalHandlers key, the line I highlighted above would be changed to something like this:
let tmp = {...options};
tmp.handlerOverrides = tmp.handlers;
delete tmp.handlers;
configure(context, tmp)

The during dispatch the library would internally prefer handlerOverrides.

What you‘re trying to achieve seems to be get a “previous” handler: One extension defines a table handler A, another defines a table handler B. B wants to get access to A.
This is interesting, but what if:

There’s another extension that adds table handler C?
What if A was not defined?
What if A worked differently — something like this one

There are so many ifs, it sounds like trouble, and that depending on one of the extensions yourself and taking the handler from there, is explicit and versioned and perhaps better?

I actually don't care at all about extensions overriding each other. I only want the 'previous' handler before the user options.handlers override the registered ones. For this both solutions I propose should work in all cases.

I actually don't care at all about extensions overriding each other. I only want the 'previous' handler before the user options.handlers override the registered (extensions + built-in) ones. For this both solutions I propose should work in all cases.

That would fail in the case of my second and third examples though? Because either there would not be a table formatter, or a completely different table formatter was set as “previous”?
What is in the ...code modified tmp... in your original post? that might clarify to me what you’re doing.

From your previous comment:

My PR will make it so that all of the handlers registerd by extensions & default list are put on the key 'originalHandlers'. The user overrides are not put into this list due to this line:

I missed this, thanks for explaining
I’m not a fan of originalHandlers only working for user-provided options, extensions would expect them to work as well (but they don’t), I think that’s hard to explain/document/reason about.
And I think options itself should be treated the same as extensions — that options.handlers should be handled the same as extensions[x].handlers

Here is what I actually do right now with the current live version, where none of the suggested features are available:
import { toMarkdown } from 'mdast-util-to-markdown';
import { toMarkdown as gfmTableToMarkdown } from 'mdast-util-gfm-table';
//...
handlers: {
                    table: (node, parent, context) => {
                        console.log(gfmTableToMarkdown);

                        // this original GFM handler does this
                        let tbl = gfmTableToMarkdown();
                        let txt = toMarkdown(node, { extensions: [tbl] });

                        // then we take the original and regex | in header to ||
                        txt = txt.replace(/\n(\|-*\|)(-*\|)*/, '');
                        let parts = txt.split('\n');
                        if (parts.length > 1) {
                            let header = parts[0].replaceAll("|", "||");
                            parts.shift();
                            return header + '\n' + parts.join('\n');
                        }
                        return txt;
                    },
}

As you can see I have to re-create the implementation of how the GFM plugin's toString works. I'd like instead to be able to write:
handlers: {
                    table: (node, parent, context) => {
                        // invoke original handler before user override
                        let txt = context.originalHandlers.table(node, parent, context);

                        // then we take the original and regex | in header to ||
                        txt = txt.replace(/\n(\|-*\|)(-*\|)*/, '');
                        let parts = txt.split('\n');
                        if (parts.length > 1) {
                            let header = parts[0].replaceAll("|", "||");
                            parts.shift();
                            return header + '\n' + parts.join('\n');
                        }
                        return txt;
                    },
}

You're correct this code would not work if the originalHandlers.table wasn't defined. However, my own pipeline knows that I use the GFM plugin so will exist. And this is all defined at the callsite so it's not hidden anywhere. This feature is up to the user to know how to use, any undefined keys or anything don't matter at all until a user tries to call them:
const jiraConverter = Remark().use([
            [RemarkGFM, { singleTilde: false, tableCellPadding: false }], RemarkBreaks, RemarkDirective,  [RemarkStringify, {
                handlers: {
                    table: (node, parent, context) => {
                              // ... use originalHandlers, can see whole pipeline right here during config

I don't think it's reasonable to implement this feature to treat extensions the same as user options. To do this would require a stack/array that knows at which level is the current registered handlers. Each extension would have to then use the shared data context like this context.originalHandlers[context.level].table. This would require that the entire extension set is captured before a new one is rendered, then stored into this table forever. That's quite a bit of waste and complicates the data structures.
This isn't required if you treat just the user handlers as special, since there is only one level, the level just before when the user options.handlers are applied.

Thanks for your patience, I’ve been busy updating everything to ESM.
Your GUI events example, which you (and I) appreciate, is very close to what you in the next example explain as a wasteful, complex system. I agree that it is too complex, too. But it otherwise is a nice way of solving nesting. Events bubble up unless they’re handled.
Events work because it is unknown whether some other handler is attached or not.
In this case, you don’t want to bubble at all. You don‘t want remark-grid-tables to handle your table, because your code would crash and your code can‘t make a Jira table out of those grid tables.
And you don‘t want an error if a user forgot to add mdast-util-gfm-table when generating Jira flavored markdown either.
I believe you instead (should) have a direct dependency on mdast-util-gfm-table’s handler.
And your example code can be nicely converted to:
import {gfmTableHandle} from 'mdast-util-gfm-table'

handlers: {
  table: (node, parent, context) => {
      let txt = gfmTableHandle(node, parent, context);
      // regexes
      return txt;
  },
}

But even better, you could publish this as mdast-util-jira-table, and a remark-jira plugin wrapper. Then anyone can use unified, remark, mdast, with your projects to generate Jira, without having to add remark-gfm.

in the end that's what i did. I was hoping for a better interface though because I have to mimick how the plugin sets up its own handler and if that changes ill be chasing the interface. This might be the best way though, not sure I care much anymore since i've got it working ahah. Here is my total converter btw, actually ends up being pretty simple, except that i took a shortcut and used NodeToString which doesn't work in all cases properly with nested constructs (since custom jira stringifiers don't get called in NodeToString), but is good enough for me as most of my stuff is not nested:
const renderJira = (markdown) => {
        // convert all the markdown to jira

        const jirahandlers = {
            heading: (node, parent, context) => {
                let depth = node.depth;
                let value = NodeToString(node);
                return `h${depth}. ${value}`;
            },
            inlineCode: (node, parent, context) => {
                let value = NodeToString(node);
                return `{{${value}}}`;
            },
            code: (node, parent, context) => {
                let lang = node.lang;
                if (lang) {
                    return `{code:${lang}}\n${node.value}\n{code}`;
                }
                return `{code}\n${node.value}\n{code}`
            },
            horizontalRule: (node, parent, context) => {
                // always override with this, jira expects this
                return '----';
            },
            delete: (node, parent, context) => {
                let value = NodeToString(node);
                return `-${value}-`;
            },
            emphasis: (node, parent, context) => {
                let value = NodeToString(node);
                return `_${value}_`;
            },
            strong: (node, parent, context) => {
                let value = NodeToString(node);
                return `*${value}*`;
            },
            break: (node, parent, context) => {
                return "\n";
            },
            link: (node, parent, context) => {
                let url = node.url;
                node.url = "";
                let childContent = NodeToString(node);
                return `[${childContent}|${url}]`;
            }
        };

        const tableHandler = {
            table: (node, parent, context) => {
                // this original GFM handler does this
                let tbl = gfmTableToMarkdown();

                // table must use same handlers as rest of pipeline
                let txt = toMarkdown(node, {
                    extensions: [tbl], handlers: jirahandlers
                });

                // then we take the original and regex | in header to ||, as well as remove the | ---- | pattern below header
                txt = txt.replace(/\n\|\s+-*?\s+\|(\s+-*?\s+\|)*/, '');
                let parts = txt.split('\n');
                if (parts.length > 1) {
                    let header = parts[0].replaceAll("|", "||");
                    parts.shift();
                    return header + '\n' + parts.join('\n');
                }
                return txt;
            }
        };

        const jiraConverter = Remark().use([
            [RemarkParse, RemarkGFM, { singleTilde: false, tableCellPadding: false }], RemarkBreaks, RemarkDirective, [RemarkStringify, {
                handlers: { ...jirahandlers, ...tableHandler }
            }]
        ]);

Seems the current state is okay-ish! Glad its working fine for now!


Website SEO

I have feeling like website use some wrong keywords or something but in many cases when I try to search "templ" + something I dont get any results from this repository or templ website.
Maybe its just me or someone else notice the same?

This is a duplicate of #306
We closed it as templs search-ability is improving. If there are any specific searches you had trouble with though please do mention them so we can improve the website.


[Snyk] Upgrade html-snapshots from 3.13.1 to 3.14.0

Snyk has created this PR to upgrade html-snapshots from 3.13.1 to 3.14.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.

The recommended version was released on 2 days ago.

Release notes

Package name: html-snapshots

3.14.0 -<EMAIL_ADDRESS>

3.13.1 -<EMAIL_ADDRESS>

    from html-snapshots GitHub release notes

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:

🧐 View latest project report
📜 Customise PR templates
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

coverage: 99.245%. remained the same
when pulling 6b85d0f1626ec9588d0f80594b28f6a600ff7fca on snyk-upgrade-ed45ff6d19e183c4be032f511a625cef
into fc0f7252089c17c2103997800d76351edeccdd60 on master.

coverage: 99.245%. remained the same
when pulling 6b85d0f1626ec9588d0f80594b28f6a600ff7fca on snyk-upgrade-ed45ff6d19e183c4be032f511a625cef
into fc0f7252089c17c2103997800d76351edeccdd60 on master.


Questionable encoding decisions

(Opening a ticket here because my mail to dev@ disappeared
and there doesn't seem to be any other way to contact Parquet
devs - feel free to redirect me somewhere else)
I'm working on a small Parquet project and encountering
some surprising results with regard to encoding decisions.
My dataset consists of ~1.5MM log lines parsed to an Avro schema and
written to a Parquet file via AvroParquetWriter. According to its log
output, Parquet is writing all int/long columns out with either
[BIT_PACKED, PLAIN] or [BIT_PACKED, PLAIN_DICTIONARY]. This surprised
me - at least one of those columns is a monotonic epoch value that should be
quite amenable to the DELTA_BINARY_PACKED. What's the best way to
understand Parquet's encoding choices?
Secondary question: Is  DELTA_BINARY_PACKED supported for INT64
columns? The documentation1 says it is, but the code2 suggests
otherwise.
Cheers.
Reporter: Benjamin Anderson
Note: This issue was originally created as PARQUET-417. Please see the migration documentation for further details.

Benjamin Anderson:
Thanks Sergio - my message to dev@ hadn't appeared in the archives yet, so I got suspicious. Cheers.

Sergio Peña / @spena:
Moving questions to the dev@ list.

Sergio Peña / @spena:
Hi [~banjiewen], Several people were on vacation due to the holidays, that's why you got a slow response on the dev@ email. The issue you're reporting is not a bug but you might be using a different encoding version of Parquet.
Currently, Parquet has two encoding versions, PARQUET_1_0 and PARQUET_2_0. PARQUET_2_0 is an experimental feature where different types of encodings are applied per column type such the ones you are mentioning and also mentioned in https://github.com/apache/parquet-format/blob/master/Encodings.md. Only parquet 2.x versions have PARQUET_2_0 enabled by default. Parquet 1.x versions have PARQUET_1_0 enabled by default, but PARQUET_2_0 should be supported I think.
How are you writing your data to Parquet? Did you write your own application, or using Hive, Impala, or anything else?
Btw, I will close this ticket, and move the conversation to the dev@ list.


Cannot build example code rs-pointcloud.cpp

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ SR300}

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
Linux (Ubuntu 16)

Kernel Version (Linux Only)
4.13.0-38-generic

Platform
PC

SDK Version

Issue Description
Hello, I have successfully cmake and make the files with librealsense. When I want to build the rs-pointcloud.cpp with the command " g++ -std=c++11 rs-pointcloud.cpp -lrealsense2", it got the following error: rs-pointcloud.cpp:5:93: fatal error: example.hpp: No such file or directory
compilation terminated.
However, when I copy the example.hpp file to the same folder it shows the following error:
g++ -std=c++11 rs-pointcloud.cpp -lrealsense2
In file included from rs-pointcloud.cpp:5:0:
example.hpp:44:42: fatal error: ../third-party/stb_easy_font.h: No such file or directory
compilation terminated.
What is the good way to build these example files? Thanks.

Well, if you clone the repository you can build all the examples using -DBUILD_EXAMPLES=true.
Your way will also work, but you do have to isolate the dependencies used by our examples. This includes stb_easy_font, glfw and imgui for some examples. Alternatively, you can reduce the example to just SDK calls within console application, and it will also work.
Alternatively, you can look at the opencv examples. These examples assume you have opencv installation on your system, so they rely on opencv for window management and rendering.
The bottom line is that once you take some example code out of the SDK, it is up to you to figure out everything that is not strictly related to RealSense.

Hi @ljc19800331
Did you managed to compile the examples?

Hello@dorodnic , thanks for your help.
I can find the compiled and built-in example code in the Build folder in Librealsense. I am currently learning how to compile from scratch using the example.cpp and the other supporting file. Thanks.

Hello @dorodnic , I am experiencing the same issue but I am having trouble following you solution. I have attempted to clone the example repository again adding the extra lines you have but I believe I am entering it the wrong way. Could you please explicitly show the lines you entered?
Thank you

Hello, I had a similar experience using g++ to compile examples. I tried building the examples with cmake but I get:
RealSense error calling rs2_pipeline_start(pipe:0x558659fba0):
The requested pixel format 'INZI' is not natively supported by the Linux kernel and likely requires a patch!
Alternatively please upgrade to kernel 4.12 or later. Last Error: Inappropriate ioctl for device
Is there a straightforward way to upgrade to kernel 4.12 or higher?


Read Out Protection is not detected by st-flash and results in an error and no board detection

Today, I use a ST-Link v2 to download to my board ( STM32F103C8 ). The st-flash always report error and can't identify my board. Then, I try to it on Windows ( ST-Link Utility ). The ST-Link Utility report Cannot read memory! Disable Read Out Protection and retry. Discuss.
Finally, go to Target > Option Bytes > Read Out Protection and select Disable option. Take it back to OS X, it can be work.
I found some similar problem in this issues, which may help you solve the problem.
So, what is the Read Out Protection?

Read out protection is a feature of the microcontroller to prevent 3th party and malicious users reading out your application from flash memory. So they are not able to copy your products firmware.

Feedback closes #649.


Add recent CakePHP security issues.

I'm not sure if I did this right. I'm more than happy to massage these into a more acceptable format if I've made a mistake.

Thanks @fabpot


boost_sml_vendor: 1.1.11-1 in 'jazzy/distribution.yaml' [bloom]

Increasing version of package(s) in repository boost_sml_vendor to 1.1.11-1:

upstream repository: https://github.com/nobleo/boost_sml_vendor.git
release repository: https://github.com/ros2-gbp/boost_sml_vendor-release.git
distro file: jazzy/distribution.yaml
bloom version: 0.12.0
previous version for package: null

@github-actions this is a lot of reading required...
Why not a simple bullet list with green or red flags if I did it right...


Not a plain file error

Up until today "brew cu" has been working great! But today I get this error, then it stops:
(1/31) apache-directory-studio: up to date
(2/31) atom: 1.10.2 -> 1.11.0
(3/31) discord: up to date
(4/31) docker: up to date
Error: File '/Users/abutler/dropbox' is not a plain file

What it is complaining about is a folder, not a file. It's where I have my Dropbox folder.

I am getting the same thing.

Looks like the underlying issue might be this: https://github.com/caskroom/homebrew-cask/issues/25496

caskroom/homebrew-cask#25611

Fixed in https://github.com/Homebrew/brew/pull/1315.

Should be fixed and merged into stable now (as of 1.0.9)

Thanks for all your comments guys! Now I will close this issue and mark as resolved.


Add Redox OS as a target

lib/systems: Add Redox platform definitions
Motivation for this change
Redox is a Unix-like Operating System written in Rust, aiming to bring the innovations of Rust to a modern microkernel and full set of applications.
Per RFC0046, I hope for Redox to be a tier 5 platform, unsupported and somewhat functional. I'm developing a redoxpkgs overlay (inspired by @ehmry's genodepkgs) to patch packages to work for Redox. With this overlay, I can compile functioning packages such as binutils and the Rust cross-compiler. In turn, packages such as hexyl can be compiled without further modification beyond adding Redox to the package's meta.plaforms.
I marked this PR as a draft because it contains some changes (see below) that may need to be removed. More specifically, I made a few conditional changes that I couldn't figure out how to do via an overlay.
Note that relibc is downloaded precompiled from a filehosting service. It's precompiled because I've tried to compile relibc from source but it crashes during runtime on Redox. It's from a filehosting service because https://static.redox-os.org continually replaces its contents with new versions, breaking the Nix fetch hash. I've contacted Redox maintainers about this; it sounds like https://static.redox-os.org will have pinned versions in the future. I understand if using a third party filehosting service is a blocking security issue.
Things done
Things I'd like to keep in this PR:

updated lib/system to add x86_64-redox
added derivation relibc, the POSIX C standard library for Redox.
enabled the static overlay for Redox

Things I'm comfortable removing from this PR if necessary:

slightly modified gcc6 and rustc to support Redox (see note above)

slightly modified all-packages.nix to choose versions of toolchain packages based on isRedox

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)

Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"

[ ] Tested execution of all binary files (usually in ./result/bin/)

[ ] Determined the impact on package closure size (by running nix path-info -S before and after)

[x] Ensured that relevant documentation is up to date

[x] Fits CONTRIBUTING.md.

I think @NixOS/exotic-platform-maintainers would find this PR interesting, so I'll ping them here

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/redox-nix-was-where-does-the-cc-environment-variable-come-from/7784/9

Sweet! I just marked the PR as mergable (no longer a draft) :-)

I added the tests (https://github.com/NixOS/nixpkgs/pull/93568/commits/85486ecc3304d27fc042b05e0589893ee2e329b9) based on the Genode PR

I understand if using a third party filehosting service is a blocking security issue.
If you verified that the contents are correct, then they sha will validate  that contents haven't changed. I think that's alright.

I just squashed :-)

Testing could be done with redoxer

I hesitate to endorse adding a new libc without a clear way to test

I understand this. I just force-pushed a commit to this PR to remove platforms.linux from relibc's meta.platforms. I think it would be cool to allow relibc for Linux packages, but not in this PR.
However, I don't see any harm in keeping relibc, with Redox as the only supported platform.

@ofborg build relibc

I hesitate to endorse adding a new libc without a clear way to test

I understand this. I just force-pushed a commit to this PR to remove platforms.linux from relibc's meta.platforms. I think it would be cool to allow relibc for Linux packages, but not in this PR.

I didn't realize the libc was compatible with Linux, in that case its better to merge relibc with a Linux meta.platforms initially so that automated build tests work.
I see you found updateAutotoolsGnuConfigScriptsHook, roughly how much of the existing packages do you think will build?

I see you found updateAutotoolsGnuConfigScriptsHook, roughly how much of the existing packages do you think will build?

Inititally, very few, because many packages still need patches

Looks like @jD91mZM2 is contributor to redox itself.

Yep. @jD91mZM2 https://github.com/jD91mZM2 has done some work on packaging Redox, too, including redoxer. Super cool developer, and I've been talking with them to figure out how to make this PR

I see you found updateAutotoolsGnuConfigScriptsHook

H/t to @boomshroom for helping me find this. While attempting Redox+Nix in the past, they documented their progress and questions on IRC. I stumbled upon those IRC logs while searching the web, and they've been super helpful

I barely remember making those. In fact I had forgotten before you posted that, and I still didn't remember the updateAutotoolsGnuConfigScriptsHook part. I'm flattered that something I'd written was useful. I certainly didn't expect it, but I'm glad to see this here!

Yeah this looks good I don't wanna wait any longer :).

I made #93661, #93662, and #93663 for @aaronjanse to hopefully have time to look at.


Problems with H.264 codecs in firefox

Description

If I choose "video/webm;codecs=H264" mime type for chrome and record it, codecs of video file are correct but it doesn't play on firefox.
If I choose "video/mp4" mime type for firefox I still get record with vp8 codecs.
Maybe unrelated, but ts-ebml example doesn't work on both firefox and chrome for me.

versions
videojs
video.js 7.5.0
videojs.record.js 3.3.0
RecordRTC 5.5.3
browsers
Firefox 64 + Chrome 71
OSes
Ubuntu 18.10

If I choose "video/webm;codecs=H264" mime type for chrome and record it, codecs of video file are correct but it doesn't play on firefox.

See https://bugs.chromium.org/p/chromium/issues/detail?id=980822

right click and download the mp4 to your computer,
download ffmpeg (Windows build I'm using).
re-encode the mp4 using:
ffmpeg -y -i OLD.mp4 -profile:v main -level "3.0" -an NEW.mp4
upload it back to GitHub, it should work fine on Firefox now.
alternately upload to https://streamable.com and include a link.


Collecting errors from required files recursively

Closing this for now, because:

need to add the filenames (where the errors were found) together with the errors, right now error messages show the filename of the initial file
and also need to add test coverage

I'll reopen once these will be done.

@kipras either approach for storing errors would work fine (adding a filename field, or turning errors into a {string:{Error}} (isn't it cool we have types to talk about tables like these? :smile: )

Added .filename to ParseError, Error, Unknown, and added test coverage.

@kipras LGTM! Merged, thanks!!


switching up to long names for mt list observations

following on from mflist obs > 20.

Thanks for this @briochh .  Did you maybe forget to “git add” that new mt3d list file?

yeah, good catch @jtwhite79 . :facepalm:

Coverage decreased (-22.9%) to 55.602% when pulling 7878f0a0273f2e5bb336e298f3636f50eaaf11a1 on briochh:feature_mtlist_longobs into 97f343c3ad7af2f7a0adee0e26650152ba2001f8 on jtwhite79:develop.


Multilayer electrical routing not working

I was trying to use the multilayer electrical routing, but as soon as I try to do routing using, for example get_route_electrical_multilayer (from get_route.py) I get the following error:
`Traceback (most recent call last):
[...]
File "C:\Users\dettz\Dropbox (MIT)\gdsfactory\gdsfactory\components\coh_rx_single_pol.py", line 148, in coh_rx_single_pol
route = gf.routing.get_route_electrical_multilayer(pd_i1.ports["bot_e3"], pd_i2.ports["top_e3"])
File "C:\Users\dettz\Dropbox (MIT)\gdsfactory\gdsfactory\routing\get_route.py", line 132, in get_route
return route_manhattan(
File "C:\Users\dettz\Dropbox (MIT)\gdsfactory\gdsfactory\routing\manhattan.py", line 1054, in route_manhattan
points = generate_manhattan_waypoints(
File "C:\Users\dettz\Dropbox (MIT)\gdsfactory\gdsfactory\routing\manhattan.py", line 977, in generate_manhattan_waypoints
x = [gf.get_cross_section(xsection[0], **kwargs) for xsection in cross_section]
File "C:\Users\dettz\Dropbox (MIT)\gdsfactory\gdsfactory\routing\manhattan.py", line 977, in
x = [gf.get_cross_section(xsection[0], **kwargs) for xsection in cross_section]
TypeError: 'CrossSection' object is not subscriptable
`
I don't understand enough what functionality is this trying to implement. Is it so that one metal layer is used for vertical lines and one for horizontal lines?

Hi @mdecea,
First off, there was a bug in the code that I just fixed (PR #707), so thanks for the bug report!
Second, the multilayer routing is implemented in a bit of a hacky way currently, so instead of passing a CrossSection into get_route, you pass a MultiCrossSectionAngle, which is a list of CrossSection, angle pairs, and use a via_corner, which transitions between layers at 90-degree turns.
from get_route.py:
get_route_electrical_multilayer = partial(
    get_route_electrical,
    bend=via_corner,
    cross_section=[(metal2, (0, 180)), (metal3, (90, 270))],
)

This allows for very simple multilayer routing where you can have vertical routes on one layer and horizontal routes on another.
Hope this helps, let me know if you run into any more issues :)


fix(state-editor): update deepSync function

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
this should fix #710
Note: I didn't use this tab much so I wasn't sure about the functionality, right now if we edit a value in JsonEditor (for example something in Public Runtime Config), the prop.state is not getting updated. is that intended?

Yeah, I broke it in a few releases back 😅 I need to have a closer look to fix it.

great, thank you


terminal is not showinh correct commands

Type: Bug
im having  a issue in my vs code for the past two days where i cant push files throughb github as well as my file arent responding when edited
VS Code version: Code 1.86.2 (903b1e9d8990623e3d7da1df3d33db3e42d80eda, 2024-02-13T19:40:56.878Z)
OS version: Windows_NT x64 10.0.22631
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz (8 x 1800)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
7.79GB (1.99GB free)

Process Argv
--crash-reporter-id 3e55e73d-4ff5-4933-8af8-1aa79df3e683

Screen Reader
no

VM
0%

Extensions (14)

Extension
Author (truncated)
Version

codespaces
Git
1.16.10

vscode-language-pack-cs
MS-
1.85.2024021409

vscode-language-pack-de
MS-
1.85.2024021409

vscode-language-pack-es
MS-
1.85.2024021409

vscode-language-pack-fr
MS-
1.85.2024021409

vscode-language-pack-it
MS-
1.85.2024021409

vscode-language-pack-ja
MS-
1.85.2024021409

vscode-language-pack-ko
MS-
1.85.2024021409

vscode-language-pack-pl
MS-
1.85.2024021409

vscode-language-pack-pt-BR
MS-
1.85.2024021409

vscode-language-pack-ru
MS-
1.85.2024021409

vscode-language-pack-zh-hans
MS-
1.85.2024021409

vscode-language-pack-zh-hant
MS-
1.85.2024021409

LiveServer
rit
5.7.9

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vscorecescf:30445987
vscod805cf:30301675
binariesv615:30325510
vsaa593:30376534
py29gd2263:30899288
c4g48928:30535728
azure-dev_surveyonecf:30548226
vscrp:30673768
962ge761:30959799
pythongtdpath:30769146
welcomedialog:30910333
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
pythontbext0:30879054
accentitlementst:30887150
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
a89i1917:30961429
7j2b6412:30967274
e3gdj431:30958358
ccp2r6:30958158

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


Add a link to Docker api reference on each api endpoint in this library

I had some initial attempts at adding hyperlinks to Docker API Reference in #255 but we came to the agreement that using a macro like my proposed api_doc! that would wrap a struct or a function and annotate it with extra #[doc = ""] attributes was making the code unreadable and broke rustfmt.
Perhaps there is another approach to this problem. I see this as a nice quality of life improvement to reading the docs and I think its worth the effort to automatize it (maybe with a proc macro?)

Are you still planing to approach this, even though your PRs were closed unmerged? :pray:

Well I would definitely be interested but perhaps first we could come up with a proper way to add this before I submit any changes.

I think I mentioned it earlier, but I think a line like this at the end of doc comments would be sufficient since the API links are unlikely to change and even if they do a simple sed / search and replace should be able to find them all pretty easily.
/// [API Reference](api-link)


No Transaction hash returned from signing transaction on XDefi wallet

Describe the bug
No Transaction hash returned from signing transaction on XDefi wallet and also no returned error even when i wrap in a try catch block
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
I am supposed to get an object that contains the transaction hash or something similar like signing transactions with other wallets but nothing is returned, i followed the Xdefi docs on near contract and the method - signAndSendTransaction
Screenshots

Device (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Hey, @Ebube111 thank you for raising this issue.
You are right and this seems to be an issue only with the XDEFI Wallet it ideally should return a response of type FinalExecutionOutcome:
https://github.com/near/near-api-js/blob/master/packages/near-api-js/src/providers/provider.ts#L85
XDEFI Transaction response

Sender transaction response:

We will let the XDEFI Wallet team know about this issue.

Hey @Ebube111 , thank you for reporting. Just want to let you know that I was able to replicate issue and already working on fix, will keep you updated.

We will push hotfix today

@Ebube111 Thanks for raising the issue! The reported has been fixed with the latest version, and this issue can be closed now.


Feature Request: Parse strings as other types

The GDAX API full channel is a JSON API whose messages include numerical values that are for some reason encoded as strings. In order to parse these messages, I've had to implement manual parsing, but it'd be nice if there were some attribute that I could use to instruct serde_json to attempt to parse string-typed values as other types.
Example message from that API:
{
    "type": "received",
    "time": "2014-11-09T08:19:27.028459Z",
    "product_id": "BTC-USD",
    "sequence": 12,
    "order_id": "dddec984-77a8-460a-b958-66f114b0de9b",
    "funds": "3000.234",
    "side": "buy",
    "order_type": "market"
}

The from_str helper from https://github.com/serde-rs/json/issues/317#issuecomment-300251188 looks like it would work for any type that implements FromStr. Does that cover all the types in the GDAX API full channel?

Yeah, that's roughly what I've done in my implementation.
However, this gets tricky when you want to nest those fields. For example, if instead of having an f64 field, you want it to be optional, making it an Option<f64> field, then the attribute isn't sufficient. I ended up writing my own type - struct F64(f64) - and then using Option<F64>. It'd be nice if instead I could just do something like:
struct Foo {
    #[serde(deserialize_string)]
    bar: Option<f64>,
}

Yes the interaction of deserialize_with and Option still needs to be implemented. Let's follow up in https://github.com/serde-rs/serde/issues/723.


feat: auto-resume on start breakpoint

Fixes #65.
This PR is to automatically resume execution after debugger is paused on start, in case NODE_INSPECT_RESUME_ON_START environment variable is set to 1.

@jkrems I finally got to updating this. Hopefully should be all set now.


refactor: minio

What type of PR is this?
/kind refactor

What this PR does / why we need it
refactor: minio
Which issue(s) this PR fixes

Fixes #
Special notes for your reviewer

@0xff-dev  Please take this commit as a reference


CPU usage scaling with file-size

Given the following code:
ini_set("auto_detect_line_endings", '1');

$reader = \League\Csv\Reader::createFromPath(public_path($csv->file), 'r')
    ->setDelimiter($csv->delimeter)
    ->setEnclosure($csv->enclosure)
    ->setEscape($csv->escape);

$data = $reader->query();

foreach ($data as $row_num => $row) {
    //do nothing
}

Memory consumption is fine, achieving everything perfectly. However I see a higher CPU usage when using larger files. In a local environment:
38.8kb CSV -> Apache process reaches ~9% CPU
5.86MB CSV -> Apache process reaches ~45% CPU
Just wanting to know:

Is this an expected outcome? I assumed everything was processed row-by-row (which seems to be the case as memory usage is fine)
Is this something that could be rectified with proper server setup? (live setup is LNMP, local setup is WAMP)

Worth noting, adding a micro sleep in the loop usleep(100); normalized CPU usage to around 10% locally. The higher the sleep, the lesser the CPU usage.

Hi @ryzr sorry But I fail to reproduce this behavior on my personal laptop or on a remote server must be a configuration problem outside of the package scope


Add MIB resolution to OID model

What does this PR do?

Extend OID model so that it handles MIB resolution.
Also update parse_metrics() to use OID in order to avoid creating unnecessary ObjectIdentity objects. (Also update associated tests.)

Motivation

Preparatory work for using this model in check code (esp in OIDResolver). Refs #6014
Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Build was broken due to openmetrics config being out of sync. Updated PR to pull in fixes from #6247 and #6250.


write RTK Mutation for updateCardContent API call

the current implementation is using fetch, and convert that to RTK mutation.

Can you assign this to me? @bhtibrewal


Feature Request - Custom DNS for Containers

Hi all :)
would it be possible that you build in an option to set custom DNS-Server for Containers as mentioned in #572 ?
We will use pterodactyl at our lan party where running local steamcache proxies with dns rewriting. So it would be very nice to set the custom dns directly in the panel and not over editing files.
Thank you for you greate panel!
Kind regards danrokzz

There were ways to do this on the other thread. Did you read and attempt any of those solutions?

yes we have tested it with the /etc/docker/daemon.json file. with a fresh ubunut:14.04 docker container the dns where set to our custom values. but the the container created by the panel are still using google dns.
For testing we now rewriting the dns-queries from our wing to google to our local dns-servers. but maybe it would be a useful feature to set the dns server over the panel.

How are you setting the values in your core.json, and are you restarting the daemon and rebuilding servers after that change?

Closing due to lack of activity.

Just as general information: The core.json allows to set the dns of the containers yourself.
{
  "docker": {
    dns: ["ip1", "ip2"],
  }
}

Sorry for the lack of activity.
@schrej Thank you for the settings. I tested it successfully with a gameserver container. But the sftp container  still has google-dns.
My thought was that it might be a nice feature to be able to set the dns settings over the panel and not by hand in the core.json.
Kind regards danrokzz

You'll need to manually remove the scrappy-sftp container so it gets rebuilt.
Regarding the webinterface: That config option is rarely used and I personally think it's not worth the effort to include it in the panel.

This won't be a problem in the new daemon either since SFTP is handled internally, and not using a container.


Example not working: No Layer with layer name = conv1...

Hi! I got this error when I tried to run the example.. It says:
No Layer with layer name = conv1
No Layer with layer name = conv2_1
No Layer with layer name = conv2_2
No Layer with layer name = conv3
No Layer with layer name = conv4_1
No Layer with layer name = conv4_2
No Layer with layer name = conv5_1
No Layer with layer name = conv5_2
Skipping. Too many featuremap. May cause memory errors.
Skipping. Too many featuremap. May cause memory errors.
No Layer with layer name = MaxPool
No Layer with layer name = MaxPool_1
No Layer with layer name = MaxPool_2
No Layer with layer name = MaxPool_3
No Layer with layer name = MaxPool_4
Total Time = 39.663317
When I tried to use the command:
tf_cnnvis.get_visualization(graph_or_path = tf.get_default_graph(), value_feed_dict = feed_dict, input_tensor=None, layers=['r','p','c]', path_logdir='./Log',
path_outdir='./Output', force=False, n=8)
I tried it in a simple model with only 2 conv layers, 1 max_pool and 2 fc. It doesn't generate any outputs/log files..
Thank you in advance for looking into the problem I'm having.

Thank you for reporting the issue. Please reinstall with sudo python setup.py install and check whether the bug is fixed.

Hi, thank you for helping me with that! I didn't use the setup.py , instead, I just copy the entire folder to run it... because when I used the setup.py file, I would install it to the system python path, but I'm using anaconda instead, and when I call python from the terminal, the annconda python will be used. I'm not sure why the setup.py install it into the other python path..
The model I'm using is copied from somewhere in github, can't find the source now.. But it's a pretty simple one:
from future import absolute_import
from future import division
from future import print_function
import argparse
import sys
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
import tf_cnnvis.tf_cnnvis # I put the files in the folder called tf_cnnvis
FLAGS = None
def deepnn(x):
"""deepnn builds the graph for a deep net for classifying digits.
Args:
x: an input tensor with the dimensions (N_examples, 784), where 784 is the
number of pixels in a standard MNIST image.
Returns:
A tuple (y, keep_prob). y is a tensor of shape (N_examples, 10), with values
equal to the logits of classifying the digit into one of 10 classes (the
digits 0-9). keep_prob is a scalar placeholder for the probability of
dropout.
"""
Reshape to use within a convolutional neural net.
Last dimension is for "features" - there is only one here, since images are
grayscale -- it would be 3 for an RGB image, 4 for RGBA, etc.
x_image = tf.reshape(x, [-1, 28, 28, 1])
First convolutional layer - maps one grayscale image to 32 feature maps.
W_conv1 = weight_variable([5, 5, 1, 32])
b_conv1 = bias_variable([32])
h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1)
Pooling layer - downsamples by 2X.
h_pool1 = max_pool_2x2(h_conv1)
Second convolutional layer -- maps 32 feature maps to 64.
W_conv2 = weight_variable([5, 5, 32, 64])
b_conv2 = bias_variable([64])
h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2)
Second pooling layer.
h_pool2 = max_pool_2x2(h_conv2)
Fully connected layer 1 -- after 2 round of downsampling, our 28x28 image
is down to 7x7x64 feature maps -- maps this to 1024 features.
W_fc1 = weight_variable([7 * 7 * 64, 1024])
b_fc1 = bias_variable([1024])
h_pool2_flat = tf.reshape(h_pool2, [-1, 7764])
h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc1) + b_fc1)
Dropout - controls the complexity of the model, prevents co-adaptation of
features.
keep_prob = tf.placeholder(tf.float32)
h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob)
Map the 1024 features to 10 classes, one for each digit
W_fc2 = weight_variable([1024, 10])
b_fc2 = bias_variable([10])
y_conv = tf.matmul(h_fc1_drop, W_fc2) + b_fc2
return y_conv, keep_prob
def conv2d(x, W):
"""conv2d returns a 2d convolution layer with full stride."""
return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')
def max_pool_2x2(x):
"""max_pool_2x2 downsamples a feature map by 2X."""
return tf.nn.max_pool(x, ksize=[1, 2, 2, 1],
strides=[1, 2, 2, 1], padding='SAME')
def weight_variable(shape):
"""weight_variable generates a weight variable of a given shape."""
initial = tf.truncated_normal(shape, stddev=0.1)
return tf.Variable(initial)
def bias_variable(shape):
"""bias_variable generates a bias variable of a given shape."""
initial = tf.constant(0.1, shape=shape)
return tf.Variable(initial)
if name == 'main':
mnist = input_data.read_data_sets('MNIST_data/', one_hot=True)
x = tf.placeholder(tf.float32, [None, 784])
y_ = tf.placeholder(tf.float32, [None, 10])
y_conv, keep_prob = deepnn(x)
cross_entropy = tf.reduce_mean(
tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y_conv))
train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)
correct_prediction = tf.equal(tf.argmax(y_conv, 1), tf.argmax(y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
batch = mnist.train.next_batch(50)
feed_dict = {x: batch[0], y_: batch[1], keep_prob: 0.5}
sess.run((y_conv, keep_prob), feed_dict, options = run_options, run_metadata=run_metadata)
tf_cnnvis.get_visualization(graph_or_path = tf.get_default_graph(), value_feed_dict = feed_dict, input_tensor=None, layers=['r','p','c'], path_logdir='./Log',
path_outdir='./Output', force=False, n=8)

I can confirm these errors even when not using anaconda, but a virtualenv.
Way to reproduce it:

Clone the repo
Create virtualenv
source your new virtualenv
pip install Pillow numpy scipy tensorflow h5py
Convert the demo ipynb with jupyter nbconvert --to script tf_cnnvis_Example1.ipynb
Run

(tf_cnnvis) ╭─javiribera@sonic  ~/Downloads/tf_cnnvis/examples  ‹master*›
╰─$ py tf_cnnvis_Example1.py
100% [......................................................................] 243904576 /<PHONE_NUMBER>
Saved under ./alexnet_weights.h5
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
No Layer with layer name = conv1
No Layer with layer name = conv2_1
No Layer with layer name = conv2_2
No Layer with layer name = conv3
No Layer with layer name = conv4_1
No Layer with layer name = conv4_2
No Layer with layer name = conv5_1
No Layer with layer name = conv5_2
Skipping. Too many featuremap. May cause memory errors.
Skipping. Too many featuremap. May cause memory errors.
No Layer with layer name = MaxPool
No Layer with layer name = MaxPool_1
No Layer with layer name = MaxPool_2
No Layer with layer name = MaxPool_3
No Layer with layer name = MaxPool_4
No Layer with layer name = Conv2D
No Layer with layer name = Conv2D_1
No Layer with layer name = Conv2D_2
No Layer with layer name = Conv2D_3
No Layer with layer name = Conv2D_4
No Layer with layer name = Conv2D_5
No Layer with layer name = Conv2D_6
No Layer with layer name = Conv2D_7
Total Time = 37.623156

No file is created in the current directory.

For some reason the error above is fixed after this pull request...: https://github.com/InFoCusp/tf_cnnvis/pull/2
(test) ╭─javiribera@sonic  ~/Downloads/tf_cnnvis/examples  ‹master*›
╰─$ py tf_cnnvis_Example1.py
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
Reconstruction Completed for conv1 layer. Time taken = 3.557765 s
Reconstruction Completed for conv2_1 layer. Time taken = 10.330736 s
Reconstruction Completed for conv2_2 layer. Time taken = 11.265965 s
Reconstruction Completed for conv3 layer. Time taken = 38.331542 s
Reconstruction Completed for conv4_1 layer. Time taken = 19.666729 s
Reconstruction Completed for conv4_2 layer. Time taken = 20.610766 s
Reconstruction Completed for conv5_1 layer. Time taken = 10.944213 s
Reconstruction Completed for conv5_2 layer. Time taken = 10.348010 s
Skipping. Too many featuremap. May cause memory errors.
Skipping. Too many featuremap. May cause memory errors.
Reconstruction Completed for MaxPool layer. Time taken = 4.010168 s
Reconstruction Completed for MaxPool_1 layer. Time taken = 10.653442 s
Reconstruction Completed for MaxPool_2 layer. Time taken = 11.627388 s
Reconstruction Completed for MaxPool_3 layer. Time taken = 11.479884 s
Reconstruction Completed for MaxPool_4 layer. Time taken = 11.486936 s
Reconstruction Completed for Conv2D layer. Time taken = 4.330865 s
Reconstruction Completed for Conv2D_1 layer. Time taken = 13.503956 s
Reconstruction Completed for Conv2D_2 layer. Time taken = 12.696401 s
Reconstruction Completed for Conv2D_3 layer. Time taken = 46.248193 s
Reconstruction Completed for Conv2D_4 layer. Time taken = 23.508405 s
Reconstruction Completed for Conv2D_5 layer. Time taken = 23.400738 s
Reconstruction Completed for Conv2D_6 layer. Time taken = 16.414462 s
Reconstruction Completed for Conv2D_7 layer. Time taken = 17.022638 s
Total Time = 333.895082

Hi @shuang1330
Here's the slightly modified script you'll need to use- explanation added below.
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import argparse
import sys
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
from tensorflow.python.client import timeline
import tf_cnnvis.tf_cnnvis

FLAGS = None

def deepnn(x):
  x_image = tf.reshape(x, [-1, 28, 28, 1])

  W_conv1 = weight_variable([5, 5, 1, 32])
  b_conv1 = bias_variable([32])
  h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1)

  h_pool1 = max_pool_2x2(h_conv1)

  W_conv2 = weight_variable([5, 5, 32, 64])
  b_conv2 = bias_variable([64])
  h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2)

  h_pool2 = max_pool_2x2(h_conv2)

  W_fc1 = weight_variable([7 * 7 * 64, 1024])
  b_fc1 = bias_variable([1024])

  h_pool2_flat = tf.reshape(h_pool2, [-1, 7*7*64])
  h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc1) + b_fc1)

  keep_prob = tf.placeholder(tf.float32)
  h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob)

  W_fc2 = weight_variable([1024, 10])
  b_fc2 = bias_variable([10])

  y_conv = tf.matmul(h_fc1_drop, W_fc2) + b_fc2
  return x_image, y_conv, keep_prob

def conv2d(x, W):
  return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')

def max_pool_2x2(x):
  return tf.nn.max_pool(x, ksize=[1, 2, 2, 1],
                        strides=[1, 2, 2, 1], padding='SAME')

def weight_variable(shape):
  initial = tf.truncated_normal(shape, stddev=0.1)
  return tf.Variable(initial)

def bias_variable(shape):
  initial = tf.constant(0.1, shape=shape)
  return tf.Variable(initial)

if __name__ == '__main__':
  mnist = input_data.read_data_sets('MNIST_data/', one_hot=True)

  x = tf.placeholder(tf.float32, [None, 784])
  y_ = tf.placeholder(tf.float32, [None, 10])
  x_image, y_conv, keep_prob = deepnn(x)

  cross_entropy = tf.reduce_mean(
      tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y_conv))
  train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)
  correct_prediction = tf.equal(tf.argmax(y_conv, 1), tf.argmax(y_, 1))
  accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

  run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
  run_metadata = tf.RunMetadata()

  with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    batch = mnist.train.next_batch(50)
    feed_dict = {x: batch[0], y_: batch[1], keep_prob: 0.5}
    sess.run((y_conv, keep_prob), feed_dict, options = run_options, run_metadata=run_metadata)
    tl = timeline.Timeline(run_metadata.step_stats)
    ctf = tl.generate_chrome_trace_format()
    with open('timeline.json', 'w') as f:
        f.write(ctf)

    tf_cnnvis.get_visualization(graph_or_path = tf.get_default_graph(), value_feed_dict = feed_dict, input_tensor=x_image, layers=['r','p','c'], path_logdir='./Log', path_outdir='./Output', force=False, n=8)

The tf_cnnvis library is designed to compute the reconstructed image for input tensors which are 4D (samples x height x width x channels). The above network was taking in the images in a flattened format, i.e. (samples x (h*w*c)) at the first placeholder. These were being reshaped at a later point. The only change needed was to pass this reshaped tensor as the input tensor argument into get_visualization . That's been done in the above script and it works now.
Thanks to @shuang1330, we have now also included this in our examples directory.

Please test and close the issue if the bug has been resolved.


Post RailsDevs to real-world-rails

Add a post to the repos page of real-world-rails for RailsDevs.
URL: https://railsdevs.com
Repo: https://github.com/joemasilotti/railsdevs.com
https://github.com/posiczko/real-world-rails

I'd be happy to take this on! Should I just open a PR against that repo or is there an assignment process you have for issues?

Awesome, thanks @JeffMorhous!
Open a PR on their repo and post updates here. Once merged I'll send you the $20 bounty.

Awesome, thanks @JeffMorhous!
Open a PR on their repo and post updates here. Once merged I'll send you the $20 bounty.

Hi, is this still open?

@Milypm, right now @JeffMorhous is working on the issue. But they will post here if they can no longer complete it.
Feel free to watch the repository to know when new issues open up!

@Milypm, right now @JeffMorhous is working on the issue. But they will post here if they can no longer complete it.
Feel free to watch the repository to know when new issues open up!

Sure, thanks!

I apologize @JeffMorhous. I posted a PR already.
I'll try to remove it if you'd like. I didn't mean to jump ahead, as I wasn't sure what the expectations were until @joemasilotti posted his reply to @Milypm.
Let me know how we can resolve this.

Thanks for the quick PR @helpotters! Usually I ask for folks to claim an issue by commenting before submitting any work. But this one is a little weird since the code isn't going directly to my own repo.

No harm done @helpotters, nice work! Happy to have this re-assigned :)

Thank you for your quick response and flexibility, @JeffMorhous.
I apologize again. I wasn't aware of the assignment feature on Github, and will pay attention to it in the future. I owe you a solid!

Thanks for understanding, @JeffMorhous!
@helpotters - keep me posted on when the PR gets merged.

@helpotters @joemasilotti, Is this open?

Closing this because it seems like @posiczko isn't updating the repo anymore.

Unfortunate! Well, in that case, are you available for a quick chit-chat about Turbo?

For sure! Send me an email - it should be in my GitHub profile.

Hey , Is this issue is resolve or ongoing right now ?

https://github.com/joemasilotti/railsdevs.com/issues/791#issuecomment-1578814393

@joemasilotti If this Bounty is no longer valid could you close it out on https://beginnerbounties.com?

@esparkman closed.


StateHistoryPlugin with multiple stores undo/redo

First of all thank's so much @Datorama and @NetanelBasal  for the akita project! It's awesome and I love it!
I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ x] Support request
[ ] Other... Please describe:

Current behavior
I have 3 Entities similar to the movies, genre and actor demo. I wanted to add StateHistoryPlugin  to add undo and redo features. I do it with:
 this.stateHistory = new StateHistoryPlugin(this.moviesQuery);
Then I do 3 actions:
#1 -  change movie title name
#2 - change genre name
#3 - delete actor
When I press undo ( this.stateHistory.undo();) I get the action 1 undone.
Expected behavior
The expected behaviour is "the expected" but what if we get the action 3 undone?
What is the motivation / use case for changing the behavior?
We have 3 different stores and what's happening is expected but:

is there a way to handle this situation and get action 3 undone instead of 1?
if not:
do we need to keep which store was changed when and then apply the undo?
or best way is to combine the 3 stores into one?

Thanks again for the awesome work!

Hey,
Based on your example use-case, you can do the following:
[stateHistoryMovies, stateHistoryGenres, stateHistoryActors].forEach(plugin => plugin.undo())

It will undo the latest state in all the stores. It's a workaround but I think it could be a great addition to Akita.
thank's for the suggestion :)

It will undo the latest state in all the stores

I might don't understand your use-case. Can you please create a demo in stackblitz so we can experiment with the use-case?

Sorry didn't had much time to get an example working. Will try to get the demo done this weekend.

So here is my example:
https://stackblitz.com/edit/akita-movies-undo-redo-3querys-history
In this example I added a button that perform 3 actions one on each entity - movie, genre and actor. When the user presses undo he is expecting to undo all the 3 actions. But only the movie action is undone because its the only being passed to the state history plugin.
The option that you provided above would solve this problem:
[stateHistoryMovies, stateHistoryGenres, stateHistoryActors].forEach(plugin => plugin.undo())
But it would not differentiate when the user performed each action alone  so when the user presses undo it will perform one undo in each store even if the user wanted to undo action by action.
I think we need some CombinedStateHistoryPlugin. What do you think?

Thanks.

@shaharkazaz will work on that.

A quick update. We decided that we're not going to do that because there was no demand. We'll reconsider if there will be a demand — closing for now.


First iteration of CONTRIBUTION.md

Documented how to contribute to the project in CONTRIBUTION.md.
Created the design directory and placed placeholders for the
referenced documents from CONTRIBUTION.md.

Adjusted the roadmap to prioritize documenting what we are doing before starting to actually add more code.


moby-compose: patch CVE-2024-45337

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

What does the PR accomplish, why was it needed?
Add patch to resolve CVE-2024-45337 in moby-compose vendor source
Change Log

Patch CVE-2024-45337 in moby-compose

Does this affect the toolchain?

NO
Associated issues

#xxxx

Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-2024-45337

Test Methodology

Pipeline build id: xxxx

rust and mozjs has been failing for a while. Might not be caused by this change.

Confirmed, the failing tests have been failing on main

Auto cherry-pick results:

main :white_check_mark: -> https://github.com/microsoft/azurelinux/pull/11660

Auto cherry-pick pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=696596&view=results


Naive fix for Java 10 as WeakPairMap

WeakPairMap has been moved to java.lang from java.lang.reflect in Java 10

FWIW, seems the class has been moved before JDK 9 GA:
https://bugs.openjdk.java.net/browse/JDK-8177530
So seems the version check is indeed not needed (I don't think we need to support pre-release versions of JDK 9 anymore). But good catch noting the classes were moved!


util: Fix read_yaml_from_url

CLOUDBLD-1063

The method incorrectly assumed that passing decode_unicode=True to the
iter_content() method of a response would always produce unicode
chunks. That it not the case when the Content-Type of the response is
not appropriate. Instead, make sure chunks are always bytes and decode
them explicitly.
Signed-off-by: Adam Cmiel<EMAIL_ADDRESS>Maintainers will complete the following section

[x] Commit messages are descriptive enough
[x] Code coverage from testing does not decrease and new code is covered
[x] JSON/YAML configuration changes are updated in the relevant schema
[x] Changes to metadata also update the documentation for the metadata
[x] Pull request has a link to an osbs-docs PR for user documentation updates
[x] New feature can be disabled from a configuration file

Release notes: Fixed method of reading yaml files from URLs to support responses with binary Content-Type


Task: Create the AWS Greengrass Deployment

US: 1957
In the backend, the deployment should be created as a custom Json deployment to AWS greengrass.

@hocinehacherouf please add some details about which APIs to use.


Update phrasing in aspnet-mvc-4-entity-framework-scaffolding-and-migrations.md

Change of phrasing to read more smoothly.

Thank you for the PR, @CrownedPhoenix!

Thank you for the PR, @CrownedPhoenix!


Control doesn't update on queries page

So this control doesn't update when it's shown on the side pane of query results and you click through the query results.
I personally think it's a fundamental issue with the queries page, but DevOps Support disagrees. See here:
https://developercommunity.visualstudio.com/content/problem/629249/custom-controls-dont-update-on-side-pane-in-querie.html

Fixed with #14


search not working with me

{{baseUrl}}/channel/{{rId}}/message?mT=_dsff

it generate
MongoQueryModel {
 limit: 100,
 skip: 0,
 select: {},
 sort: {},
 populate: [],
 filter: { mT: '_dsff' }
}

Hello, thanks for your collab.
I don't understand the reason why the search doesn't works for you. As I wrote in the lib documentation, on rules topic:

Anything other than limit, skip, page, sort, select and populate will be considered a filter;

So if you type a query where the key is mT and the value is _dsff, the lib will consider this search as a filter, so in the field filter you will get the pair { mT: '_dsff' }. You can use it for get some data in the database, using the prop filter from the MongoQueryModel. For example:
@Injectable()
export class MessageService {
  constructor(
    @InjectModel(Message.name)
    private readonly _model: Model<MessageDocument>,
  ) {}

  async find(query: MongoQueryModel) {
    return this._model
      .find(query.filter) // in this case, .find ({ mT: '_dsff' })
      .limit(query.limit) // in this case, .limit(100)
      .skip(query.skip) // in this case, .skip(0)
      .sort(query.sort) // in this case, .sort({})
      .select(query.select) // in this case, .select({})
      .exec();
  }
}


Support gems no longer affect the base mana cost of skills

It seems one of the recent updates (1.4.124?) broke the mana cost calculation - whatever support gems you add to a skill, the displayed mana cost (in both the left panel and the calc panel) isn't updated.

maybe it doesn't adjust mana reservation when some aura is linked with lv3 enlighten

Fixed in the latest update.


ds create command

Initial prototype for the ds create command.
Currently, this creates ( and overwrites! currently the easiest, but not ideal  ) a Package.toml for the user's current working directory. Opening this to see if this is the right direction to go in.
Some questions

What is a valid name?

Will it always consist of<EMAIL_ADDRESS>

~Should entropic Package.toml versions be validated against semver?~ Finished

Is there any additional meta data that should be appended?

~- Warn before overwriting?~ I went ahead with this. I think would be bad to overwrite someone's file
TODOS:

[ ] Figure out tests / fixtures
[ ] Figure out testing stdin / stdout
[ ] Name validation
[ ] Version validation

How about init? In no way trying to copy other CLI tools, but I feel it fits better than create. Create is often used as the first arg of a two arg command, e.g. ds create entity ds create snargleflargle.

@varjmes init does feel more familiar, but I was largely going off of the CLI, "Commands that should exist".
Totally open to whatever people generally feel best about typing.

+1 for init over create

Ooh, there's some distinction here. In entropic, you can create a package on the registry without publishing any versions to it. publish automatically creates the package if it detects it missing. You can see this here. It exists so you can register a package without having the code ready / set up initial security settings like 2FA ahead of publishing. (It's sort of like a sanctioned typosquat, but since everything is namespaced & federated it's not quite so big of a deal.)
init, on the other hand should purely initialize a directory for work.

@chrisdickinson Ah, I see. So I've created an init command here.
I'll update and rename this command, but maybe I can pull some ideas from #189 as to how a Package.toml should be initialized.

@ceejbot gotcha! I'd be happy to contribute to a "terminology" doc so we don't lose all this useful info in these issues.