Export changes the window's scene to the context's active scene.

Context: I am using python to automate exporting a number of GLTF files from various objects stored in different scenes in my .blend file. For each of the exports, my code uses context.temp_override(scene=...) to make the appropriate scene active, then invokes bpy.ops.export_scene.gltf(use_active_scene=True, ...).
After invoking bpy.ops.export_scene.gltf(), the currently active scene in the UI is changed to the scene that I passed into temp_override(). This is particularly annoying when I am in a workspace with a pinned scene, as the export changes which scene is pinned.
This seems to be due to: gltf2_blender_gather.py lines 36-48:
    store_user_scene = bpy.context.scene
...
    # restore user scene
    bpy.context.window.scene = store_user_scene

Ideally the GLTF export ought to be using temp_override() itself instead of changing the context. But at least to ensure the export restores the same scene as was in the window beforehand, line 36 ought to be:
    store_user_scene = bpy.context.window.scene

Hello,
Let's do it in 2 times:

First, change export as you suggested on line 36
Investigate & regression checks if we can use temp_override()

This can also be fixed in collaboration with #1943 & #1073 to better handle context & depsgraph


Static viewports in graphics pipeline

Allow to specify the viewports/scissors statically on graphics pipeline creation. We enforce dynamic viewports for the users. The other backends can easily emulate this by adding the corresponding calls on pipeline binding.

Related issue: https://github.com/gfx-rs/gfx/issues/1567


Cancelling onMediaSeekRequest does not reset TimeSlider when paused

Current Behavior:
It seems both ways of canceling the onMediaSeekRequest from the Docs functionally work but the Thumb still moves to the seeked position.
When the player is playing this is not really a problem since the Thumb positions updates immediately after.
But when paused the TimeSlider indicates a position that does not correspond with the currentTime of the player.
Expected Behavior:
When canceling onMediaSeekRequest the TimeSlider should reset to the (actual) position before the cancelled seek.
Steps To Reproduce:
Code to reproduce looks something like this
<MediaPlayer […] onMediaSeekRequest={(time, nativeEvent) => nativeEvent.preventDefault((}>…</MediaPlayer>

With a paused player drag & drop the Thumb to any position.
Reproduction Link: [How to create a repro?][repro]
Sorry, the example Stackblitz examples are broken for me and do not load the media.
(But this would probably be the example here)
Environment:
Example:

Framework: React
Meta Framework: Next.js
Node: 20.12.1
Device: older MacBook
Browser: Chrome@latest
-->

Anything Else?
Expected (when playing):

Buggy (when paused):

sidenote:
it's not nice, but this workaround improves the behaviour :)
if (player.paused) {
  void player.play().then(() => player.pause())
}


[MRQL-80] Support Flink 0.10

Great changes. :)

Hi @fegaras, Flink community is currently voting to release minor release of 0.10. (http://markmail.org/message/xqpsfrjrkk2oila7). Could you wait upgrading Flink version until releasing 0.10.1?

Hi @fegaras, the Flink community announced the availability of Flink 0.10.1 (http://flink.apache.org/news/2015/11/27/release-0.10.1.html). :)


[codelab]

I've been making changes to my html documents and styling sheets yet when I refresh the pages nothing changes I've tried clearing the cache but it doesn't work.
I've been following material design components(MDC) for web tutorials it started off well in the beginning no problems but then I stopped so I could come back to it later on and that's when all the changes in my code weren't being reflected on refreshing the page. I start off by opening gitbash, then starting the server using the command 'npm start' and opening my browser to localhost:8080 and that's all what am I doing wrong here?? Any suggestions??

Since there is no activity, closing this issue.


no-leaked-conditional-rendering maybe no need to check conditional expression

{ x ? y : z }
{ y }
{ x && y }

I just realized that maybe y in a normal expression is no different from y in a conditional expression. They are both what the user expects to be rendered. But x is different, when x is false, it may cause rendering of something other than what is expected.
For example, the following should be the correct code
const SomeComponent = () => <div />;
const someFunction = (input: unknown) => input as number;

const App = ({ someCondition }: { someCondition?: number | undefined }) => {
  return <>{someCondition ? someFunction(someCondition) : <SomeComponent />}</>;
};

But what about { x ? w && y : w && z }, Logical expressions directly inside the conditional expression 🤔.

But I'd fix the false positives in the above example first anyway.

I've reverted the implementation back to before adding the test node check, and fixed the false positives. It seems that I was right in the beginning, we don't need the test node to be checked in this rule 🥹.


rabbitmq: Secret values are rotated on upgrade

After performing an upgrade of the RabbitMQ chart, the secrets get set to new values, breaking authentication where it is used elsewhere in the cluster.
Here is a simple proof of concept for the issue, the echoed value will be different after the upgrade, but the persistent state for RabbitMQ still has the original password stored.
helm install stable/rabbitmq --name amqp
echo $(kubectl get secret amqp-rabbitmq --template '{{index .data "rabbitmq-password"}}' | base64 -D)
helm upgrade amqp stable/rabbitmq
echo $(kubectl get secret amqp-rabbitmq --template '{{index .data "rabbitmq-password"}}' | base64 -D)

I could go the route of setting the password to a persistent value that I define at install time, but is there any way to make this work without adding external password management?

I have this issue right now in the RethinkDB chart I've just created.  I'm not really sure what would be a good fix...

Yeah, my original intention was to follow this up with a PR fixing the issue, but I couldn't find a path forward. There's a warning about this issue in the docs as well: https://github.com/kubernetes/helm/blob/master/docs/charts_tips_and_tricks.md#be-careful-with-generating-random-values
There is ongoing discussion within Helm [1] [2] to add first class support for secrets, hopefully that functionality will be able to solve this problem as well.
[1] https://github.com/kubernetes/helm/issues/2196
[2] https://github.com/kubernetes/helm/issues/2083

Looks like I might have to stop doing a random password until this can be fixed. Also, leaking passwords in Tiller isn't great as well ><.


Implement GCS for pachctl deploy storage ...

pachctl deploy storage ... allows users to pull in object store data into Pachyderm running in one cloud from another cloud. This is currently implemented for aws and Azure, but not GCP (i.e., GCS):
joeyzwicker$ pachctl deploy storage azure
Usage: pachctl deploy storage azure <account name> <account key>
JosephZckersMBP:~ joeyzwicker$ pachctl deploy storage google
deploying credentials for GCS storage is not currently supported
JosephZckersMBP:~ joeyzwicker$ pachctl deploy storage aws
Usage: pachctl deploy storage aws <region> <id> <secret> <token>

@jdoliner or @sjezewski -- the framework for this is all there, but GCS just hasn't been implemented yet. Should be pretty easy.
Not sure if this is relevant, but the user also said, "I get that gcs is a pain because it must be an environment variable to a json file"

So it turns out that the reason this wasn't implemented initially is that our current GCS library only supports getting credentials through GCE node's credentials, you can't encode the creds as a secret and add them to, for example, an aws node. This shouldn't be too hard to fix, there's a new library that we can use that should do what we want. Still it'll require migrating to a new library so it's not totally trivial work.

Fixed in #2610


[AIRFLOW-2264] Improve create_user cli help message

Make sure you have checked all steps below.
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-2264

Description

[x] Here are some details about my PR, including screenshots of any UI changes:
improve the new create_user cli command help message.

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

[ ] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

@feng-tao We're working on our code quality. Therefore we've introduced Flake8 code standard checking on the diff's. Could you fix the violations? Thanks!

Codecov Report

Merging #3168 into master will increase coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3168      +/-   ##
==========================================
+ Coverage   73.77%   73.85%   +0.08%
==========================================
  Files         191      191
  Lines       14349    14349
==========================================
+ Hits        10586    10598      +12
+ Misses       3763     3751      -12

Impacted Files
Coverage Δ

airflow/bin/cli.py
61.36% <ø> (ø)
:arrow_up:

airflow/models.py
87.23% <0%> (+0.04%)
:arrow_up:

airflow/jobs.py
80.08% <0%> (+0.44%)
:arrow_up:

airflow/utils/helpers.py
54.02% <0%> (+2.87%)
:arrow_up:

airflow/task/task_runner/bash_task_runner.py
100% <0%> (+6.66%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e21a2d2...784239d. Read the comment docs.


[Bug]: Error after updating to kafka 1.19.8 from 1.19.1

Module
Kafka
Testcontainers version
1.19.8
Using the latest Testcontainers version?
Yes
Host OS
MacOS
Host Arch
ARM
Docker version
26.0.0

What happened?
I tried to upgrade the kafka testcontainer from 1.19.1 to 1.19.8 in a Spring boot 3 application written in Java 17.
The test compiles and runs fine with version 1.19.1. But after the upgrade, it throws NoClassDefFoundError.
@Testcontainers
@SpringBootTest(classes = KafkaApplication.class)
class KafkaIntegrationTest {

    @Container
    private static final KafkaContainer KAFKA = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:latest"));
    // Failing in the line above.
}

Relevant log output
java.lang.NoClassDefFoundError: org/testcontainers/containers/ContainerDef
        at com.spring.kafka.delay.KafkaIntegrationTest.<clinit>(KafkaIntegrationTest.java:36)

Additional Information
No response

Please, make sure all your testcontainers dependencies have the same version. I highly recommend using the bom.


First stable version

Aims

Python 3 stable version
More detailed description and documentations about all analytical steps
Improve statistical methods (e.g. FDR calculation, more complex analysis for drug combinations, etc.)
Make it easier for users to run the pipeline
Expand use cases to custom library designs
Enable Exploratory Data Analysis (EDA) in Jupyter notebook

To-do list

[X] Set up the auto-generated documents – https://screenpro2.readthedocs.io.

[ ] #23

[X] abearab/ScreenPro2#22
[ ] #16
[ ] abearab/ScreenPro2#21
[x] Debug Python 3 scripts

[x] #9
[x] abearab/ScreenPro2#22
[x] Use pseudogenes in phenoScore module [hold]

[ ] #18
[ ] Provide demo dataset and analysis for V2 and V3 library
[ ] #10

Future

Building python dash app from a set of screens
Compatibility with CanDI

This tool will be further developed at Arc Institute's GitHub – https://github.com/ArcInstitute/ScreenPro2


fix: blob gas -> gas conversion

This change is

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 70.94%. Comparing base (5cf3a4f) to head (d3f538a).
Report is 4 commits behind head on main-v0.13.1.

Additional details and impacted files
@@               Coverage Diff                @@
##           main-v0.13.1    #1759      +/-   ##
================================================
+ Coverage         69.57%   70.94%   +1.36%
================================================
  Files                59       59
  Lines              8208     8078     -130
  Branches           8208     8078     -130
================================================
+ Hits               5711     5731      +20
+ Misses             2031     1937      -94
+ Partials            466      410      -56

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Vertical Bracket-Pair not visible

Issue Type: Bug
When using Bracket-Pair colorization in a JavaScript file on a function aligned to the left I do not see the vertical line.
If I use a space as indendation (so 1 character to the right) the vertical line comes up.

VS Code version: Code 1.62.2 (3a6960b964327f0e3882ce18fcebd07ed191b316, 2021-11-11T20:56:38.428Z)
OS version: Windows_NT x64 10.0.19042
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz (12 x 2592)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.77GB (14.51GB free)

Process Argv
--folder-uri file:///c%3A/Dev%20Learning/Udemy/JavaScript%20-%20The%20Complete%20Guide%202021%20%28Beginner%20%2B%20Advanced%29/04-control-monster-killer-starting-project --crash-reporter-id 7d10d3bc-bb4a-452c-9722-1f26a164d34d

Screen Reader
no

VM
0%

Extensions: none
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30384385
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
dockerwalkthru:30377721
bridge0723:30353136
pythonrunftest32:30373476
pythonf5test824:30373475
javagetstartedt:30391933
pythonvspyt187:30373474
vsqsis400:30386382
vsaa593:30376534
vssld246:30386377

Not happening for me (tested with a .ts rather than a .js, but I wouldn't expect that to be significant)

Indeed, .js or .ts doesn't make any difference. But on my system still not visible.

Found the source of the problem.
If I put my 'Custom Scale Settings' in  back to 100% the vertical-line becomes visible.

Here's a summary of my understanding in this area:

when using a window.zoomLevel value which is non zero, or when using the scaling feature in Windows, Chromium internally creates a zoom factor, perhaps something like 1.25.
we paint all our <div>s at integer coordinates and with integer widths and heights on our side.
but Chromium begins multiplying all our integers with the zoom factor.
this causes the nice integers to become floats and at one point there will be rounding errors or situations where a certain integer, based on how it aligns will round up or down and introduce a gap or jitter, etc (e.g. imagine a segment from 150-151 becoming 160.55-161.45 which will be rounded to 161-161, etc).

If you are sensitive about pixel perfect rendering, I recommend:

close all instances of vscode
execute  code --force-device-scale-factor=1 (this will instruct Chromium to ignore the multiplier scale coming in from Windows). This can be persisted using F1 > Preferences: Configure Runtime Arguments or by modifying the shortcut.
configure window.zoomLevel: 2 or 3 and then reduce the fontSize and lineHeight. It could be that one of these zoom levels results in a better zoom factor with smaller (or more rare) rounding errors, given how floats are represented.

But that being said, I don't think there is any possible code change that we could do on our side.


I can model an embedded subprocess

Can have input/output mappings like a service task, so the XML would look something like this:
<subProcess id="subProcess" name="subProcess">
  <extensionElements>
    <zeebe:ioMapping>
      <zeebe:input source="$.key" target="$.foo"/>
      <zeebe:output source="$.foo" target="$.key"/>
    </zeebe:ioMapping>
  </extensionElements>
</subProcess>

Done with release 0.2.0


WebSite proof-read and review

You can check the new Home of the library www.filehelpers.net
Spellcheck it and correct some grammar.
You must clone the gh-pages branch:
https://github.com/MarcosMeli/FileHelpers/tree/gh-pages
Or use the Edit Icon in the upper right margin of the pages, edit the contents online and send a pull request :+1:

@MarcosMeli I can take a look at the page for you. I'll send a pull request with any changes.

Great @jboyer2012 !!!
You can just use the edit button in the upper right corner of each page to make changes
Thanks !!

Is this issue still active

The website got already many grammar fixes and typos.
Although not being a native English writer / speaker, I will close it now 😉
Do not hesitate to send us fixes or pull requests.
Thank you, Matthias


Improved Error Messaging for Node Crashes on Windows, Linux

It closes #1469
How to test
see #1469
Example
Windwos
https://github.com/spacemeshos/smapp/assets/54288612/74989c56-51b7-426a-b372-de5d81705d68
Ubuntu
https://github.com/spacemeshos/smapp/assets/54288612/c84d2d22-f6d3-4b21-9a19-c5724a1e112d

need to resolve Windows error cases and improve openCL detection

Btw, also I'm not sure that we should display the CHECKLIST for ANY error...

Once the Node was successfully working and then failed with some error (I just killed the node, running on macOS) — the only reasonable advice there is to check logs... which is a common recommendation :)
So I'd prefer to display this stuff only if the node cannot start at all

Btw, also I'm not sure that we should display the CHECKLIST for ANY error...

Once the Node was successfully working and then failed with some error (I just killed the node, running on macOS) — the only reasonable advice there is to check logs... which is a common recommendation :)
So I'd prefer to display this stuff only if the node cannot start at all

I totally agree +  I suggest discussing the content of this checklist. I'm not sure about the local setup recommendation (point 6), I'm afraid it may introduce more noise and complications than actually help the Users to understand anything.
If someone is fluent enough in tech and crypto, he probably runs a CLI node and is able to read and roughly understand the logs. If someone has encountered an issue and is not able to understand what happened (using logs, Discord, docs etc.) then most probably he will not be able to understand anything more if he ever manages to set up the local build correctly. WDYT?

point 6
Actually we may recommend to run go-sapcemesh directly if nothing helps — probably it will display some unknown (for us) System Error. But it should not sound like "do some local setup..." — you just need to run go-spacemesh that is already installed (inside Smapp). Or I didn't get that point?

OpenCL Detection Options
Currently, our OpenCL detection process follows established paths, making it easy to implement. However, there are alternative methods to consider:

Directly Querying gRPC API from Node:

This involves fetching information directly from the gRPC API in Node to check if OpenCL is enabled.

Creating a C++ Wrapper to Check for CL Headers:

Another approach is to develop a C++ wrapper that checks whether the OpenCL headers are installed on the user's PC.

Using node-opencl Package to Detect OpenCL:

I can also install the node-opencl package to determine if OpenCL is installed. Simply run the getProviders function to confirm its presence.

In the event of an unspecified error, our checklist modal will assist users in the installation process.
I have excluded advice on setting up the go-spacemesh node and haven't provided a node spawn example to prevent users from inadvertently running a node. For such guidance, checklis modal recommends seeking assistance from the community on our Discord channel.


Add backend tests for models CRUD operations

There should be some tests to test the behaviour of toolmodel updates.

There are a few routes where we need additional tests. A good overview is available here: https://app.codecov.io/github/DSD-DBS/capella-collab-manager/.
I'll close this issue, tests should be an ongoing process and we don't need specific tickets for it.


Ros2 Eloquent on Mac Mojave building Error - package 'rviz_ogre_vendor' failed

Required Info:

Operating System:

MacOs 10.4.6 Mojave

Installation type:

from source (as binary wasn´t working either.
---
Failed   <<< rviz_ogre_vendor	[ Exited with code 2 ]
Aborted  <<< resource_retriever
Aborted  <<< urdf
Aborted  <<< rcutils

Summary: 83 packages finished [1min 15s]
  1 package failed: rviz_ogre_vendor
  3 packages aborted: rcutils resource_retriever urdf
  3 packages had stderr output: fastcdr orocos_kdl rviz_ogre_vendor
  211 packages not processed

Does anyone know what causes this error, and what I need to do to get rid off it. Or should i maybe install another distribution? I know there are already similar issues already, but they all seem to work now, while Im still getting the error. I am kind of a Neewbie, if this Post here don´t belong here feel free to tell me, and maybe tell me where else I could get help.

I had the same problem. However, it was solved by the following command.
export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"
I hope your problem will be solved.

I mean it did something, now I am able to build 100 Packages instead of 83. The finnish message is:
Failed   <<< pluginlib	[ Exited with code 2 ]
Aborted  <<< rosidl_typesupport_fastrtps_cpp
Aborted  <<< rmw_fastrtps_shared_cpp
Aborted  <<< rviz_ogre_vendor

Summary: 96 packages finished [21min 48s]
  1 package failed: pluginlib
  3 packages aborted: rmw_fastrtps_shared_cpp rosidl_typesupport_fastrtps_cpp rviz_ogre_vendor
  3 packages had stderr output: fastcdr orocos_kdl pluginlib
  198 packages not processed

The full Protokoll is:
Im now going to google, to look if I find a solution. If anyone could help, I would be realy gratefull!
Starting >>> ament_package
Starting >>> ament_lint
Starting >>> fastcdr
Starting >>> foonathan_memory_vendor
Finished <<< foonathan_memory_vendor [2.84s]
Starting >>> poco_vendor
Finished <<< ament_package [3.03s]
Starting >>> ament_cmake_core
Finished <<< ament_lint [3.31s]
Starting >>> ament_flake8
--- stderr: fastcdr
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: for: /Users/tobiasmeinert/ros2_eloquent/install/fastcdr/lib/libfastcdr.1.0.10.dylib (for architecture x86_64) option "-add_rpath /Users/tobiasmeinert/ros2_eloquent/install/fastcdr/lib" would duplicate path, file already has LC_RPATH for: /Users/tobiasmeinert/ros2_eloquent/install/fastcdr/lib
---
Finished <<< fastcdr [3.93s]
Starting >>> fastrtps
Finished <<< poco_vendor [1.78s]
Finished <<< ament_cmake_core [1.66s]
Starting >>> ament_cmake_libraries
Starting >>> ament_cmake_export_libraries
Finished <<< ament_cmake_libraries [0.65s]
Starting >>> ament_cmake_include_directories
Finished <<< ament_cmake_export_libraries [0.77s]
Finished <<< ament_flake8 [2.36s]
Starting >>> ament_cmake_python
Starting >>> ament_cmake_export_dependencies
Finished <<< ament_cmake_include_directories [0.95s]
Starting >>> ament_cmake_export_definitions
Finished <<< ament_cmake_export_dependencies [0.81s]
Finished <<< ament_cmake_python [0.94s]
Starting >>> ament_cmake_test
Starting >>> ament_cmake_export_include_directories
Finished <<< fastrtps [3.26s]
Starting >>> ament_cmake_export_link_flags
Finished <<< ament_cmake_export_definitions [1.00s]
Finished <<< ament_cmake_export_include_directories [0.77s]
Starting >>> ament_cmake_version
Starting >>> ament_cmake_export_interfaces
Finished <<< ament_cmake_test [0.98s]
Starting >>> ament_cmake_target_dependencies
Finished <<< ament_cmake_export_link_flags [1.08s]
Starting >>> ament_pep257
Finished <<< ament_cmake_version [1.00s]
Finished <<< ament_cmake_export_interfaces [1.03s]
Finished <<< ament_cmake_target_dependencies [0.89s]
Starting >>> ament_cmake
Starting >>> cyclonedds
Starting >>> ament_cppcheck
Finished <<< ament_cmake [2.61s]
Starting >>> uncrustify_vendor
Finished <<< ament_pep257 [3.33s]
Starting >>> ament_copyright
Finished <<< cyclonedds [3.37s]
Starting >>> ament_index_python
Finished <<< ament_cppcheck [3.56s]
Starting >>> libyaml_vendor
Finished <<< uncrustify_vendor [3.44s]
Starting >>> ament_uncrustify
Finished <<< ament_copyright [3.81s]
Finished <<< libyaml_vendor [2.89s]
Starting >>> ament_lint_cmake
Starting >>> ament_xmllint
Finished <<< ament_index_python [3.90s]
Starting >>> ament_cpplint
Finished <<< ament_uncrustify [3.47s]
Starting >>> tinydir_vendor
Finished <<< ament_lint_cmake [4.45s]
Starting >>> ament_cmake_lint_cmake
Finished <<< ament_xmllint [4.69s]
Starting >>> ament_lint_auto
Finished <<< tinydir_vendor [2.39s]
Starting >>> gtest_vendor
Finished <<< ament_cmake_lint_cmake [1.04s]
Finished <<< ament_lint_auto [0.82s]
Starting >>> ament_cmake_copyright
Starting >>> ament_cmake_pytest
Finished <<< ament_cpplint [5.11s]
Starting >>> osrf_pycommon
Finished <<< gtest_vendor [2.06s]
Starting >>> ament_cmake_gtest
Finished <<< ament_cmake_pytest [1.94s]
Finished <<< ament_cmake_copyright [2.02s]
Starting >>> ament_cmake_cppcheck
Starting >>> ament_cmake_cpplint
Finished <<< osrf_pycommon [2.18s]
Starting >>> ament_cmake_uncrustify
Finished <<< ament_cmake_cppcheck [0.82s]
Starting >>> ament_cmake_flake8
Finished <<< ament_cmake_gtest [1.13s]
Starting >>> ament_cmake_pep257
Finished <<< ament_cmake_cpplint [1.02s]
Starting >>> ament_cmake_xmllint
Finished <<< ament_cmake_uncrustify [1.02s]
Starting >>> launch
Finished <<< ament_cmake_flake8 [1.93s]
Finished <<< ament_cmake_pep257 [1.80s]
Finished <<< ament_cmake_xmllint [1.74s]
Starting >>> ament_lint_common
Starting >>> console_bridge_vendor
Starting >>> gmock_vendor
Finished <<< gmock_vendor [0.67s]
Starting >>> domain_coordinator
Finished <<< console_bridge_vendor [0.91s]
Finished <<< launch [2.51s]
Starting >>> ament_cmake_gmock
Starting >>> launch_testing
Finished <<< ament_lint_common [1.22s]
Starting >>> rosidl_adapter
Finished <<< ament_cmake_gmock [2.60s]
Starting >>> rosidl_typesupport_interface
Finished <<< domain_coordinator [3.09s]
Starting >>> fastrtps_cmake_module
Finished <<< rosidl_adapter [2.44s]
Starting >>> rosidl_parser
Finished <<< launch_testing [3.65s]
Starting >>> connext_cmake_module
Finished <<< rosidl_typesupport_interface [1.27s]
Starting >>> opensplice_cmake_module
Finished <<< fastrtps_cmake_module [1.44s]
Starting >>> cyclonedds_cmake_module
Finished <<< rosidl_parser [1.62s]
Starting >>> rosidl_cmake
Finished <<< opensplice_cmake_module [1.25s]
Finished <<< connext_cmake_module [1.51s]
Starting >>> rmw_implementation_cmake
Starting >>> python_cmake_module
Finished <<< cyclonedds_cmake_module [1.40s]
Starting >>> ament_index_cpp
Finished <<< rosidl_cmake [1.42s]
Starting >>> rosidl_generator_dds_idl
Finished <<< rmw_implementation_cmake [1.38s]
Starting >>> ament_cmake_ros
Finished <<< python_cmake_module [1.50s]
Starting >>> class_loader
Finished <<< ament_index_cpp [1.82s]
Starting >>> python_qt_binding
Finished <<< rosidl_generator_dds_idl [1.59s]
Starting >>> launch_testing_ament_cmake
Finished <<< ament_cmake_ros [1.68s]
Starting >>> tracetools
Finished <<< launch_testing_ament_cmake [1.28s]
Starting >>> tinyxml2_vendor
Finished <<< class_loader [2.51s]
Starting >>> orocos_kdl
Finished <<< python_qt_binding [1.80s]
Starting >>> qt_gui
Finished <<< tinyxml2_vendor [0.92s]
Starting >>> yaml_cpp_vendor
Finished <<< tracetools [2.31s]
Starting >>> eigen3_cmake_module
--- stderr: orocos_kdl
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: for: /Users/tobiasmeinert/ros2_eloquent/install/orocos_kdl/lib/liborocos-kdl.1.4.0.dylib (for architecture x86_64) option "-add_rpath @loader_path/../lib" would duplicate path, file already has LC_RPATH for: @loader_path/../lib
---
Finished <<< orocos_kdl [1.73s]
Starting >>> tinyxml_vendor
Finished <<< qt_gui [1.79s]
Finished <<< yaml_cpp_vendor [1.28s]
Starting >>> urdfdom_headers
Starting >>> osrf_testing_tools_cpp
Finished <<< tinyxml_vendor [0.89s]
Starting >>> libcurl_vendor
Finished <<< eigen3_cmake_module [1.45s]
Finished <<< urdfdom_headers [0.92s]
Starting >>> urdfdom
Starting >>> ament_cmake_auto
Finished <<< osrf_testing_tools_cpp [1.88s]
Starting >>> rcutils
Finished <<< libcurl_vendor [1.36s]
Starting >>> rviz_assimp_vendor
Finished <<< ament_cmake_auto [1.60s]
Starting >>> rviz_ogre_vendor
Finished <<< urdfdom [2.05s]
Starting >>> urdf
Finished <<< rviz_assimp_vendor [1.98s]
Starting >>> qt_gui_py_common
Finished <<< urdf [3.53s]
Starting >>> resource_retriever
Finished <<< qt_gui_py_common [3.05s]
Starting >>> shared_queues_vendor
Finished <<< rcutils [5.91s]
Starting >>> rcpputils
Finished <<< resource_retriever [2.22s]
Starting >>> rcl_logging_log4cxx
Finished <<< shared_queues_vendor [1.98s]
Starting >>> rcl_logging_noop
Finished <<< rcpputils [5.48s]
Starting >>> rcl_yaml_param_parser
Finished <<< rcl_logging_noop [13.5s]
Starting >>> pluginlib
Finished <<< rcl_logging_log4cxx [17.6s]
Starting >>> test_interface_files
Finished <<< test_interface_files [0.83s]
Starting >>> rosidl_generator_c
Finished <<< rosidl_generator_c [3.27s]
Starting >>> rmw
Finished <<< rmw [4.30s]
Starting >>> rosidl_generator_cpp
Finished <<< rosidl_generator_cpp [4.82s]
Starting >>> rosidl_typesupport_introspection_c
Finished <<< rosidl_typesupport_introspection_c [2.58s]
Starting >>> rosidl_typesupport_fastrtps_cpp
Finished <<< rcl_yaml_param_parser [29.2s]
Starting >>> rmw_fastrtps_shared_cpp
--- stderr: pluginlib
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:545:30: error: 'exists' is unavailable: introduced in macOS 10.15
    if (pluginlib::impl::fs::exists(*it)) {
                             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:1617:39: note: 'exists' has been explicitly marked unavailable here
inline _LIBCPP_INLINE_VISIBILITY bool exists(const path& __p) {
                                      ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:545:37: error: 'path' is unavailable: introduced in macOS 10.15
    if (pluginlib::impl::fs::exists(*it)) {
                                    ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:773:3: note: 'path' has been explicitly marked unavailable here
  path(const _Source& __src, format = format::auto_format) {
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:545:37: error: '~path' is unavailable: introduced in macOS 10.15
    if (pluginlib::impl::fs::exists(*it)) {
                                    ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:791:3: note: '~path' has been explicitly marked unavailable here
  ~path() = default;
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:622:24: error: 'path' is unavailable: introduced in macOS 10.15
  pluginlib::impl::fs::path p(plugin_xml_file_path);
                       ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:739:24: note: 'path' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS path {
                       ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:622:29: error: 'path' is unavailable: introduced in macOS 10.15
  pluginlib::impl::fs::path p(plugin_xml_file_path);
                            ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:773:3: note: 'path' has been explicitly marked unavailable here
  path(const _Source& __src, format = format::auto_format) {
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:622:29: error: '~path' is unavailable: introduced in macOS 10.15
  pluginlib::impl::fs::path p(plugin_xml_file_path);
                            ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:791:3: note: '~path' has been explicitly marked unavailable here
  ~path() = default;
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:623:24: error: 'path' is unavailable: introduced in macOS 10.15
  pluginlib::impl::fs::path parent = p.parent_path();
                       ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:739:24: note: 'path' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS path {
                       ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:623:40: error: 'parent_path' is unavailable: introduced in macOS 10.15
  pluginlib::impl::fs::path parent = p.parent_path();
                                       ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:1064:34: note: 'parent_path' has been explicitly marked unavailable here
  _LIBCPP_INLINE_VISIBILITY path parent_path() const {
                                 ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:623:40: error: '~path' is unavailable: introduced in macOS 10.15
  pluginlib::impl::fs::path parent = p.parent_path();
                                       ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:791:3: note: '~path' has been explicitly marked unavailable here
  ~path() = default;
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:623:38: error: 'path' is unavailable: introduced in macOS 10.15
  pluginlib::impl::fs::path parent = p.parent_path();
                                     ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:765:29: note: 'path' has been explicitly marked unavailable here
  _LIBCPP_INLINE_VISIBILITY path(path&& __p) noexcept
                            ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:623:29: error: '~path' is unavailable: introduced in macOS 10.15
  pluginlib::impl::fs::path parent = p.parent_path();
                            ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:791:3: note: '~path' has been explicitly marked unavailable here
  ~path() = default;
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:627:46: error: 'path<char [12], void>' is unavailable: introduced in macOS 10.15
    if (pluginlib::impl::fs::exists(parent / "package.xml")) {
                                             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:773:3: note: 'path<char [12], void>' has been explicitly marked unavailable here
  path(const _Source& __src, format = format::auto_format) {
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:627:46: error: '~path' is unavailable: introduced in macOS 10.15
    if (pluginlib::impl::fs::exists(parent / "package.xml")) {
                                             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:791:3: note: '~path' has been explicitly marked unavailable here
  ~path() = default;
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:627:44: error: 'operator/' is unavailable: introduced in macOS 10.15
    if (pluginlib::impl::fs::exists(parent / "package.xml")) {
                                           ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:1175:41: note: 'operator/' has been explicitly marked unavailable here
  friend _LIBCPP_INLINE_VISIBILITY path operator/(const path& __lhs,
                                        ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:627:44: error: '~path' is unavailable: introduced in macOS 10.15
    if (pluginlib::impl::fs::exists(parent / "package.xml")) {
                                           ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:791:3: note: '~path' has been explicitly marked unavailable here
  ~path() = default;
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:627:30: error: 'exists' is unavailable: introduced in macOS 10.15
    if (pluginlib::impl::fs::exists(parent / "package.xml")) {
                             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:1617:39: note: 'exists' has been explicitly marked unavailable here
inline _LIBCPP_INLINE_VISIBILITY bool exists(const path& __p) {
                                      ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:628:49: error: 'path<char [12], void>' is unavailable: introduced in macOS 10.15
      std::string package_file_path = (parent / "package.xml").string();
                                                ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:773:3: note: 'path<char [12], void>' has been explicitly marked unavailable here
  path(const _Source& __src, format = format::auto_format) {
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:628:49: error: '~path' is unavailable: introduced in macOS 10.15
      std::string package_file_path = (parent / "package.xml").string();
                                                ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:791:3: note: '~path' has been explicitly marked unavailable here
  ~path() = default;
  ^
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/test/utest.cpp:33:
In file included from /Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/tobiasmeinert/ros2_eloquent/src/ros/pluginlib/pluginlib/include/pluginlib/./class_loader_imp.hpp:628:47: error: 'operator/' is unavailable: introduced in macOS 10.15
      std::string package_file_path = (parent / "package.xml").string();
                                              ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:1175:41: note: 'operator/' has been explicitly marked unavailable here
  friend _LIBCPP_INLINE_VISIBILITY path operator/(const path& __lhs,
                                        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/pluginlib_utest.dir/test/utest.cpp.o] Error 1
make[1]: *** [CMakeFiles/pluginlib_utest.dir/all] Error 2
make: *** [all] Error 2
make: INTERNAL: Exiting with 5 jobserver tokens available; should be 4!
---
Failed   <<< pluginlib	[ Exited with code 2 ]
Aborted  <<< rosidl_typesupport_fastrtps_cpp
Aborted  <<< rmw_fastrtps_shared_cpp
Aborted  <<< rviz_ogre_vendor

Summary: 96 packages finished [21min 48s]
  1 package failed: pluginlib
  3 packages aborted: rmw_fastrtps_shared_cpp rosidl_typesupport_fastrtps_cpp rviz_ogre_vendor
  3 packages had stderr output: fastcdr

I think I found someone with a really similiar Problem: [(https://github.com/ros-perception/image_common/issues/139)]

Hey, I think I may have figured it out. The issue seems to be that XCode has turned on the C++17 features but not the C++17 standard library in versions less than macOS 10.15. Therefore to be able to compile in Mojave and older, you will need to add the -mmacosx-version-min=10.15 flag in your CMakeLists.txt file as such:
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic -mmacosx-version-min=10.15)
endif()

But I don´t know which CMakelist.txt colcon build is using, so I am not able to fix the Problem the same way he did.

I've triggered a macOS CI build with Eloquent development branches (as per the install from source instructions) on one of our Mojave machines:

So my Mac completly crashed and I wasn´t able to boot into my Mac. So i erased my Hard Drive, installed Mac OS again and then updatet to Mac Catalina and began the building process again. I am still getting some errors, but it builded completly and i am able to run the examples. So we can close this issue. But It may be relevant for someone that i was only able to install on Catalina which isn´t even listed in the Ros2 Wiki.


add mpnn tutorial

A graph neural network tutorial (specifically a message passing neural network for predicting graph properties)

Thanks for the PR! Do you have a link to a Colab to preview the example?

Here's a Google Colab for you to preview the example! Notice, I haven't yet updated it according to your feedback.

Additional information on new commit (update according to reviewer (now with black)): (1) Replacing Set-to-set with a transformer encoder; (2) refactoring code for atom/bond feature generation. Also made minor changes according to your feedback.
Please check if the new implementations are OK. I think the masking is correct (tested it out offline), however, feel free to check it too. Thanks!

Thanks for the edits and the tip! I've committed the autogenerated files. Notice, I made some minor (additional) changes to the .py file.

Thank you for the great contribution! 👍


WebSocket heartbeat causing traffic and consuming power

The frontend uses the websocket-heartbeat-js module in order to send and receive a heartbeat from the server.
On my local CommaFeed installation, the server responds with 404 on /ws endpoint for some reason, causing the frontend to endlessly try to reconnect to it.
On commafeed.com the endpoint appears to be functioning, but most of the time does nothing other than responding "pong" to "ping". This causes many unnecessary wakeups, which especially on mobile devices can be costly - sending a useless heartbeat message every 15 seconds is an incredible waste of battery power when using cellular connection.
It should be possible to leave unused CommaFeed frontend page open in a browser with it doing either absolutely nothing, or asking the server for new entries to show at a reasonable interval counted in minutes. WebSocket can be used to listen to new-feed-entries messages to make the new entries appear instantly, but sending a periodic heartbeat over that socket defeats the purpose of avoiding polling in the first place.

On my local CommaFeed installation, the server responds with 404 on /ws endpoint for some reason, causing the frontend to endlessly try to reconnect to it.

Are you using a reverse proxy? It may not be configured correctly for websocket connections.

On commafeed.com the endpoint appears to be functioning, but most of the time does nothing other than responding "pong" to "ping". This causes many unnecessary wakeups, which especially on mobile devices can be costly - sending a useless heartbeat message every 15 seconds is an incredible waste of battery power when using cellular connection.

The heartbeat is not useless, firewalls usually shut down long-running connections without data. The heartbeat is here to maintain the connection alive.

It should be possible to leave unused CommaFeed frontend page open in a browser with it doing either absolutely nothing, or asking the server for new entries to show at a reasonable interval counted in minutes. WebSocket can be used to listen to new-feed-entries messages to make the new entries appear instantly, but sending a periodic heartbeat over that socket defeats the purpose of avoiding polling in the first place.

The heartbeat is only sending 4 bytes and receiving 4 bytes, it's a lot less than the tree refresh response that happens every 30s.
Anyway, I'll add settings in the config.yml file so that you can configure the heartbeat interval (or even disable the websocket), as well as configure the tree refresh interval on your CommaFeed instance.

The heartbeat is only sending 4 bytes and receiving 4 bytes

...which is exactly what makes it so bad for batteries. Short and frequent transmissions are much worse than larger and less frequent bursts of data, especially on cellular. Keepalives make sense, but you usually want them to be closer to 15 minutes or even longer, not 15 seconds. Having the timeout configurable will be great already, but having sane defaults would probably be desirable as well.

Are you using a reverse proxy? It may not be configured correctly for websocket connections.

It's proxied by Apache. Is the expected configuration documented anywhere? The obvious ProxyPass settings don't seem do work. The same server is already correctly proxying WebSockets for other apps.

Keepalives make sense, but you usually want them to be closer to 15 minutes or even longer, not 15 seconds. Having the timeout configurable will be great already, but having sane defaults would probably be desirable as well.

Done in 5541cc9fbe7c990d77d8604a50b4561f617e1aec! It will be part of CommaFeed 4.0
As for your Apache configuration, I have no idea :( It worked fine with nginx when commafeed.com used it. I switched to Caddy and it works fine too.
Caddy is awesome btw, this is the entirety of my Caddyfile, it handles the websocket natively and configures HTTP and HTTPS automatically with a ZeroSSL certificate.
commafeed.com {
  redir https://www.commafeed.com
}

www.commafeed.com {
  reverse_proxy commafeed:8082
}


Transitions not working (insert transition node)

I'm actually working on a Vue3 project with rollup and babel (ES6).
The transition is inserted as a dom node and is not recognized by VueJS.
That's my code.
export default {
    // ...

    render() {
        return (
            <transition name="fade" mode="out-in">
                {this.title && <Title title={this.title} />}
            </transition>
        );
    }
};

Turn into this.
e.createVNode(
    e.resolveComponent("transition"),
    { name: "fade", mode:"out-in" },
    { default: () => [ this.game && e.createVNode(p, null, null) ] }
);

And looks like this in the DOM Tree.
<transition name="fade" mode="out-in">

         You are Innocent

</transition>

I don't understand where the issue could come from, maybe a JSX translation error or an issue relative to Vue3 ?

import {Transition} from 'vue'

// in tsx
() => (
  <Transition>

  </Transition>
);


[1.19] Crash when creating a world

Minecraft crashes on world creation.
Possible involved mods are Quark and Industrial Foregoing.
I also submitted the issue to quark repo https://github.com/VazkiiMods/Quark/issues/4343
Industrial Foregoing Version:
<IP_ADDRESS>-5
Titanium Version:
3.7.3-27
Tried these things before submitting the issue:

[x] creating a world with IF disabled and quark enabled => no crash
[x] creating a world with IF enabled and quark disabled => no crash
[x] loading a world created with one of the above mod combos => no crash

I'll keep on trying to identify other involved mods and update the issue with more infos.
Logs:

crash log
latest log

this issue can be closed, the culprit is YeetusExperimentus with a custom world type.


[BUG] utils.format_dependencies returns error for single value dependencies list

I am creating a new build for my conda-forge package to reflect the change in setup files: from setup.py + requirements.txt to single pyproject.toml file.
I successfully used grayskull to produce the meta.yml on the 1st build (with the contents of requirements.txt being just conda), but now, the assertion made on line 165 of format_dependencies fails and I do not understand why.
** Envir **
miniconda on Windows 10
python 3.10
grayskull version: 2.2.2
** Steps**
I used this command to generate a meta.yml file for my repo:
grayskull pypi https://github.com/CatChenal/new_conda_env
This is my pyproject.toml file:
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[project]
name = "new_conda_env"
description = "A Python package for generating a 'lean' environment yaml file (see README)."
version = "0.1.0"
license = "MIT license"
requires-python = ">=3.6"
keywords = ["conda", "env", "tool"]
dependencies = ["conda"]                      # fails
authors = [{name = "Cat Chenal"}]

[project.scripts]
new-conda-env = "new_conda_env.cli:main"

classifiers = [
        "Development Status :: 2 - Pre-Alpha",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Natural Language :: English",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
    ]
[tool.setuptools.dynamic]
readme = {file = ["README.md"], content-type = "text/plain"}

Grayskull returns an error from format_dependencies with this Traceback:
  File "C:\Users\me\miniconda3\envs\for_pkg\Scripts\grayskull-script.py", line 9, in <module>
    sys.exit(main())
  File "C:\Users\me\miniconda3\envs\for_pkg\lib\site-packages\grayskull\__main__.py", line 271, in main
    generate_recipes_from_list(args.pypi_packages, args)
  File "C:\Users\me\miniconda3\envs\for_pkg\lib\site-packages\grayskull\__main__.py", line 294, in generate_recipes_from_list
    recipe, config = create_python_recipe(
  File "C:\Users\me\miniconda3\envs\for_pkg\lib\site-packages\grayskull\__main__.py", line 329, in create_python_recipe
    GrayskullFactory.create_recipe(
  File "C:\Users\me\miniconda3\envs\for_pkg\lib\site-packages\grayskull\base\factory.py", line 46, in create_recipe
    GrayskullFactory.REGISTERED_STRATEGY[repo_type.lower()].fetch_data(
  File "C:\Users\me\miniconda3\envs\for_pkg\lib\site-packages\grayskull\strategy\pypi.py", line 60, in fetch_data
    update_recipe(recipe, config, sections or ALL_SECTIONS)
  File "C:\Users\me\miniconda3\envs\for_pkg\lib\site-packages\grayskull\strategy\pypi.py", line 484, in update_recipe
    metadata = get_metadata(recipe, config)
  File "C:\Users\me\miniconda3\envs\for_pkg\lib\site-packages\grayskull\strategy\pypi.py", line 382, in get_metadata
    requirements_section = extract_requirements(metadata, config, recipe)
  File "C:\Users\me\miniconda3\envs\for_pkg\lib\site-packages\grayskull\strategy\pypi.py", line 520, in extract_requirements
    requires_dist = format_dependencies(metadata.get("requires_dist", []), name)
  File "C:\Users\me\miniconda3\envs\for_pkg\lib\site-packages\grayskull\utils.py", line 165, in format_dependencies
    if deps_name.replace("-", "_") == name.replace("-", "_"):
AttributeError: 'NoneType' object has no attribute 'replace'

Expected behavior
No error?
What is the comparison on line 165 doing:  deps_name.replace("-", "_") == name.replace("-", "_")?
Why is it failing with my pyproject.toml, i.e. what is wrong with dependencies = ["conda"]?
Thanks for your help!

I'm seeing the same with https://github.com/DevAlvaroF/HYPSO-Reading

latest version fixed this bug
Thanks for reporting it! :)


Content Suggestion: Stekking

Link to Content: https://stekking.com
Briefly Describe Content: Bitcoin Satsback Rewards via Lightning
Suggested Section: GET BITCOIN -> CASHBACK

Please notify when out of early access

Please notify when out of early access

We are now open for everyone, added more than 10K shops today and more to come.

Please notify when out of early access

We are out of early access.

Please encourage your users to provide feedback: https://twitter.com/BitcoinOnly_/status/1340431661247422464

We love stekking!!

Overwhelmingly positive feedback ACK

ACK. These guys are breathing btc. Great way to support the lightning protocol.

Added


Unable to Dispose()

Current Behavior
System.InvalidCastException: Unable to cast object of type 'AsyncDataAdapter.SqlDataAdapter' to type 'System.Data.IDbDataAdapter'
Link to Source
at AsyncDataAdapter.DbDataAdapter.Dispose(Boolean disposing)
Steps to Reproduce
using (var sqlDa = new AsyncDataAdapter.SqlDataAdapter(sqlCmd))
using (var ds = new DataSet())
{
    await sqlDa.FillAsync(ds);
    return ds;
}

This should be fixed by PR#3

:thumbsup: thanks


fix annotation typo

Description
Fix the typo of annotation in secret_store.go
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

Please fix DCO.


 I'm not able to debug anything without knowing how to trigger this

This should trigger it
import Pkg
Pkg.add("Revise")
using Revise
Pkg.add("Comonicon")

using TOML
cfg = TOML.parsefile("Project.toml")
cfg["name"] = "ComTest"
open("Project.toml", "w") do f
    TOML.print(f, cfg)
end

mkpath("src/")

write("src/ComTest.jl", "module ComTest print(:hello) end")
using ComTest
Revise.revise(ComTest)

write("src/ComTest.jl", """
module ComTest
using Comonicon
@cast function one()
    print(:one)
end
@main
end
""")
Revise.revise()

write("src/ComTest.jl", "module ComTest print(:hello) end")
Revise.revise()

write("src/ComTest.jl", """
module ComTest
using Comonicon
@cast function one()
    print(:one)
end
@main
end
""")
Revise.revise()

write("src/ComTest.jl", "module ComTest print(:hello) end")
Revise.revise()

write("src/ComTest.jl", """
module ComTest
using Comonicon
@cast function one()
    print(:one)
end
@main
end
""")
Revise.revise()

This is because Revise doesn't delete the old global CASTED_COMMANDS created by Comonicon when user revise the functions, so as a result the previous CASTED_COMMANDS is used in the later creation of the new commands.
I don't have a good way to fix this as Comonicon is really doing what is legit for Julia, but like struct cannot be revised, this happens to be one of the limitations of Revise. Someone might come up with a solution in the future but I don't know one for now.

Is it possible just detect Revise in macro if exists do nothing? Just like commented out code.

I'm not sure because the macro in principle will be evaluated at precompile time thus when you load Revise after this I'm not sure how would this happen. But won't it be strange if the macro does nothing just because you load Revise?

I'm running into this issue too - I've discovered that I can have the @casted functions call functions from another deved package, which can then be Revised, but then any time I want to update the stuff in the cli module, I have to restart.
Is there a recommended development workflow documented somewhere? As in, I don't have the full thing spec'd out and I'm working out my interfaces on the fly... Even with 1.9 the restart-latency every time I want to change something is really bogging me down.

I don't have a good solution to this, what I usually do is not define the CLI and converge on the Julia API of the package first, then add @cast to the methods I want to export. Going back and forth on the CLI API usually means the Julia API is not stable anyway, so I'd just pick the easier problem to solve first.
But I do hope there can be a solution to this, I believe if there is some kind of mechanism to tell Revise it can delete and allocate a new global variable with a callback it should be possible to integrate, I asked in Revise issue but no one answers me... perhaps people are busy and not much attention is attract here, given this is a small UX thing.

I asked in Revise issue but no one answers me... perhaps people are busy and not much attention is attract here, given this is a small UX thing.

https://github.com/timholy/Revise.jl/issues/681

Thanks Tim!


Move to Github Actions

What's new
Replaced drone.yml with github actions. Adds test results to github prs as comments.
What's fixed
No fixes.

Will merge this once I fix the failing test issue


local types with same name and ancestry have conflicting names

Classes and interfaces with the same ancestry and name need to be disambiguated:
shared void run() {
    if (1==1) {
        interface I {}
        class C() satisfies I {}
    }
    else {
        interface I {} // compiles to same name as previous interface I
        class C() satisfies I {} // compiles to same name as previous class C
    }
}

Fixed!


nicer way to add new languages

in master, the list of languages supported is hardcoded. what if we dispatch on Val{:sym}? something like:
function spelled_out(
    number::Number;
    lang::Symbol = Symbol(first(split(ENV["LANG"], '.'))),
    dict::Symbol = :modern
)
return spelled_out_impl(number,Val{lang},dict)
end
#catchall
function spelled_out_impl(number,lang,dict)
throw(error("We do not support $lang yet.  Please make an issue and someone might be able to help you, or feel free to contribute."))
end

and each impl. could just simply do:
function spelled_out_impl(number,lang::Type{Val{:ru}},dict)

the use of the type instead of building the val is because there is a cost on building the struct, that is elided completely when only using the type
as a nice consequence of using this, an external user could plug its own spelling function, or modify the output of existing ones

This is a good idea!  Do you want to make a PR or should I do this?

This is a good idea!  Do you want to make a PR or should I do this?

I'm writing the Spanish support, I could add the modification in that PR

I'm writing the Spanish support, I could add the modification in that PR

That would be good, thank you Andrés.
Would it still be a keyword argument?  I.e., would I be able to write
spelled_out(123467, lang = :ru)

?

That would be good, thank you Andrés.
Would it still be a keyword argument?  I.e., would I be able to write
spelled_out(123467, lang = :ru)

?


CharacterBody2D/CharacterBody3D get_position_delta() includes global transform offset

Godot version
v4.0.3.stable.official [5222a99f5]
System information
Windows 10
Issue description
If a CharacterBody3D's parent node is in a position other than the origin, the difference will be included in its get_position_delta() value, and therefore also get_real_velocity(). This is because the implementation subtracts the current local transform from the old global transform. I don't know if behaviour in this case is defined at all, but I would expect it to be consistent with everything else in the CharacterBody3D context, such that if velocity is zero, get_position_delta() is also zero. The same applies to CharacterBody2D.
Steps to reproduce

Create a Node3D with a CharacterBody3D in it
Move the Node3D
Call move_and_slide() in the CharacterBody3D and observe get_position_delta()

Minimal reproduction project
godot cb3d.zip

Thanks for reporting! I've linked a PR fixing this (above).
The same does not apply to CharacterBody2D:
https://github.com/godotengine/godot/blob/1f9e540f14edbf2d496a1421f8d37e5b483c4c53/scene/2d/physics_body_2d.cpp#L1530-L1532

The same does not apply to CharacterBody2D:

Oops, I probably misread the code (it was 1AM after all). I hadn't actually tested 2D; I have now and can confirm it's 3D only.
Thanks for the PR!


Cache coherence and Virtio-net performance

I am thinking about the Intel multicore cache coherence protocol and its performance implications for shared memory performance e.g. for Virtio-net I/O. This issue is for capturing ideas.
microbenchmarks paper
One excellent paper I have read for background information is Cache Coherence Protocol and Memory Performance of the Intel Haswell-EP Architecture. From the abstract:

A major challenge in the design of contemporary microprocessors is the increasing number of cores in conjunction with the persevering need for cache coherence. To achieve this, the memory subsystem steadily gains complexity that has evolved to levels beyond comprehension of most application performance analysts.

which seems hard to argue with :-). The authors have done a lot of microbenchmarking and I found these latency figures very interesting (based on 2.5 GHz CPU):

1.6ns - L1 hit.
4.8ns - L2 hit.
21.2ns - L3 hit.
49ns - L3 hit (modified in L2 of another core)
53ns - L3 hit (modified in L1 of another core)

that tells us that the latency of an L3 cache access can be more than doubled if the L3 cache needs to fetch the latest value from the L1/L2 cache of another core. This suggests that high-speed shared memory I/O protocols may need to take cache coherence states into account for optimal performance.
napkin math and throughput vs latency
Just to put processing throughput and latency into perspective, consider that a Haswell CPU can simultaneously load 64 bytes per cycle and store 32 bytes per cycle. (This is because it is engineered for scientific computing workloads that want to execute a SIMD operation each cycle with two source operands and one destination.) On a 2GHz clock speed this means you have 1024 Gbps of load bandwidth and 512 Gbps of store bandwidth per core. This means that you could copy around 3.3KB of data in the time it takes to wait for one 53ns cache access. (If you were copying a 64-byte packet then you'd have spent 98% of your time waiting and 2% copying - a different perspective on #648).
This suggests to me that in the context of #710 it is worth doing some detailed profiling with the PMU to see what kind of cache accesses are really happening in our Virtio-net interactions. It is possible that we are paying heavy latency costs when one core is writing data into its L1 cache and then another core is accessing this immediately afterwards. It may be possible to do something creative to reduce the latency (e.g. drop data from sender's L1/L2 cache immediately) or manage it (e.g. know which memory accesses are expensive and find a way to parallelize them).
I would also like to review the microbenchmarks from the paper above and see how closely they resemble our Virtio-net code.
Open questions
Here is what I am wondering next:

How can we use the PMU to understand detailed cache coherency protocol (MESIF) interactions?
Is there a mechanism to flush cache lines from L1/L2? (what exactly does the CLFLUSH instruction do on a Haswell core?)
How does cache latency affect execution in practice? Is it different for loads and stores? Do stores run faster if you write/clobber a whole cache line? In practice do the CPU's store buffer and invalidation queue mask the latency? If so then at what cost and how exactly do they interact with memory barrier instructions?

Other notes
I learned two more interesting things from the paper above and chasing its references:

Xeon CPUs with > 8 cores are internally NUMA. That is, the L3 cache is shared by at most 8 cores, and if there are more than 8 cores then there will be two L3 caches. This is ordinarily hidden from the operating system.
Xeon CPUs reduce their clock speed to run AVX instructions. This is like a reverse-turbo: the AVX instructions cannot run at the base clock speed of the processor and have to clock down by ~20%. Processors have a separate base clock speed for AVX instructions when you read the fine print.

cc @xrme

The issue with the cache hierarchy has been bothering me for a long time too. I completely share all the expressed thoughts and appreciate the pointed paper. And it seems that the situation is even worse than what I have imagined.
I would say that this is not only a virtio-net problem. The moment when SnabbSwitch "paralelises" itself it will become its problem too. On the other hand, since the virtio-net driver is now in the master, how are those caching issues affecting the KVM VMs?
There is a nice tool called hwloc-ls part of the hwloc package in Ubuntu which prints the topology - NUMA, CPU cores, L1/L2/L3 caches and PCI allocation. hwloc-ps, hwloc-distances could be useful too. Other usefull tool could be likwid, which provides a number of microbenchmarks too.
One note from the paper: An optional Cluster-on-Die (COD) mode can be enabled in the BIOS.
So the "internal NUMA" could be "show" to the world, but instead of 8+4 (for 12 core CPU) it will present itself as 6+6. So again, far from perfect. And then: The asymmetrical chip layout which is mapped to a balanced NUMA topology causes performance variations. I could say that we have seen this many, many times.

I expect that it will be important for multi-process Snabb Switch to manage (via taskset or whatever) which cores the cooperating Snabb Switch processes run on.  They will almost certainly need to be in the same NUMA domain.
As I understand it, the cache line is the unit of storage that gets moved around between cores.  As you probably know, that's the source of the false sharing problem.  (That's where two different cores are writing to different parts of the same cache line, obliging the system to keep transferring the dirty line back and forth, even though process 1 may only be interested in byte 0 of the line, and process 2 only interested in byte 63.)

IIRC L2 can only have 16 outstanding misses on Haswell:  http://www.realworldtech.com/haswell-cpu/5/
I think could be the throughput bottleneck when working on data outside of L2.

Nikolay: True - this will be even more critical in the Snabb internal parallelism context. @xrme is working on this aspect right now i.e. taking the multiprocess design and doing a low-level implementation geared towards 100G with software dispatching. Could be for example that a software packet dispatcher needs to inspect payload using cache-bypassing instructions (MOVNTDQA and so on) in order to avoid populating its own L1 cache with data that will be immediately accessed by another core.
@xrme Yes. False sharing is an interesting case: I suppose that we would expect to have that today if two cores would access the same struct link since each one is updating different fields (read vs write cursor) that happen to be on the same cache line and so they might frequently block in synchronous RFO (Read For Ownership) requests to each other to take over the cache line. Likely we will need to add some padding so that each core updates a different cache line. (This is what Virtio-net does with its shared memory ring buffers IIRC.)
Overall I feel like the only hope to make sense of this stuff is with profiling e.g. using the PMU to isolate exactly what is happening and take deliberate (non-voodoo :-)) corrective measures. Could be that it is not really so difficult to optimize these aspects once we have the right mental model and the right tools. The PMU is able to count events like RFO requests on the cache coherence protocol and so on.

@wingo Interesting observation. Overall it seems like there are two ways to deal with latency: minimize/shorten it or parallelize/amortize it. Can be that both are needed if there are fundamental bounds on what is possible with each approach.


initialize dashboard module

Initialize module, component and datamodel. It will help to start with a common struct :)
@AntoineThebaud hope it will help you
/cc @juliusv frontend is coming :D

Codecov Report

Merging #36 (b8dd9a8) into master (5fa6447) will decrease coverage by 0.10%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #36      +/-   ##
==========================================
- Coverage   43.65%   43.55%   -0.11%
==========================================
  Files          54       54
  Lines        1954     1954
==========================================
- Hits          853      851       -2
- Misses        997      999       +2
  Partials      104      104

Impacted Files
Coverage Δ

utils/test.go
76.08% <0.00%> (-2.18%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5fa6447...b8dd9a8. Read the comment docs.


[syn aes] error: Value for list “object_list” must have 1 elements. (CMD-036)

aes syn command:
./util/dvsim/dvsim.py -t dc hw/ip/aes/syn/aes_gtech_syn_cfg.hjson --purge --local
aes syn flow errors:  results.hjson
{
tool: dc
top: aes
messages:
{
flow_errors:
[
Error: Value for list 'object_list' must have 1 elements. (CMD-036)
Error: Value for list 'object_list' must have 1 elements. (CMD-036)
Error: Value for list 'object_list' must have 1 elements. (CMD-036)
Error: Value for list 'object_list' must have 1 elements. (CMD-036)
Error: Value for list 'object_list' must have 1 elements. (CMD-036)
]
.......
thanks!

I don't actually have dc available here, so can't try it out myself. But I tried running the command you give and it looks like it tried to run dc with sensible looking arguments.
I think the "CMD-036" text is probably from the internals of dc? I think you'll need to do a bit of digging to figure out what has come unstuck.

"set_dont_touch-h .....*]" in gtech-constraints.sdc,  it  cause ‘object_list’ error.
Deleted these lines, sythesis pass.
file link: hw/syn/tools/dc/gtech-constraints.sdc
so, issue closed.


encrypted-devices service: Fix keyed mount, clarify descriptions.

Not enough arguments were supplied to cryptsetup when a key-file was
specified. Also don't try to unlock keyedEncDevs with a password.
@oxij Making encrypted.label unique as cryptsetup only works with unique
mappings, this was the old behaviour before commit
6eadb16022b6e52f3cdb2167aaa7b82e221bfc1a, is my reasoning wrong?
@edwtjo I am fixing it to how I think should work but you should have a look at
it too as you are the original author.

LGTM, its good that someone using keyed mounts is looking at it. You should purge the personal comments from the commit message since they're really only relevant for this PR.

Purged

Confirmed.

AFAIK types.str is unique by definition. This line should be reverted IMHO.


[TEVA-1935] Don't require email for job alerts when signed in

Jira ticket URL
https://dfedigital.atlassian.net/browse/TEVA-1935
Changes in this PR

Add email as hidden field when jobseeker is signed in

Review app deployed to https://teaching-vacancies-review-pr-2747.london.cloudapps.digital

Review app deployed to https://teaching-vacancies-review-pr-2747.london.cloudapps.digital


Add rejected occurrences tab

🛠 Changelog

Adds a new tab for rejected occurrences to the application round review view

🧪 Test plan

End an application round which results in rejected occurrences for an application, and go view that application
There should be a "Hylätyt ajankohdat" tab as the last tab on the application review page, next to "Varatut vuorot"
The table contents (along with links and sortability) should work as specified by the ticket
The "Hylätyt ajankohdat" tab should be visible for all ended application rounds, and shouldn't be shown otherwise. Hence, viewing an application for an open application round should never show the tab

🎫 Tickets

TILA-3370

Also I'd squash the commits.


Haxe : hovering docs on typedef

When hovering typedef types, if there is no doc, there should be at least the first few members of the anonymous struct
unlike this :

the doc should print
typedef BoostTrait = {
	var type:BoostKind;
	var elem:Element;
[...]
}

This would be a massive gain of productivity.
Thanks.

Typedefs can be considerably long so it would generally be cut very quickly.

@elsassph I guess toggling detailed tooltips could help here?
It would probably be more helpful if there was auto-completion for the typedef members when inside of a typedef declaration.

Autocompletion of typedefs is a very desirable addition yes. But it requires a context resolution we don't have yet (esp inside function calls).

sidenote : @elsassph in my experience typedefs are generally short since they are very VERY harmful for performances on non neko platforms. (or maybe you can win many cycles :P )

I have hands-on experience that typedefs can be very long :)

This indeed would be a great addition. Maybe a check on typedef members count can be done to prevent a big-ass popup.


RecyclerView header wrong position on screen rotate.

When the screem rotate header don´t translate to the correct position. Thank you¡

@mariolope10  @boxme
re-open the app when the app has died in background the header don´t translate to the correct position.

@mariolope10 @boxme
solution:
edit RecyclerViewFragment
save mScrollY to instanceState
#!java

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		if (savedInstanceState != null) {
			int scrollY = savedInstanceState.getInt("scrollY");
			mScrollY = scrollY;
		}
	}

	@Override
	public void onSaveInstanceState(Bundle outState) {
		super.onSaveInstanceState(outState);
		outState.putInt("scrollY", mScrollY);
	}

I added your solution was work. But there has the other issue in RecyclerView.

In landscape scroll to the bottom
rotate to portrait and then scroll to the top
there is issue in header


Newline issue

The newline doesn't work well for windows.

Instead of doing it here:

["-filter_complex", ffmpeg_filter.replace("\n", os.linesep)]

I would instead do this ensuring you leave anything else from the ffmpeg filter alone:
user_formatted_text = user_formatted_text.replace(":", ":");
user_formatted_text = user_formatted_text.replace("\n", os.linesep)

Whoops, thanks for this @hitnrun30 !

Fix placed in other commit.


New VK Backend

This VK Backend has a few changes:

It no longer uses pipes. Instead, it just drops the status
as a flat file on disk
It moves the systemd unit for initialization of the titus executor
into titus-executor repo (this sheds some stuff)

@solarkennedy Can you make sure this doesn't interfere with your storage work? Can you add detach / attach bits as drop-in extensions?

So the process tree will be:
vk ->
  vk-backend ? ->
    titus-executor ->
      docker stuff or whatever

Why though? How does this save systemd any burden?

vk-backend is titus-executor -- just a different API to titus-executor. It uses flat files to pass state back and forth instead of unix pipes.

We can work around this by having the VK originate its own status if the unit is killed in an unexpected fashion. Or add an ExecStopPost which holds out for 10 seconds or something to try to have the VK pickup the state.


Atlas Integration go away with v1?

I'm looking through the history and it appears at one point in time, there was Atlas integration.  Has this gone away?  I can't find any modern documentation for the feature.

It has... but willing to a accept PR!

+1 on this. Atlas integration variables used to be there and worked great...not sure why they have been removed. This cookbook is now broken in this state if you use consul together with atlas.

Any chance on getting a minor point release with this addition?

@jdoss Yep, give me a few minutes.

@johnbellone Thank you! http://i.imgur.com/WDRvQtW.gif


Q? Options for arx list verbose and STABLE_OUTPUT

Hi,
1 can you explain possible value (and result) for arx list ARCHIVE --stable-output STABLE_OUTPUT ... I have test somethings without success and I am to poor in rust to search in the code.
2 -v seems to do nothing for arx list
... I have try it to get more information on file and folder archived (I compare even incorrect at the v in tar tvf that add uid/gid access right size, cdate ...
I think is linked to index saved to don't need to access all files.
Philippe.

1 can you explain possible value (and result) for arx list ARCHIVE --stable-output STABLE_OUTPUT ... I have test somethings without success and I am to poor in rust to search in the code.

--stable-output is, as the name implies, an listing where the format is stable over time. This is mainly intended for scripting. It is currently used only by gnome file-roller, and only with in this (fork)[https://github.com/jubako/file-roller] which must be merged upstream.
The STABLE_OUTPUT value is some kind of versioning. Only version 1 exists. The purpose is to be able to modify the stable output while staying stable. If we need to change the output to add information or else, we would use the version 2, version 1 being unmodified.

2 -v seems to do nothing for arx list
... I have try it to get more information on file and folder archived (I compare even incorrect at the v in tar tvf that add uid/gid access right size, cdate ...
I think is linked to index saved to don't need to access all files.

Verbose option was initially used for "debug" output. I have moved this under the env var ARX_LOG but the verbose option stayed. We may indeed extend the listing output based on verbose option.


Support for Kramdown/Maruku attribute lists in markdown files

Attribute lists are a great way of being able to customize the HTML attributes (class and id), and thus the visual style of the rendered markdown.
Here are some examples:
A simple paragraph with an ID attribute.
{: #para-one}

> A blockquote with a title
{:title="The blockquote title"}
{: #myid}

This *is*{:.underline} some `code`{:#id}{:.class}.

A [link](test.html){:rel='something'} and some **tools**{:.tools}.

It's supported by both Kramdown and Maruku.  Would it be possible to add them to Hugo's parser as well?

Hugo's parser is mainly Blackfriday (there are some alternatives, but that is the main).
So if you could create a similar issue at
https://github.com/russross/blackfriday
That would make it more likely that this will happen.

Thanks @bep

Hope this will help someone. I had similar challenge, I needed to add class="table"  to all
 tags for Bootstrap  styling to take effect. Using Hugo v0.16 I used the replace function.
Before
{{ .Content }}
After
{{ replace .Content "
" "
" | markdownify }}
I have a very small site so performance isn't an issue with me.

This issue has been automatically marked as stale because it has not been commented on for at least four months.
The resources of the Hugo team are limited, and so we are asking for your help.
If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still valuable, please open a proposal at https://discuss.gohugo.io/.
This issue will automatically be closed in four months if no further activity occurs. Thank you for all your contributions.

Note/Update: This issue is marked as stale, and I may have said something earlier about "opening a thread on the discussion forum". Please don't.
If this is a bug and you can still reproduce this error on the latest release or the master branch, please reply with all of the information you have about it in order to keep the issue open.
If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.

@msimanga 's solution almost worked for me, but I had to change markdownify to safeHTML, otherwise some HTML tags would be stripped (e.g. first paragraph's
 tags). I'm new to Hugo but I'm guessing HTML was being run through markdownify twice.
{{ replace .Content "
" "
" | safeHTML }}

This would be super useful, e.g. extending HTML lists with js to work a bit like workflowy and identifying which lists by adding a "workflowy" class, or to set the width/height of an image without having to resort to HTML, etc.

{{ replace .Content "" "" | markdownify }}

Is it possible to use a regex in replace? I'm moving from nanoc to hugo and I really miss the flexibility of Kramdown.


[Tech]: Add status subscription

Problem statement
Android Sora app can stays in memory a long time and user could not check his status without killing the app. Duplicates https://github.com/sora-xor/sora-card-ios/issues/5
Description
No response
Definition of Done

[ ] card kycStatus is updated without having the restart the app

Requirements
No response

@bgodlin is it kycStatus or verificationStatus ?

How do we want to allow to perform kyc status update? (At which screen, and based on what action) We can for example make swipe to refresh mechanics (such as in google chrome), or make it more manual by adding a button for update, or we can period based server polling


Create new detection for CVE-2024-37085

Details
What does this PR have in it? Screenshots are worth 1000 words 😄
Create new detection for CVE-2024-37085
Checklist

[ ] Validate name matches <platform>_<mitre att&ck technique>_<short description> nomenclature
[ ] CI/CD jobs passed ✔
[ ] Validated SPL logic.
[ ] Validated tags, description, and how to implement.
[ ] Verified references match analytic.
[ ] Confirm updates to lookups are handled properly.

Notes For Submitters and Reviewers

If you're submitting a PR from a fork, ensuring the box to allow updates from maintainers is checked will help speed up the process of getting it merged.
Checking the output of the build CI job when it fails will likely show an error about what is failing. You may have a very descriptive error of the specific field(s) in the specific file(s) that is causing an issue. In some cases, its also possible there is an issue with the YAML. Many of these can be caught with the pre-commit hooks if you set them up. These errors will be less descriptive as to what exactly is wrong, but will give you a column and row position in a specific file where the YAML processing breaks. If you're having trouble with this, feel free to add a comment to your PR tagging one of the maintainers and we'll be happy to help troubleshoot it.
Updates to existing lookup files can be tricky, because of how Splunk handles application updates and the differences between existing lookup files being updated vs new lookups. You can read more here but the short version is that any changes to lookup files need to bump the datestamp in the lookup CSV filename, and the reference to it in the YAML needs to be updated.

We will merge a duplicate of your current PR as we are running into some odd behavior from your fork:develop branch : https://github.com/splunk/security_content/pull/3069/files, Closing this PR in favor of the duplicate!


Negative TTL problem on macOS [etcd v2.3.7]

Simple TTL usage with single local etcd does not work on the newest macOS version. Works for every Linux distro I tested, though. Only valid for etcd v2.3.7. Older v2.3.6 seems to work. Darwin build for 2.3.7 is somehow malformed?
System:
System Version:    macOS 10.12.2 (16C67)
Kernel Version:    Darwin 16.3.0

Steps to reproduce:
On macOS machine:

Install etcd using steps stated here: https://github.com/coreos/etcd/releases/tag/v2.3.7

curl -L  https://github.com/coreos/etcd/releases/download/v2.3.7/etcd-v2.3.7-darwin-amd64.zip -o etcd-v2.3.7-darwin-amd64.zip
unzip etcd-v2.3.7-darwin-amd64.zip
cd etcd-v2.3.7-darwin-amd64
./etcd

On another terminal set value with TTL and try to get it periodically. After TTL expiration, we can see negative values and key is not deleted. (exactly follow: https://coreos.com/etcd/docs/latest/v2/api.html#using-key-ttl). Added date cmd to show that the clocks are synced.

:~ $ date && curl http://<IP_ADDRESS>:2379/v2/keys/foo -XPUT -d value=bar -d ttl=5
Tue 10 Jan 2017 16:19:09 GMT
{"action":"set","node":{"key":"/foo","value":"bar","expiration":"2017-01-10T16:19:14.01513555Z","ttl":5,"modifiedIndex":4,"createdIndex":4}}
:~ $ date && curl http://<IP_ADDRESS>:2379/v2/keys/foo
Tue 10 Jan 2017 16:19:14 GMT
{"action":"get","node":{"key":"/foo","value":"bar","expiration":"2017-01-10T16:19:14.01513555Z","modifiedIndex":4,"createdIndex":4}}
:~ $ date && curl http://<IP_ADDRESS>:2379/v2/keys/foo
Tue 10 Jan 2017 16:19:14 GMT
{"action":"get","node":{"key":"/foo","value":"bar","expiration":"2017-01-10T16:19:14.01513555Z","modifiedIndex":4,"createdIndex":4}}
:~ $ date && curl http://<IP_ADDRESS>:2379/v2/keys/foo
Tue 10 Jan 2017 16:19:16 GMT
{"action":"get","node":{"key":"/foo","value":"bar","expiration":"2017-01-10T16:19:14.01513555Z","ttl":-2,"modifiedIndex":4,"createdIndex":4}}
:~ $ date && curl http://<IP_ADDRESS>:2379/v2/keys/foo
Tue 10 Jan 2017 16:19:17 GMT
{"action":"get","node":{"key":"/foo","value":"bar","expiration":"2017-01-10T16:19:14.01513555Z","ttl":-3,"modifiedIndex":4,"createdIndex":4}}
:~ $ date && curl http://<IP_ADDRESS>:2379/v2/keys/foo
Tue 10 Jan 2017 16:19:19 GMT
{"action":"get","node":{"key":"/foo","value":"bar","expiration":"2017-01-10T16:19:14.01513555Z","ttl":-5,"modifiedIndex":4,"createdIndex":4}}

Any ideas?

@Bplotka Can you build from source with go 1.7.2 on Darwin 16.3.0? See if it solves the problem?

@Bplotka I think you might meet this issue https://github.com/golang/go/issues/16570

@Bplotka Kindly ping.

Sorry for delayed response.. I am using Linux & Windows, so had to find volunteer with this version of macOS who could help me to test it (thanks @joshpmcghee).
When built from source with the go 1.7.1 or 1.7.2 it works fine, but it does not solve our problem: We have the use case that we want to download the newest etcd v2 binary and just use it for dev/testing on any MacOS.
Is there any way to rebuild it on your side and provide working binary out-of-the-box?

Is there any way to rebuild it on your side and provide working binary out-of-the-box?

I do not think we are going to re-release ALL previous released versions of etcd as the problem is fixed. But we might release a new etcd 2.3.x version sometime next week that built with go 1.7. Closing this issue since we confirmed this is a go runtime problem.

Thanks, waiting for next 2.3.x version then (:


Permanent ValidationFailed error

Platform

[ ] macOS

Environment

[ ] Sandbox
[ ] Production

Version
ℹ 2.3.4
Related issues
Report
Issue summary
ℹI get permanent ValidationFailed error. Rolled back to version 2.2 and everything works fine
What did you expect to happen
ℹ expect the validation will be success on apple's MAS receipt
What happened instead
ℹ Please replace this with what happened instead.

@CineDev could you please provide a failure reason.

error.localizedDescription contains error code 1. That's all

there should be a reason ValidationFailureReason then I can understand at which stage of validation you get a failure

I'll try to play around tonight. We'll provide you information as much as I can

@CineDev Thank you!

@CineDev you can get a reason by doing next:
do {
        try receipt.verify()
} catch IARError.validationFailed(let reason)
{
        print(reason)
}

Best,
P

signatureValidation(TPInAppReceipt.IARError.SignatureValidationFailureReason.appleIncRootCertificateNotFound)

@CineDev well, from the README
Note: Currenty, SwiftPM doesn't support the feature of adding resources to package and therefore you have to add the Apple Root Certificate manually. You can find it here.
You need to download Apple Inc Root Cert.
Best,
P


Test failure: SuccessfulCorsRequest_AllowsCredentials_IfThePolicyAllowsCredentials

This issue was made automatically. If there is a problem contact ryanbrandenburg.
This test failed with the following error:
Assert.Equal() Failure
Expected: String[] ["*"]
Actual:   String[] ["http://example.com"]
   at Microsoft.AspNetCore.Mvc.FunctionalTests.CorsTestsBase`1.SuccessfulCorsRequest_AllowsCredentials_IfThePolicyAllowsCredentials() in /_/test/Microsoft.AspNetCore.Mvc.FunctionalTests/CorsTestsBase.cs:line 162
--- End of stack trace from previous location where exception was thrown ---

Other tests within that build may have failed with a similar message, but they are not listed here. Check the link above for more info.
This test failed on master.
CC @mkArtakMSFT

This comment was made automatically. If there is a problem contact ryanbrandenburg.
Please use this workflow to address this flaky test issue, including checking applicable checkboxes and filling in the applicable "TODO" entries:

Is this actually a flaky test?

No, this is a regular test failure, fix the test/product (TODO: Link to commit/PR)
Yes, proceed below...

Is this test failure caused by product code flakiness? (Either this product, or another product this test depends on.)

[ ] File a bug against the product (TODO: Link to other bug)
Is it possible to change the test to avoid the flakiness?

Yes? Go to the "Change the test!" section.
No?

[ ] Disable the test (TODO: Link to PR/commit)
[ ] Wait for other bug to be resolved
[ ] Wait for us to get build that has the fix
[ ] Re-enable our test (TODO: Link to PR/commit)
[ ] Close this bug

Is it that the test itself is flaky? This includes external transient problems (e.g. remote server problems, file system race condition, etc.)

Is there is a way to change our test to avoid this flakiness?

Yes? Change the test!

[ ] Change the test to avoid the flakiness, for example by using a different test strategy, or by adding retries w/ timeouts (TODO: Link to PR/commit)
[ ] Run the test 100 times locally as a sanity check.
[ ] Close this bug

No?

Is there any logging or extra information that we could add to make this more diagnosable when it happens again?

Yes?

[ ] Add the logging (TODO: Link to PR/commit)

No?

[ ] Delete the test because flaky tests are not useful (TODO: Link to PR/commit)

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 7 failures with about the same error on master at 6:40:36 PM:

SuccessfulCorsRequest_AllowsCredentials_IfThePolicyAllowsCredentials
CorsFilter_RunsBeforeOtherAuthorizationFilters_UsesPolicySpecifiedOnAction
SuccessfulPreflightRequest_AllowsCredentials_IfThePolicyAllowsCredentials
CorsFilter_RunsBeforeOtherAuthorizationFilters_UsesPolicySpecifiedOnAction
CorsFilter_RunsBeforeOtherAuthorizationFilters_UsesPolicySpecifiedOnController
SuccessfulPreflightRequest_AllowsCredentials_IfThePolicyAllowsCredentials
CorsFilter_RunsBeforeOtherAuthorizationFilters_UsesPolicySpecifiedOnController

Fixed now that the changes are merged in to master


TST: Split up tests and reduce parametrization

Reduces tests from ~hundreds to ~dozens with largely the same coverage

Codecov Report

Merging #65 into master will decrease coverage by 0.70%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #65      +/-   ##
==========================================
- Coverage   99.76%   99.06%   -0.71%
==========================================
  Files           3        2       -1
  Lines         432      428       -4
==========================================
- Hits          431      424       -7
- Misses          1        4       +3

Impacted Files
Coverage Δ

scikeras/_utils.py
97.40% <0.00%> (-1.30%)
:arrow_down:

scikeras/wrappers.py
99.43% <0.00%> (-0.57%)
:arrow_down:

scikeras/__init__.py

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6156c29...d024efe. Read the comment docs.


Sarah/spring workshops

Description
Fixed workshop timezone issue, and added the following workshops:

https://github.com/pulumi/marketing/issues/972
https://github.com/pulumi/marketing/issues/970
https://github.com/pulumi/marketing/issues/969
https://github.com/pulumi/marketing/issues/944

Checklist:

[x] I have reviewed the style guide.
[x] If blogging, I have reviewed the blogging guide.
[x] I have manually confirmed that all new links work.
[x] I added aliases (i.e., redirects) for all filename changes.
[x] If making css changes, I rebuilt the bundle.

@shughes26 Feedback:

The timezone still shows 9 am, although it knows has -0700, which I am guessing it's the timezone reference, but it won't be clear to the user. At the very least, it has to say PST (UTC-8)

Since a new workshop page was created/updated, please hide https://www.pulumi.com/resources/building-a-kubernetes-platform-in-amazon-eks/ and remove the form

nice catch on the 3/28 workshop that one of the sentences on "you'll learn" didn't make sense there.

@SaraDPH I'm troubleshooting the timezone issue, apparently our hugo deployment process is doing something that impacts the timezone settings (so a local instance will show it normally, but for some reason our deployments spit out the offset instead)

Also noticed that the form doesn't seem to be displaying on the 3/20 workshop
http://pulumi-hugo-origin-pr-3980-04acdff9.s3-website.us-west-2.amazonaws.com/resources/getting-started-with-kubernetes-aws/


swift-api-extract to generate JSON API information

Cherry-pick the change for swift-api-extract to 5.4 release.

rdar://69600000

@swift-ci Please test

Explanation: Adding a new swift driver option to print the APIs inside a swift module in JSON format. The JSON format is designed to be general and requires no knowledge of swift to be used by other tools.
Radar/SR Issue: rdar://69600000
Risk: Low. No impact on other uses of swift.
Testing: Unit tests.
Reviewer: @cyndyishida @ributzka @nkcsgexi