Integrate BLE tuya RGB light

Can you please help me integrate this BLE tuya RGB light

To integrate new device and new class of devices, next information is needed:

category, product_id, product_name. These values could be found in /config/.storage/core.config_entries file or in output of https://github.com/redphx/tuya-local-key-extractor
Names and descriptions of datapoints. It could be obtained on "Device Debugging" page of your "Tuya Cloud Project". Please provide it in format like this: work_mode | Enum | {"range": ["white","colour","scene","music"]}
IDs of all datapoints. Here is an instruction how to obtain it https://www.zigbee2mqtt.io/advanced/support-new-devices/03_find_tuya_data_points.html . Retrive please IDs of all datapoints, even if it is not listed in previous item of the list.
Part of log produced by your device, like this:
2023-05-11 20:09:28.568 DEBUG (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:71:AE: Received datapoint update, id: 2, type: DT_BOOL: value: True 2023-05-11 20:09:28.568 DEBUG (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:71:AE: Received datapoint update, id: 8, type: DT_ENUM: value: 0 2023-05-11 20:09:28.568 DEBUG (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:71:AE: Received datapoint update, id: 9, type: DT_VALUE: value: 75 2023-05-11 20:09:28.568 DEBUG (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:71:AE: Received datapoint update, id: 10, type: DT_VALUE: value: 0 2023-05-11 20:09:28.568 DEBUG (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:71:AE: Received datapoint update, id: 11, type: DT_ENUM: value: 1 2023-05-11 20:09:28.568 DEBUG (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:71:AE: Received datapoint update, id: 15, type: DT_VALUE: value: 0 2023-05-11 20:09:28.568 DEBUG (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:71:AE: Received datapoint update, id: 12, type: DT_VALUE: value: 70 2023-05-11 20:09:28.568 DEBUG (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:71:AE: Received datapoint update, id: 101, type: DT_BOOL: value: False 2023-05-11 20:09:28.568 DEBUG (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:71:AE: Received datapoint update, id: 17, type: DT_BOOL: value: True  It's a way to obtain information about datapoints types

Sorry for so many items :)

"category": "dd",
"product_id": "y5sbw7ma",
"product_name": "HCP20514 ",

switch_led	| Boolean	| "{true,false}"
work_mode	| Enum	| {"range": ["music"]}
bright_value	| Integer	| {"min": 10,"max": 1000,"scale": 0,"step": 1}
colour_data	| Json	| {"h": {"min": 0,"scale": 0,"unit": "","max": 360,"step": 1},"s": {"min": 0,"scale": 0,"unit": "","max": 1000,"step": 1},"v": {"min": 0,"scale": 0,"unit": "","max": 1000,"step": 1}}
countdown	| Integer	| {"min": 0,"max": 86400,"scale": 0,"step": 1}
control_data	| Json	| {"change_mode": {"range": ["direct","gradient"]},"bright": {"min": 0,"scale": 0,"unit": "","max": 1000,"step": 1},"temperature": {"min": 0,"scale": 0,"unit": "","max": 1000,"step": 1},"h": {"min": 0,"scale": 0,"unit": "","max": 360,"step": 1},"s": {"min": 0,"scale": 0,"unit": "","max": 255,"step": 1},"v": {"min": 0,"scale": 0,"unit": "", "max": 255,"step": 1}}

Time	Device Event	DP ID	Event Details	Source	Source Details
2023-05-12 16:41:26	publish by cloud api	publish by cloud api	failed	open api	cloud2cloud
2023-05-12 16:41:14	Report	On/Off	ON	device itself
2023-05-12 16:41:14	Report	音乐模式	132	device itself
2023-05-12 16:41:14	Report	线序调整	0.30	device itself
2023-05-12 16:41:14	Report	灯带点数	3.00	device itself
2023-05-12 16:41:14	Report	灯带模式	053264	device itself
2023-05-12 16:41:14	Report	场景模式	CJ_YD	device itself
2023-05-12 16:41:14	Report	Mode	color	device itself
2023-05-12 16:41:14	Report	Colour	012c03e803e8	device itself
2023-05-12 16:41:14	Report	Timer	0	device itself

2023-05-12 08:47:28.410 ERROR (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:F2:88:EC: device not found, not in range, or poor RSSI: None
2023-05-12 08:48:49.470 ERROR (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:F2:88:EC: device not found, not in range, or poor RSSI: None
2023-05-12 08:50:10.523 ERROR (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:F2:88:EC: device not found, not in range, or poor RSSI: None
2023-05-12 08:52:23.587 WARNING (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:B4:56: Device unexpectedly disconnected; RSSI: -82
2023-05-12 08:53:28.982 ERROR (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:F2:88:EC: device not found, not in range, or poor RSSI: None
2023-05-12 08:58:32.176 WARNING (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:B4:56: Device unexpectedly disconnected; RSSI: -82
2023-05-12 09:03:52.979 WARNING (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:B4:56: Device unexpectedly disconnected; RSSI: -82
2023-05-12 09:10:34.992 WARNING (MainThread) [custom_components.tuya_ble.tuya_ble.tuya_ble] DC:23:4D:AC:B4:56: Device unexpectedly disconnected; RSSI: -84

Hi, I have a bit of time to make some improvements.
In point 3 there are no IDs itself. ID is an integer value.
For point 4 you need to place the device closer to the Bluetooth adapter.

Hello.
For 3:
ON/OFF: 1
Mode: 2
Brightness: 3
Colour: 5
Debugger: 101
音乐模式: 102
Timer: 7
线序调整: 103


Postman not setting BInance environment variables

Hi, i've used Postman for Binance for some time successfully, but not for a while ... and now all requests which require an API key fail:
"code": -2008,
"msg": "Invalid Api-Key ID."
In the code say for {{url}}/sapi/v1/capital/config/getall?timestamp={{timestamp}}&signature={{signature}} the environment variable is not being set properly::
myHeaders.append("X-MBX-APIKEY", "api-key");
And when i hover on  the environment variable in the Header section of the API call, you can see that the current value is not set.
But in the Environment, the variable binance-api-key has the correct initial value and current value set.
p.s. i've reinstalled POSTMAN for Desktop, and i've deleted and reimported the Binance SPOT collection and the Environment.
Any ideas?

From the Postman UI, navigate to Environment and make sure that the Initial Value and Current Value are set with your API Key correctly. Try to create a new API Key if it fails again.

Yes, as mentioned, in the Environment, the variable binance-api-key has the correct initial value and current value set.
I did try many different sets of API keys, before i realized that that wasn't helping, since the API parms and header weren't using the refreshed environment variable values.

https://github.com/postmanlabs/postman-app-support/issues/6001#issuecomment-1164603270
There is an issue thread for this on postman. Try and see if this fixes your problem.

Thanks, but it doesn't help.   I've tried all the suggestions already, I've signed out & in, uninstalled and reinstalled postman, deleted and reimported the collection and environment, and the bug is still there.

Go to the postman menu:
View -> Show Postman Console
Then you will see the raw logo of each request. You should be able to see what exactly API key was sent in the request header.

Yes, thanks i've checked that before.    From the console it also shows that no value is being set for X-MBX-APIKEY (from the environment variable which does have a correct value):
Request Headers
Content-Type: application/json
X-MBX-APIKEY: api-key

Please check the environment file and also the header in each request. Make sure you have the SAME settings as in the screenshot.
The header setting comes from the post collection. Maybe it worths to download the collection and import it again.

Yes thanks, the header is exactly as per the screen shot, and the environment variable is set for that variable.

But when you hover you see the header variable doesn't contain the expected value.
I've deleted and reimported the collection and environment several times, and reinstalled postman, but same problem ever time.

that's weird. Maybe you can try setup the environment file again?
Or maybe reinstall the postman. Not sure why the binance-api-key is not set.

Please open new issue if you still has any difficult.


Rect elements not properly scaled

Just to put the above into words, the range of collection dates for this lineage does not line up with the time axis of the tree plot

The cutoff slider does not align with the time axis of the tree plot either

Pending PR


Add support for Swift 5.0 branch

@swift-ci test

Soon as testing completes, I will update the conflict.


does not work with pre-7 PHP

Does not work on PHP below 7 because clone is a reserved word and only PHP 7 and above allows using reserved words as method names.
The clone method from datastore is the problem.
The README still says PHP 5.4 or above is required.

Hi jazzkutya,
Thanks much for your valuable feedback! We've just released version 3.25.4. Please try it and let us know if it fixes this issue.

thanks, it fixes the issue.
unfortunately while getting to know koolreport I found the code quality and reliability too lacking so I abandon using this project. I will post another issue that finally made my decision but that's all. Thank you for your understanding.


Proxy needs to be immune to the change of the time on a local proxy machine

What is the bug?
Instant.now() is used for timestamps of TrafficObservations, which doesn't guarantee monotonicity.
How can one reproduce the bug?
I haven't confirmed this scenario, but it would be a good test too.  Run the proxy.  Open a connection to the proxy with keep-alive enabled.

Run a request through the proxy (to a backend server).
Reset the clock backward on the system by a couple seconds.
Send another request through.

The timestamps should be in chronological order, even if that means that the timestamp doesn't match the currently reported time of the host machine.
What is the expected behavior?
All observations within a connection will be in chronological order.
What is your host/environment?
N/A
Do you have any screenshots?
N/A
Do you have any additional context?
See Issue 536

@gregschohn Which component should arbitrate 'time', it seems like it should be the proxy?


Add action to cherry-pick snapshot changes

In an audit workflow, new data is written to an orphan snapshot that is not committed as the table's current state until it is audited. After auditing a change, it may need to be applied or cherry-picked on top of the latest snapshot instead of the one that was current when the audited changes were created.
Iceberg needs to support cherry-picking the changes from an orphan snapshot by applying them to the current snapshot.

Cherry-picking should always apply the exact set of changes that were done in the original commit. If files were deleted, then those files must still exist in the data set. All added files should be added to the new version. Also, if an overwrite by expression replaced 0 files, then there must be no files matching the expression.

This has been moved to the ASF project: https://github.com/apache/incubator-iceberg/issues/42


Specify images platforms to avoid using default platforms that depend on the runner

Motivation
Fixes https://github.com/networkservicemesh/deployments-k8s/issues/9215

@edwarnicke , @frank7y  Could you have a look?

LGTM


Typo in link to readme

Looking at the English version, The link to the readme on the instructions page has a typo:  "See some examples and instrutions here."
https://github.com/Dolphiq/craft3-plugin-redirect/search?utf8=✓&q=instrutions&type=

Thnx, we fixed this


should we expose defaultStart?

Inside the internal-utils of @react-rxjs/utils, we have this operator named defaultStart which IMO can be very useful when using these bindings. It's very simiar to startWith, the main difference is that defaultStart only emits the provided starting value if its source doesn't synchronously emit anything.
The questions is: should we expose it from @react-rxjs/utils? and if we did, can you think of a better name?

On a second thought, I don't want to overpopulate the utils package. So, let's just expose this operator if there is a real demand for it.


Umd wrapper refactor

It is #353 with a slight modification to give AMD picturefill the same foolproof backup as the picturefill global function.

This has been fixed in picturefill 2.3.


Should enemies path-find to gain line of sight?

All enemy types now have a bool which determines whether they need line-of-sight to fire on the player.
It could be that, when enemies do not have line of sight, they enter a 'wander' state where they move around without regard to the player's current position.


Add Nullable annotations where applicable

In support for #114
To avoid adding @Nonnull annotations everywhere, this PR adds package-info.java files and essentially marks the entire package as @Nonnull for return types, parameters, and fields. The remaining changes then only have to call out where nullability is allowed by adding the @Nullable annotation.

@checketts  - Could you add a quick changelog line to CHANGELOG.md pointing out that nullable/nonnullable annotations are added?

Changelog updates added

Excellent. Thank you :)


ag -z searches only the first gzip stream in a file

.gz files can contain multiple streams, but ag -z searches only the first.  I ran into this when using ag to search .warc.gz files, which can have many streams.
$ echo "one" | gzip >> test.gz
$ echo "two" | gzip >> test.gz
$ echo "three" | gzip >> test.gz
$ zgrep three test.gz
three
$ ag -z three test.gz
$ ag -z one test.gz
1:one

This is still relevant in 0.33, latest version available in Centos 7 from EPEL.

Confirm in 0.31 for RH6.7 also.

Was this planned to be fixed?  I see it still in 2.0.0


When using workspace with two repos, commenting is only available in the first repo

Extension version:
v0.74.1
VSCode Version:
1.83.1 (system setup)
OS:
Win11 (Windows_NT x64 10.0.22621)
Repository Clone Configuration (single repository/fork of an upstream repository):
Single
Github Product (Github.com/Github Enterprise version x.x.x):
Enterprise

Steps to Reproduce:

Open the root folder of a repo in VS Code.
Add another folder to the workspace.
Open the Pull Requests view
Click on a file from the pull request file tree of the first repo you opened in VS Code
Notice how you can add comments. Both in diff view and file view:
Now click on a file from the pull request file tree of the SECOND repo you opened
Notice how the grey line isn't there anymore, neither in diff view of in file view:

The extension seems to only add the commenting capability to the first folder in your workspace, because if I open the workspace settings (JSON) and flip the order of the elements in the folders array, then I can suddenly start making comments in the other folder, but no longer in the one I opened initially.

This should be fixed in version 0.76.

I'm on 0.76.0 and I still have the issue:

In fact another regression seems to have appeared: now the Comments area in the right panel only lists comments for one of the three opened repos in my workspace, and that repo isn't even the first one in the workspace.json folders array, but the second.

@johnknoop is this for PRs you have checked out, or PRs that you're browsing from the "Pull Requests" view but haven't checked out? Your most recent gif is the former, but I want to double check that this has always been your scenario.

@alexr00 it's PR's I have checked out, that I'm working on myself.

Also, please tell me when I can remove the screengrabs from this page, since they contain code from our private repos. :)

@johnknoop I removed them now, though I don't see a way to remove them from the history of your original post (I could remove  them from the history of your comment).

I see a way that this could happen. You have 2 PRs checked out, and they're in different repos. Did they happen to have the same PR number?

No they had different PR numbers.
I just tried to reproduce this issue again with two new PRs, but this time all the comments show up fine. So I think we can close this.
Thanks a ton for your assistance!


Update kvmtool submodule

Thank for the correction.
@p-sawicki2  Why don't we submit the patch to the kvmtool community?


Add more details regarding the Dev Portal customization

Description:
A prospect could not find detailed documentation regarding the different possibility to customize the Developer Portal. Can the page [1] be enriched with more details on how the Dev Portal is structured, etc?
[1] https://apim.docs.wso2.com/en/latest/develop/customizations/customizing-the-developer-portal/overriding-developer-portal-theme/ can be
Suggested Labels:
Suggested Assignees:
Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

@chanaka3d , can you please look into this issue?


VALIDATION HTML col fix

Fix disallowed-html col.

Docs Build status updates of commit b66bf31:
:warning: Validation status: warnings

File
Status
Preview URL
Details

Skype/SDN/articles/tenantid-element-endpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md
:warning:Warning

Details

Skype/SDN/articles/tenantid-element-endpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md

Line 13, Column 1: [Warning: duplicate-h1s - See documentation] H1 'TenantId element' is duplicated with other articles: 'SDN/articles/tenantid-element-byeendpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md(13,1), SDN/articles/tenantid-element-endpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md(13,1), SDN/articles/tenantid-element-errorendpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md(13,1), SDN/articles/tenantid-element-inviteendpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md(13,1)'. First level headings must be unique within a docset.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Global effort to fix build validation errors
@lindalu-MSFT   NOTE: The validation warnings and suggestions in this PR will be fixed by another author in another PR.
The Content & Learning team is fixing build validation errors on docs.microsoft.com for the rest of H2. This will eliminate potential accessibility, security, and usability issues. This PR includes only build validation fixes and does not change other content. Please review within five business days and merge or comment in the PR with any changes you’d like to see. Thank you!

Docs Build status updates of commit 68b8f8b:
:warning: Validation status: warnings

File
Status
Preview URL
Details

Skype/SDN/articles/tenantid-element-endpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md
:warning:Warning

Details

Skype/SDN/articles/tenantid-element-endpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md

Line 13, Column 1: [Warning: duplicate-h1s - See documentation] H1 'TenantId element' is duplicated with other articles: 'SDN/articles/tenantid-element-byeendpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md(13,1), SDN/articles/tenantid-element-endpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md(13,1), SDN/articles/tenantid-element-errorendpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md(13,1), SDN/articles/tenantid-element-inviteendpointtype-complextype-skype-for-business-sdn-interface-2-2-schema-d.md(13,1)'. First level headings must be unique within a docset.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add C/C++ extension as an extension dependency

I wonder whether it would be better to add C/C++ extension as an extension dependency. i.e. put below settings into package.json. Installing PlatformIO extension will also install the C/C++ extension.
"extensionDependencies": [
    "ms-vscode.cpptools"
]

There seems no side effect.

I think it is a very good idea. Then we can also remove the check if the extension is installed in in configureAutoUpdateIncludes().

There is no side effect to keep the check, and also avoid the corner case: user manually uninstalls the C/C++ extension.


#err: Chapter10: NoteBook Cell is not updated

Notebook cell in chap10notebook
Cell number 6 is not properly run, I ran it and it is working properly, its just in need of update in repo
Output in repo

Output should be

Fixed with this commit. Please re-open if you still see problems.


Typeahead does not keep the dropdown open like Twitter.com Search when Dev tools open

Hi,
At the moment I need the typeahead to work just exactly like the Twitter.com search, where the dropdown stays open until I click somewhere on the body
All I need to do is to use the dev tools to style the dropdown, but the dropdown closes
http://stackoverflow.com/questions/29789767/keep-twitter-typeahead-suggestion-dropdown-open
Any help please

If you're using Google Chrome, try setting a DOM breakpoint on the typeahead element. This will pause the Javascript and allow you to inspect the element's markup and styles. See: https://developer.chrome.com/devtools/docs/javascript-debugging#breakpoints-mutation-events

alright, so you cannot program typeahead to to act this way right ?
Not a prob. Thanks :+1:


Running app Manifest details are obscured by JRE's Manifest information

When migrating from a deprecated dockerfile/java image I noticed that the runtime behaviour of my application changed.
The docker image with Oracle Java 8 allowed me to obtain manifest information from my application., e.g. Implementation-Version.
Running the same application with the java:8u40-jre docker image results in the JRE version information showing instead.

You're going to need to provide more context (or ideally code) for how you were obtaining this information previously.

No problem.
I have created a small stand-alone application which should demonstrate the behaviour.
A one line change in the build.gradle file will allow you to switch between base images.
https://github.com/stephen-souness-springer/java-manifest-in-docker

If you're running gradlew outside the container, wouldn't the JAR file created be the same in both cases? I'm curious whether and if how the contents of your MANIFEST.MF differ in the two cases.

The jar created is the same.
The runtime behaviour is different because the Java runtime is finding a different MANIFEST.MF somewhere in the classpath at runtime.

I suspect we will find this is just one of those things that we should expect to encounter.
I'm updating my sample code to show how to get the manifest that we want.

For what it's worth, I was able to reproduce your problem. This would appear to be a difference between the Oracle and OpenJDK JVM packaging.
Someone else appears to have reported the same issue here: http://stackoverflow.com/questions/14298755/openjdk-only-why-does-getresourceasstream-not-return-manifest-mf-in-executabl


fix for MC-124177

see Debugify and FabricCrossDimTPFix implementations

I'm not a fan of copying other people's code. So ill look into it myself

Good thing that I did too, they're both doing it wrong xD
I'll be committing the fix soon, I'm guessing you want this for 1.18.2 so ill cherry-pick it to that branch also

Fixed in: https://github.com/fxmorin/carpet-fixes/commit/2fc1cc39272b55a65c49349e94492b8c2fc971f3
It will be available as the rule crossDimensionTeleportLosesStatsFix in the next release

It's been released in both v1.7.6 (1.18) & v1.8.7 (22w14a)

Thank you! Your fix is wonderful! Before that I could only mix the use of these two mods to sync the experience level after I entered a new dimension, thinking that these implementations might help to fix this bug. Now there is a better solution for this problem.


Add chr21 version of bed file for NGSCheckMate

Add chr21 version of bed file for NGSCheckMate

this file is in the modules branch too?

Not yet, shall I make the same PR against the modules branch too?

this file is in the modules branch too?

Not yet, shall I make the same PR against the modules branch too?

I'd say this branch is too different from modules, it won't work

Can you update this file as well:
https://github.com/nf-core/test-datasets/blob/sarek3/get_files.sh

this file is in the modules branch too?

Not yet, shall I make the same PR against the modules branch too?

I'd say this branch is too different from modules, it won't work

Sure, I'll make a new PR with the same change

@maxulysse , I've also opened a PR to add to modules: https://github.com/nf-core/test-datasets/pull/1017


[agent/dispatcher] Keep track of a node's TLS info and provide root CA changes for an agent

This PR does the following:

Whenever a session is established with a dispatcher, the agent sends the current node's TLS info (the issuer of its TLS certificate, which root certs it trusts) as part of the node description to the dispatcher, which can update it in the store.

Whenever a node renews its TLS certificate and the cert's issuer has changed, or when the node changes the roots that it trusts, the session is restarted and the updated node TLS info sent to the dispatcher.

Whenever a dispatcher notices a root CA change, it pushes the new root certs down to the agent as part of the session message.  The agent, if it detects a change from the root it trusts, will notify the node, which (if the node is a worker) will trust the new root instead.
If it's a manager, the manager will update the root CA on its own and doesn't need info from the dispatcher - however, this doesn't cause the agent to immediately re-establish a session.  The periodic node update should pick it up, however.

Note that the tests will probably fail - also, the agent/dispatcher code is completely untested.
Part of #1990.

Also note I am probably going to pull the security config changes out into a separate PR, if this approach generally makes sense

(still in progress)

Apologies for taking so long - @aaronlehmann @diogomonica I think this is finally done, if you wouldn't mind taking another look.

LGTM

(rebased to make sure there are no semantic conflicts)


Add MintMaker config file

@dhaiducek could you please rebase?

I will back after rebase!

/retest

sorry for the churn--this should be ready to go 🤞

/retest

/retest


WRG

@Halaskommm Please elaborate your feedback and share the Azure document link to which the feedback is related.


Info Request

Can you please explain me what is the difference (or benefits) on using this extension instead of using intelephense globally installed via npm.
In the coc.nvim wiki page( language servers sections), I see that for PHP the options are this extension or to use  the bmewburn/intelephense-docs (or even php-language-server) but I couldn't understand which one is better and why since both are using intelephense.
Thanks

I am not a maintainer, so I may be wrong. But from what I understand, coc-phpls is using the intelephense npm package. For me, its installed in ~/.config/coc/extensions/node_modules/coc-phpls/node_modules/intelephense. So answer to your question about what the difference is between intelephsense and coc-phpls would be there is no difference.
The way I think about it is coc-phpls takes the intelephense language server and ties it into the coc extension system. So its kind of like an integration layer. This is why you can read the intelephense-docs if you want to know how to configure coc-phpls. Because at the end of the day, you are still using the intelephense lsp. Sure its integrated into coc through coc-phpls, but its still intelephense.

@cxgslegend Thank you. Very useful


Upgrade to kamelets 0.7.1

Still to be released. It's just in staging repository now

Kamelets 0.7.1 has been released now


chore: bdd-sbhg-1592901898 to 0.0.1

chore: Promote bdd-sbhg-1592901898 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Allow for type mapping, and via a config file

This issue copied from comment on #2.

Looking specifically at the K8s manifests you posted, I'm going to use one of them to illustrate my concern:
---
apiVersion: v1
kind: Secret
metadata:
  name: my-secret
  namespace: my-namespace
type: Opaque
data:
  password: MWYyZDFlMmU2N2Rm

Not sure what gonfique would generate for this, but if I were to hand code it I would want it to generate the following:
package K8sObjects

type Kind struct{
	Name string
}

type Namespace struct{
	Name string
}

type SecretType string

const (
	OpaqueType SecretType = "Opaque"
)

type MetaData struct {
	Name string
	Namespace *Namespace
}

type Secret struct {
	ApiVersion string
	Kind       *Kind
	Metadata *MetaData
	Type SecretType
	Data *SecretData
}

type SecretData struct{
	Password string
}

Clearly, to generate that from the YAML would require a lot of out-of-band configuration.
Here is a configuration for that which I quickly mocked up, which I am sure would need to be significantly reworked to be usable. But obviously this type of config could not be fully encoded via command line flags without being wildly unusable. And note, this example only specifies that which cannot be discerned directly from the source YAML file:
---
schemas:
    schema:
        name: Secret
        match:
            - .kind: Secret
        types:
            - .kind
                - type: struct
                # Struct from string defaults to one property: `.Name`
            - .type
                - name: SecretType
                - const: {{value}Type = "{value}"
                # `type: string` is assumed for single value properties in string format
            - .metadata
                - name: \*MetaData
                # `type: struct` is assumed for dictionaries
            - .data
                - name: \*SecretData
                # `type: struct` is assumed for dictionaries

You may look at this and say:

"What's the point?  That requires too much configuration; I just want to point at the YAML and be done with it."

If that is your response, I would argue:

Generating less than well-structured types will just simplify the easy part — writing types — and make the much more complex part — using types over the lifecycle of the app — even harder.

I see this (type of) configuration being done once and then used many times, by many people.  For example, you could write gonfique and then others could create config for specific use-cases, like Kubernetes, and then host those configs in their own repo.  If that did transpire, you'd be spawning 3rd party developers for gonfique.

Also clearly, for this to be reusable you'd need more than just a .config config and a repo config; you'd also need the ability to import other config files into your repo config.

It looks like some types can get "recognized" by the context (parents) while for others it is the set of properties (children).
Easiest implementation is sadly not very flexible enough for changing pathways. Although it create advantage to user too, as it is the most readable, least cluttered one.
types:
   - config.github.domain.gateways.public.services.document: DocService
   - config.github.domain.gateways.public.services.objectives: ObjService
   - config.github.domain.gateways.public.services.endpoints: EPService

Source
The other syntax looks like a DSL in YAML file, which lacks linter support. It defeats the purpose of this tool to exist by requiring developers to write code in not-type-checked environment. Also, developers don't love learning DSLs. Other than that, it is flexible against altering schemas but cluttered to "debug" when things go wrong.
I like the pathway: typename approach. It is easy to implement and also simple to use.

Wildcard support on pathways can drastically improve the flexibility for changing pathways.
config.github.*.*.*.services.document: GithubDoc # one level at each *
config.gitlab.*.*.*.services.document: GitlabDoc
config.**.objectives: ObjService                 # multi-level for **

I've also lost types key and bullets.

_"Easiest implementation is sadly not very flexible enough for changing pathways. Although it create advantage to user too, as it is the most readable, least cluttered one."
"types:"
"   - config.github.domain.gateways.public.services.document: DocService"
"   - config.github.domain.gateways.public.services.objectives: ObjService"
"   - config.github.domain.gateways.public.services.endpoints: EPService"

BTW, the reason I chose to show the example in this way was to avoid the sparse matrix of a mirrored YAML structure.
OTOH, this syntax gets to be overwhelming when every property needs to be mapped.

"Wildcard support on pathways can drastically improve the flexibility for changing pathways."

Definitely. Had not thought of that, but I like it.

"The other syntax looks like a DSL in YAML file"

I assume you are talking about the syntax proposed in my first post of this issue?
Assuming yes, I reject that is is like a DSL. This would be a DSL:
DEFINE SCHEMA secret
	MATCHING .kind="Secret"
	WITH TYPES
		.kind AS struct,
		.type NAMED SecretType AS const="{{value}Type = \"{value}\"",
		.metadata NAMED *MetaData,
		.data NAMED *SecretData

Yes, it does contain the same information, but presented as a data file containing patterns to match, and not as a language.

"It defeats the purpose of this tool to exist by requiring developers to write code in not-type-checked environment."

I do not see how it is any less type-checked than any alternative, and
gonfique could easily "type-check" it by calling out properties not found in the YAML, calling out invalid syntax for types, and calling out invalid syntax for the const pattern.

"Also, developers don't love learning DSLs."

While I agree with that assertion, I again argue that this is not a "DSL", per se.  First, the data is really just the things that are obviously needed to map properties to types, and does not include a bunch of strange concepts.
Further, gonfique could easily generate a starter config showing how all the defaults would be configured so that developers would not have to start from scratch and could easily see how things works.
The only thing even remotely obscure or difficult to understand is the const property and generating an example would resolve that.
BTW, the irony of you called it a DSL for YAML is that if that were true, then the same could be said for essentially every other use-case of YAML, and especially for Kubernetes. 😄

"Other than that, it is flexible against altering schemas but cluttered to "debug" when things go wrong."

Not if gonfique were to provide verbose logging to the console, then it would be easy to see why things went wrong.

Work in progress
I could not shipped the feature as I still need to finalize some design decisions on incorporating this feature to other optional features. But, I wanted to share the latest state related with user-provided mappings support, the way it produce type defs.
User provided example config file:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
  namespace: my-namespace
type: Opaque
data:
  my-key: my-value
  password: cGFzc3dvcmQ=
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  rules:
    - host: myapp.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: my-service
                port:
                  number: 80
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-container
          image: my-image
          ports:
            - containerPort: 80
          envFrom:
            - configMapRef:
                name: my-config
            - secretRef:
                name: my-secret

user provided example mapping file:
apiVersion: ApiVersion
metadata.name: Name
spec.rules.[]: Rule
spec.rules.[].Http.Paths.[]: Path
spec.ports.[]: Port
spec.**.containers: SpecContainers
spec.**.containers.[]: SpecContainer
spec.**.containers.[].name: ContainerName

Produced file:
package config

import (
  "fmt"
  "os"
  "gopkg.in/yaml.v3"
)

type (
  SpecContainers []SpecContainer
  ApiVersion     string
  Name           string
  Rule           struct {
    Host string `yaml:"host"`
    Http struct {
      Paths []struct {
        Backend struct {
          Service struct {
            Name string `yaml:"name"`
            Port struct {
              Number int `yaml:"number"`
            } `yaml:"port"`
          } `yaml:"service"`
        } `yaml:"backend"`
        Path     string `yaml:"path"`
        PathType string `yaml:"pathType"`
      } `yaml:"paths"`
    } `yaml:"http"`
  }
  Port struct {
    Port       int    `yaml:"port"`
    Protocol   string `yaml:"protocol"`
    TargetPort int    `yaml:"targetPort"`
  }
  ContainerName string
  SpecContainer struct {
    EnvFrom []struct {
      ConfigMapRef struct {
        Name string `yaml:"name"`
      } `yaml:"configMapRef"`
      SecretRef struct {
        Name string `yaml:"name"`
      } `yaml:"secretRef"`
    } `yaml:"envFrom"`
    Image string        `yaml:"image"`
    Name  ContainerName `yaml:"name"`
    Ports []struct {
      ContainerPort int `yaml:"containerPort"`
    } `yaml:"ports"`
  }
)
type Config struct {
  ApiVersion ApiVersion `yaml:"apiVersion"`
  Data       struct {
    MyKey    string `yaml:"my-key"`
    Password string `yaml:"password"`
  } `yaml:"data"`
  Kind     string `yaml:"kind"`
  Metadata struct {
    Name      Name   `yaml:"name"`
    Namespace string `yaml:"namespace"`
  } `yaml:"metadata"`
  Spec struct {
    Ports    []Port `yaml:"ports"`
    Replicas int    `yaml:"replicas"`
    Rules    []Rule `yaml:"rules"`
    Selector struct {
      MatchLabels struct {
        App string `yaml:"app"`
      } `yaml:"matchLabels"`
    } `yaml:"selector"`
    Template struct {
      Metadata struct {
        Labels struct {
          App string `yaml:"app"`
        } `yaml:"labels"`
      } `yaml:"metadata"`
      Spec struct {
        Containers SpecContainers `yaml:"containers"`
      } `yaml:"spec"`
    } `yaml:"template"`
  } `yaml:"spec"`
  Type string `yaml:"type"`
}

func ReadConfig(path string) (Config, error) {
  f, err := os.Open(path)
  if err != nil {
    return Config{}, fmt.Errorf("opening config file: %w", err)
  }
  cfg := Config{}
  err = yaml.NewDecoder(f).Decode(&cfg)
  if err != nil {
    return Config{}, fmt.Errorf("decoding config file: %w", err)
  }
  return cfg, nil
}

Supported symbols are:

[] for naming the item type rather than slice/array type,
* for matching all the fields/keys in the level it placed,
** for matching all fields/keys in multiple levels.

One rule is that * and ** can not be placed at the end.
Note that wildcards can make a rule match with multiple substructures in the config file. In such case, gonfique will check schemas of those structures and return an error if they are not same.
In the example config above, all of below patterns would match the same structure:

spec.template.spec.containers,
spec.*.spec.containers,
spec.*.*.containers,
spec.**.containers

I like the current file structure (or syntax) of mapping file, as it is very easy to learn and let's user define flexible, reusable mappings against changing schemas.

v1.3.0 introduces mapping file support to enable users specify their preference on names that will be assigned to generated types. Details are in docs/mapping.md
I've been using mapping feature for a quite some time, it is working flawlessly.
Implementing the rest of requested features (user-specified types, matching targets based on details/children/substructures, more featured mapping file, etc.) are not planned at the moment.
Since I get no response for a while, I'm gonna close the issue as partially-solved. If there is anything to add, another issue can be open.
Thanks for your contribution and time.


Add volume cast intersection tests

Objective

Add a basic form of shapecasting for bounding volumes

Solution

Implement Aabb2dCast, Aabb3dCast, BoundingCircleCast, and BoundingSphereCast
These are really just raycasts, but they modify the volumes the ray is casting against
The tests are slightly simpler, since they just use the raycast code for the heavy lifting

https://github.com/bevyengine/bevy/assets/3254486/e4eb79b8-e09e-4271-9196-e84e556a4ad3
Here's a video of it working. The shapes are cast from the origin (purple point) in the direction of the line. The shapes (and their offset from the origin) can be seen at the origin. The casts only interact with shapes of the same type. When a collision happens it is shown as a green shape


Feature request: Use Orbax for checkpointing.

wdyt about changing the current checkpointing to use orbax?
https://github.com/google/orbax

I think the current streaming checkpointer is quite good and I'm not planning to switch to orbax. Specifically, the streaming checkpointer can save and load checkpoints with minimal memory and temporary disk usage, which means that you can checkpoint models that does not fit in the memory or local disk of a single machine. Also as a personally preference, I want to stay away from complicated Google libraries as much as possible.

obrax do not support load streaming and sharding data or array across devices with pjit so I think the current checkpointing method that is being used right now is a smart move :)


Resolve: Bug: add/remove property and at the same time change it at x-indexes: #3

Fix https://github.com/php-openapi/yii2-openapi/issues/3

Merge conflicts with master are quite complex to resolve, please merge master into your branch and fix these.

Thank you!


update amq-streams operator version to 1.8.4

followup PR for https://github.com/stolostron/hub-of-hubs-kafka-transport/pull/4

/assign @vadimeisenbergibm

/cherry-pick release-0.3


[TextField] Fix RTL support of outlined

Fixes #12914

@RobertPurcea It's a great first pull request on Material-UI 👌🏻. Thank you for working on it!


Some new features..  inch position display and g code single step

Hi,
I added a checkbox to set the 3 axis position displays to inches or mm. Code change just divides the positions by 25.4 before setting the numerical text boxes for position display..  I'm an old 'inches' guy..  I thought there might be a user setting to set this, but I could not find it..  My grbl is working in inches but the display was always mm..
I also added another command button to the open/ run/ pause/ stop group box. The new button is "single step".  I was trying out a new g-code generator, and needed to see where things were going bad..  Single stepping thru the g code helped this process.  Again, not a rocket science addition, but helped me out.
I'm new to this 'community software' effort..  willing to work on problems/ feature ads/ share my code if anyone is interested..  just do not know how or what are 'the accepted methods/ process for doing so'.. Love the mixture of software/ making things work..
Thanks again for making a nice program..

Hi
thank you for the thanks and the suggestions.
you can get reports in Imperial by setting $13 to 1.
Can you email me your code for single step? Probably easier than figuring out Git :-)
<EMAIL_ADDRESS>is my masked email address.
Gerrit

Finally I am getting to adding your Single Step code. Very cleanly done! Thank you


Transaction history not showing after receiving ADA to payment part of address

Today I sent some ADA to the payment part of my preprod address. Once the transaction went through I was not able to click on the "transaction history" button: the extension closes when I click. Balance seems to display correctly, and other accounts work without issues.

@rodrigomd94 Talk to Cardano Support on the Live support page so that your issue can be looked into.


MRG: Fix CTF fiducials

Closes #4589.
@kingjr can you see if it fixes your CTF coreg problem?

Now it throws an error when we try to load the head shape source file (raw.fif).
Note that we have no error and no problem fitting doing this with mne_analyze.

Codecov Report

Merging #4603 into master will increase coverage by <.01%.
The diff coverage is 78.57%.

@@            Coverage Diff             @@
##           master    #4603      +/-   ##
==========================================
+ Coverage   87.06%   87.06%   +<.01%
==========================================
  Files         349      349
  Lines       66136    66157      +21
  Branches    10263    10268       +5
==========================================
+ Hits        57581    57602      +21
+ Misses       5656     5654       -2
- Partials     2899     2901       +2

Okay try again please. This works for me (once I set the MRI fids and align them using the align button):
mne coreg -s ESA28 -d ~/Desktop/ctf --no-guess-mri -f ~/Desktop/ctf/ESA28_01.fif

"cardinal point" is another name for "fiducial" in this context

I see errors like:
""""
File "/Users/alex/work/src/mne-python/mne/gui/_coreg_gui.py", line 405, in omit_hsp_points
new_filter = np.ones(len(self.hsp.raw_points), np.bool8)
AttributeError: 'DigSource' object has no attribute 'raw_points'
""""
I also see tiny pink balls that seem far from the skin. Do you see this?

No. When I do:
mne coreg -s ESA28 -d ~/Desktop/ctf --no-guess-mri -f ~/Desktop/ctf/ESA28_01.fif

I get this screen (and no errors):

Then I click on the MRI where I think the LPA is; click the "Set: Nasion" (on the left) and click on the MRI where I think the nasion is; click the "Set: RPA" and click on the MRI where I think the RPA is; then click "Lock" (on the left), and I get the ability to set the coreg (note ungrayed options):

Clicking "fit fiducials" on the right panel I get a not-great fit (but it can be adjusted via scaling):

@kingjr can you try?

what are the pink dots at the back of the head?
@larsoner try clicking on fit lpa/rpa and fit fiducials.
and maybe "omit"
this is how I got the errors.

what are the pink dots at the back of the head?

They appear to be about as far from the head as the fiducials are from one another, so I think this might not be a great dig fit. They are of EEG kind in the info['dig'].

and maybe "omit"

Yes I can replicate with this, but it should be fixed with the latest commit. You can test with @kingjr's data, but then also verify with some data that actually have EXTRA points:
mne coreg -s sample -d ~/mne_data/MNE-sample-data/subjects --no-guess-mri -f ~/mne_data/MNE-sample-data/MEG/sample/sample_audvis_raw.fif

what are the pink dots at the back of the head?

No idea, we have those for all CTF recordings, I've asked, I'll wait for the answer. Up to now I always omitted them.

I think this might not be a great dig fit.

Indeed the fit in this particular subject is pretty bad, but it seems to be the same issue with mne_analyze
However, the omission function seems different: using 10 mm

remove the dots in mne_analyze
does not do anything in mne.gui.coregistration, which instead indicates `Excluding 0 head shape points with distance >= 0.010 m.

Apart from this omission issue, this branch fixes the load/save error: we can load the head shape source from gui, and the error message doesn't pop up anymore. Thanks @larsoner
JR & Anna

the omission function seems different: using 10 mm

In mne_analyze it must remove even EEG dig points, in coreg it only removes the extra (headshape) dig points.

@agramfort okay with you to merge once the CIs come back happy?

works for me on sample and this ctf data (at least no crash)
thx @larsoner


Update buildTools version

Update buildTools, gradle and other dependencies to the latest versions

Done as part of #16 Thanks!


Will you take patches for other new providers?

Working on some now... just want to be sure it's still on the roadmap, and you're active.  I mean I can fork this, if not, but would rather patch and pass it onward to you.

I absolutely will! I'm hoping we can expand out this with many more providers, I've just not had much opportunity to work on it lately myself!
Thanks for contributing!


📝 Documentation: Add a quickstart on GitHub Codespaces

Bug Report Checklist

[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Overview
Forking from https://github.com/OpenContributionsProject/opencontributionssite/pull/4#discussion_r1054987694: we have a .github/DEVELOPMENT.md file that describes how to get started locally, but no docs on how to get started with GitHub Codespaces. It'd be nice to:

Set up this repository for GitHub Codespaces
Document how to use the codespaces in .github/DEVELOPMENT.md

Additional Info
No response

Setting up pnpm in GitHub Codespaces is different than I'm used to, so I'm going to get advice from the Codespaces team. Need to do some research first.


Low token/sec results with IPU for Llama2 than expected

Hello,
While running Llam2 on AMD's IPU, I got the following results in CSV file
log_awq_7B_chat_profile.csv
. Here, in the file, tokens/sec are approximately 2.5 for all the inputs.
I want to understand that are such results optimal for IPU because I think they are quite less than expected. Can you help clarify this doubt?
Also does anyone has any benchmark results with them to compare my results with?
Thanks,
Ashima

The llama2 result in PHX is between 3 and 4 tokens per sec. However, the result can vary depending on factors like CPU, BIOS, etc. Next-generation architecture, such as Strix Point, coming soon, will offer more performance.


Migrate away from google.com gcp project k8s-testimages

What type of PR is this?
/kind cleanup
What this PR does / why we need it:

Migrate away from google.com gcp project k8s-testimages
format indentation

Related to https://github.com/kubernetes/k8s.io/issues/1523
/assign @ameukam @alculquicondor @ahg-g
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Does this PR introduce a user-facing change?:

NONE

/approve


Update using-outbound-proxy.rst

Updated Links

Summary

Ticket Link

Hello @Sayanta66,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Thank you so much for your PR. Unfortunately as the source repo has been deleted, we're not able to merge these changes. We really appreciate your contribution! :)


Keyboard-only support

I'm not sure if other minecraft clones do this, but it has always bugged me that you seemingly have to use a mouse. What do other people think of adding keyboard controls for changing the view axes (look/turn up, down, left, right) plus create and remove blocks (left/right mouse)?

Keyboard controls 100%! For reasons I don't (yet) understand, when I attempt to change perspective using the mouse, it goes ballistic and I'm almost nauseous. (Win7 virtual machine, Python 2.7, pyglet 1.2.4)
A 'step' value of 15 degrees seems to be an effective value when I added rotation via the keyboard. It's a little tricky to focus on the exact desired 'target' facet of a cube but is manageable. 'C' for create-block and 'R' for remove-block are reasonable mappings.
I'm pondering extending the label to show the 'current' block type and flight mode, as I can't seem to keep track of these mentally ...

Maybe reuse the current mouse control code and just implement arrow key control over its X and Y?


box offset of eraser in PCNet-M

Hi, I think the offset
here https://github.com/XiaohangZhan/deocclusion/blob/c8439ea5c119ec1d2cfab5f8ba4694de88e5b0b4/utils/data_utils.py#L90 should be bbox = (int(offx * w), int(offy * h), w, h).
Is it a bug?

Actually h always equals to w here, since the input inst is always square, see https://github.com/XiaohangZhan/deocclusion/blob/c8439ea5c119ec1d2cfab5f8ba4694de88e5b0b4/datasets/partial_comp_dataset.py#L86. However, it's better to fix it to avoid misleading. I will fix it soon, thank you!

Got it. Thank you!


Add pitzer elements to form.yml

toggle options in node_type based on cluster

I'm closing this because we're taking another approach.


[WFLY-18934] Upgrade WildFly Core to 23.0.0.Final

Jira issue: https://issues.redhat.com/browse/WFLY-18934

Tag: https://github.com/wildfly/wildfly-core/releases/tag/23.0.0.Final
Diff: https://github.com/wildfly/wildfly-core/compare/23.0.0.Beta5...23.0.0.Final

        Bug

[WFCORE-6531] -         standalone.sh and possibly other scripts usage of eval

[WFCORE-6538] -         KerberosNativeMgmtSaslTestCase.testGs2Krb5OverSsl intermittently fails

[WFCORE-6656] -         CLI, shaded jar can't start embedded when logging json formater configured

[WFCORE-6665] -         Missing http-upgrade-service when running Domain Mode test suite

[WFCORE-6669] -         Various tests fail when env specifies JDK_JAVA_OPTIONS or JAVA_TOOL_OPTIONS

        Task

[WFCORE-5775] -         Remove the org.wildfly.management.expression-resolver-extension-registry

[WFCORE-6627] -         Make use of the SetRequestInformationCallbackServerMechanismFactory to set the request information during HTTP authentication

[WFCORE-6658] -         Convert ControlledProcessStateService to the current MSC API

        Component Upgrade

[WFCORE-6664] -         Upgrade SLF4J from 2.0.9 to 2.0.11

[WFCORE-6667] -         Upgrade WildFly Elytron to 2.2.3.Final

        Enhancement

[WFCORE-6176] -         Replace AbstractAddStepHandler.Parameters.addRuntimeCapability with a fit to purpose API

[WFCORE-6347] -         Port subsystem development enhancements from wildfly-clustering-common to wildfly-core

Thanks @yersan


Required parameter is treated as optional by aaz-dev

Based on below API spec snippets, the title parameter should be required:
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json#L2109-L2118
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json#L3760-L3779
But aaz-dev treated this parameter (--title) as optional:

Hi @blackchoey, that's because the properties defined in this schema is not marked as required. And because the title and lifecycle stage are the sub prop of it, so the passing of requirement ends here.


Location of pancake directory doesnt work out of the box with CRA

Hey @elisechant
sorry for the late reply :)
Pancake won't be able to run with CRA out of the box without config as there are too many other use cases.
To get the UI-Kit to work all you need to do is to adjust the path for your pancake folder:
"pancake": {
	"react": {
		"location": "src/_uikit/"
	}
}


A broader explanation of Ticket #204 (A MUST READ)

This ticket is a well arranged of data in ticket #204 for clarification purpose.
BATCH A: 121 SAFE addresses
I have read several responses that one address creating many SAFEs doesn't necessarily amounts to airdrop farming.
However, I have currently identified 121 SAFEs created by 0x07F455F30e862E13E3E3D960762cB11c4F744d52 tagged on Etherscan as SAFE relay service- deployer and the following points worth giving attention to;

The [SAFE relay service- deployer](0x07F455F30e862E13E3E3D960762cB11c4F744d52 ) sometimes fund the EOA address that was used to create SAFE i.e Contract Creator for the sole purpose of creating the SAFE and after successful creation of the SAFE, the remaining token in the SAFE is returned to the SAFE relay service- deployer through a contract execution on a dApp or direct.
For Example;
0xfa30beaf5480e85a539e039a16cc1feee6f23c95 0x0effa3089e4073368e5ee588baa4dee38af82fdf which are both SAFEs address were created by different addresses Contract Creators but those Contract Creators were funded by 0x07F455F30e862E13E3E3D960762cB11c4F744d52 tagged as SAFE relay service- deployer and the remaining token in the SAFE were immediately returned to the SAFE relay service- deployer

The SAFE relay service- deployer sometimes create a SAFE and another EOA wallet address fund the SAFE but the token sent to the SAFE immediately gets sent out to the SAFE relay service- deployer.
For Example;
0x0F125b3BBFA7ab95A6cB04DCD636229bBB8Ee1E4 which is a SAFE address was created by [SAFE relay service- deployer](0x07F455F30e862E13E3E3D960762cB11c4F744d52 ) and funded by 0x1E97897708649B4b3B5239CC3C673f9F875cA991. 1.22561745 SAI out of 1.23 SAI sent into the SAFE was immediately sent out to the SAFE relay service- deployer

All the SAFEs created by this SAFE relay service- deployer and other related SAFEs received DAI, SAI or ETH worth between $0.9 to $10 at the time of the transaction and never been put to use since the day they were funded.

If you think this is truly Airdrop farmers way, kindly disqualified the 121 eligible SAFE addresses created by this SAFE relay service- deployer. Here below are the SAFE addresses in question;
0xc6c15968322418985380bef6f11fde85bf565cb9
0xdb08f138ac75db97636f5d1cf490dea98fc44f9a
0x313deda1640142c3db2af38eccd42af5796ed051
0x173e7598bd290dbb1346318081f9122c71815e33
0xbb63c2c8ddf964166f6c61104b6c5ff05148265e
0x1d5fceb726fcbaa3d7d9885b8666305ed44ad23e
0x6ff9a594d17310462ad6559a1f41cebf5b6fbc33
0x247443e4a373f0c70fd4ab6d03e16011d50295c7
0xebc223769aea7088451716572bdb7b1f4226fa57
0x902d3818fbea7fd76c5fab407b135011c6c715dc
0xe30d326fec0425c309baa33c7f479ddeb955e153
0x547b8b0c0a553874aa50a7d533971c8e1f10679a
0x03e4e842d35d359cd776fe527fe77fe5bbb0ecd0
0x84f17c80a5ba165d8d98d00170c60ca9ac719a35
0x7be98abc0a666265d323d1d901e31fd3e3aaf5f4
0xa2cf37d31f606f7280cd01c488e58cc7438d3cbf
0xf9be62ececda4d8d25d8d4fe345a2654262df240
0x6270301a6b6aee5a1cca7cafbb340e6373b42c84
0x65d1c65151e50b1e60854e1c11e0efc87d116457
0xcb66860bede476ab2a34640e70690f437634a287
0x16fb9d158f8fd058d2bf3fccdcfb8ecb70e42253
0xb6c4fc9e1aa445675cd1f428447a12224f6a6b8e
0x965056ac7542dc3477654c6998ef63335949b6c7
0xbcfc032eb694a36a8aaeba583fa3809d82094cfc
0xfb4f1e2dc0707945dda19035738f6f9e6e0d72b3
0x8c19dd7529403ef0ca3bb4b10f60af7b0919de1b
0xab3e0a99c61276a2b3471b6a0b59dce3c89f6d11
0xfe088064cf3bf02be53127c7d1831f64d8c79293
0x545ddee106841e82eb23d225d0f3ef073bd4248c
0x79de38fa14e88f723e085bf25a1ccc98d75ec8c0
0x3c1e2cc566bf1a745927d7e3c57cb080a449dc46
0x811d88dd0e75ae8b92ac50249690ffdbc0f47024
0xafbbf2b7d60fe4e6b4ff81edb8ad0cefbfcd3b6e
0x0d3c54a0e7f8e1f41f6214a3613510951869851f
0xe67c58a43356c2c76f17b5997a37488b138bd771
0x71ace54578d77f5cc505c2d1701daa00af695da6
0x3f8b6291a243f6ccd1adda8f7b676ae851cd2fed
0xd88cabc045a8bed0223c45e5a7af3a4ed4716b17
0x497bce08648eff58c2f353dc45ff46d1850edc29
0xb999009cf74be1a93c10896d2a7e7136b9ca4770
0x1df85ce4f62f024cf37e6790ffff53e179d7135e
0x92bb7e705e14b97d266f56f4d69ccda566e74e17
0xc416ccfccc399b58cb85ae649963e5e8d242374e
0xb1e8b3d5e748a5c8b8800942348897c23aadf319
0xa6763707d63c37679c171a1745d9cbad7986fc1e
0x304ae9fbd30e42db348ff0265864c7db255e34c8
0xfcc9928935f265e8a739f5f83b4b52b4af2608be
0xca3de2788326a96a226b6e38956c8a5234ece2ea
0x154f467ca52a7cd6e8fc6a4a6f1f165cbf338bf8
0x86f0ed47030c6e7e7b1bf912dbbd55ad937170b0
0x518cac68328406e743f10746c5325e91a4e8bf97
0x2bc54ce6972902d43c221e9600c8fdea6e13ced5
0xa62773a4dd6ee30107ea8865b124c8fed091398b
0x5a4c976c16f37ae03b855edd62942d982159eae2
0xb8d34ba8e54b72d94a9631203a203eba7e51cb35
0xfd9ada0495f935236e5a10580972291293a3f7c0
0x83fdfd060e21913a1625c8dcaae36cc84197cf37
0x37cbd65148a0b4341a1e1b5618dae1653aae5c1a
0x1296f1463b548c84025d1783e6601d37dfeb2884
0xfe3767fd33ddee1f128d6e65268b9b9a71dbab86
0xa68c0551bde8b20b8368ddc6b21421ec7a4151ee
0x72e49065c9dde4cdb946a134ae7dd286cb27a26d
0xb70968ad7e0ea11920c38699e035a061ab35b94a
0x872d06c2ce9d22eec5ea3b86fe3e1051746a5201
0x8c85712a0b7fdd30aa4183a8b0e5e419176b84aa
0xeccbcda958d2ad7dc8c859db53d2d01c9908dbf1
0x3bcac3eee26cb4ea45ce1ffb3352097f3d36ebde
0x87bdaa78903f6336c8aeb8c6f14c13b375896fdc
0x2661d7c7b5f380e3dd7d3b42938605ed5cbe33db
0xc012510476e2e0f69744e644dfca4dc6fdaf0762
0xdafa7e4c660a88683b644ed6a2f9d45fea8f9018
0x39c758cb58f73475fad324bfc1995e4b459191b5
0x7ec229380f7b66e51ca26360c29ff1d59a3fdaf7
0x972736bd9026646be25bdcb18216153495703387
0x8f8abc534ab8d9a7647a272b2e27ae03f4382309
0xdc12e5cc245564122eea978f290b81dbfb972c75
0x1844540b937e7fca0f7b8bd4b251f02ca2976b97
0x7498131d15fb2b8377d948410dfa3250b01f9d1b
0x8a7a352802d091613777e73a793887b077e0f6e1
0x172fa6f5ef97d2eee3ae3cb0d0904df47cf1d192
0x0f125b3bbfa7ab95a6cb04dcd636229bbb8ee1e4
0x8d1eaaab70da888f4f25b360cac1061bfd560d4e
0xd181b1abc3d6513cff9112b7d5d34d8e4019af73
0x57e9c153a0a81b61690ba1fb3fa6f544a0a94573
0x5a42e1c66833df0572699da5bb149740d5e09483
0xf8335e5b37f93edada4c67e28f38cfcdbd016493
0xcf64c015b157b36f5df4135f1ca0f45728b88a8a
0x91536946d85da0b135ceb4c436337c0ad0b7a757
0xc3a97666de65681be819934cf4c4320540b0c7e2
0x7343e833423d152d901008576a6869870be4df0e
0x788cf9998b4d9438f83cbd111a33bbe02065d918
0xfb373cf80d09898dfff255e89b8c7062d7277022
0x6ce6abc68224810f4e68fd3461123057167a826f
0xa5a448ff6c94510f4f421c349eef85aae225ced7
0xc09b2344b053b3e7c3ba01f67a5ec9652888fcc5
0xec58c4d646efea1cb52c40d056a751518246a9be
0xffc0ab0af95e2ad19ff3f53b1807477891a0b6eb
0xa9166b9208142ce1c59572086265b4bee16df638
0x2161f722d473144ee759842b6293206ff072b18b
0xbc8ab342ac968618017827f4d06914dfb2d5c394
0xed0b5619e7104fb03efa143f08cde2e360efa80f
0xf28b168f5ad0f06a6e0afad6f12bb1865e2b3c3d
0xc94db4abbfcbbf5775a5adae5205dbc033dba86e
0x4fcc30ec98e302364b52ae1867dde5b979718955
0x950a5fd51af22f220a3330f1bea561a0d07a1b74
0x7a00719b9b38fda711757cb0cea7995d7c56f76a
0x3ec0f5be34490fe592fd4cea835ec8bcc0bee1b3
0x60e0976a7ad5d9eb50d46f44c376826ee9fab089
0x271fc4559f5650ca41b17283e3932e3ac03ceb7d
0x6a3563ab46385816fe607c3cea67aef09986499a
0x921e3eab09f024f26fe6419fc2a184bc29ad92c8
0x7a99d882f1f035604c87852f1b45979f77ec5f74
0x6cf45c47bc1fe215226ac573b03c2daaa3bffa03
0xb02cffcd5431e19aaa1e842d1f6a414d1927b6c5
0xc592b3d8fc0ee736553133fcc8fe914f4b760f4f
0xc1044285871363b8db1b1de203a9af5760ad14a5
0x88022119456deb8efb337fa0461a15cf5e308ba7
0xc5796ca9060a0d5e620d2a153d1532c288378337
0xbb232f34c431b7b1f16da8610bd539aa9aac2e34
0xfa30beaf5480e85a539e039a16cc1feee6f23c95
0x0effa3089e4073368e5ee588baa4dee38af82fdf
BATCH B: 5 SAFEs are identified
The SAFE addresses that made up my Batch B has the following characteristics that worth taking into consideration.

All the SAFEs were created by same [Contract Creator](https://etherscan.io/address/0xf7D44D5a28d5AF27a7F9c8fc6eFe0129e554d7c4) on the same day and at the same time
All the SAFEs were funded with 0.000001 ETH worth $0.00 each at the same time.
All the SAFEs were never put to use since creation day

If you agree that this is airdrop farming strategy, kindly disqualify the 5 SAFE addresses listed below
0x16e016e5d801388a2682cc8369ffce0ad89f81d6
0x6159275fea1f9a6e197bd35cd317152fe6f08423
0x3b6befb464d620e956439fff48ab149e2e37048f
0x72d6c0c43067ac24a802508bebd803c9dc67d290
0x822fdbd45b2bbdce402103d63a885c1253c6190e
BATCH C: 4 SAFEs are identified
The SAFE addresses that made up my Batch C has the following characteristics that worth taking into consideration.

The SAFEs were created by same Contract Creator
The SAFEs were funded by different EOA addresses but the remaining ETH after 1 time execution in one SAFE is sometimes sent to another SAFE for the other SAFE to has its own 1 time execution.

The below are the addresses in question:
0x3155468409f81451134c6ee644a3e9f57d612193
0x9e76cbea77c0a581d45c8d6cbe7ec3a264c73639
0x7524f87f8c27e69c9e60a08a0346c55119c9358e
0xe3f083558a6631d475eb98ed3e5ece7b62cbe2e8
BATCH D: 3 SAFEs are identified
The SAFE addresses that made up my Batch D has the following characteristics that worth taking into consideration.

The SAFEs were created by different Contract Creator but at the same time of same day
The SAFEs were funded by same EOA wallet
The SAFEs were funded with very negligible amounts 0.00015 ETH, 0.0002 ETH and 0.00012 ETH respectively

The SAFE addresses in question are:
0x23c9d5741fe7077954f218ea9daf101b81735324 0x54C0421a4E30552182B76AfCc79B1edc52DF9D2c
0x072cfbcb95c255046ac2f81abe969e42af8ad3d6 0xB3C17E200E872119379C52995399E1cA9f1a56ac
0x5499a79083316047edfa096801b6f5e012644690 0xfa99537541451BE9B4Cf86611361597e6F1C19B2
BATCH E: 2 SAFEs are identified
Safe Address
0xebd217f5b00ee777dfafcf8d5663c824949c677e
0xbbe24603813d7acf87a080633741880e5758347a
The above listed SAFEs were created/deployed by same Contract creator with only negligible 1 transaction each
BATCH F: 2 SAFEs are identified
Safe Address
0x06db4a5a8d100f7be80a4682b9b8dd1b9396f98d
0xf68ade90d0f96f1a7d8ecc5fa79bb3eaa808e4e3
The above listed SAFEs were created/deployed by same Contract creator with only negligible 1 transaction each
BATCH G: 2 SAFEs are identified
Safe Address
0xc411e2b26b8276a7ae5871818d2e25bb51395f39
0x005b55988ee303a06eadde47b7b2f3e05a1801ae
The above listed SAFEs were created/deployed by same Contract creator with source of the only transaction (incoming)
Method of Finding used:
The Google sheet that show the 55,719 qualifying address was exported to Excle and sorted according to number of $SAFE eligible receive starting from Low to Highest i.e 100 and above.
I started by scanning the eligible SAFE address to know the Contract Creator and The Funding wallet to the SAFE to point out any correlation among the SAFEs.
Scans made on first 100 to 200 eligible SAFE addresses show that identified and above reported findings.
DeBank platform was used in digging on wallets where Etherscan doesn't show all transactions
More address will be identified and posted as checking continue
Attached document is the workbook used in finding the correlation among the identified SAFEs
BATCH A - SAFE SYBIL.xlsx
My SAFE address:
Kindly reward my hardwork with the 25% of the recovered token to my below SAFE address
0xcee6063D59e3fF951677AD1E1B2b58C686efFA50
Well done, Team!!!

Cc: @tschubotz
Please check the above and feedback

I checked a handful of Batch A addresses. They were all created by Safe Relayer Service in 2019 and 2020. I found some common patterns

(Majority) Only 1 direct tx in "Transaction" section where it received tiny amounts of ETH: https://etherscan.io/address/0x37cbd65148a0b4341a1e1b5618dae1653aae5c1a
No direct tx but it used Safe Relayer Service to trade some ERC20 tokens: https://etherscan.io/address/0xbb63c2c8ddf964166f6c61104b6c5ff05148265e
More than 1 direct tx history: https://etherscan.io/address/0x0effa3089e4073368e5ee588baa4dee38af82fdf

2 and 3 do not look like sybils or unused smart contract wallets to me. As for 1, we don't have a clear idea why it always received a small amount of ETH. Was it for gas fee refund from relayer / 3rd party dapp? This is only my guess. You can try tracing the source of these small incoming ETH transfers to figure out.

Thank you @PulsarNetwork for digging into this as I requested.
I will leave this to the team to dig more on. $SAFE should go to real users and not sybillers
Cc: @tschubotz

@tschubotz. could you have a check about my issue? issue124

Most of them are created as far back as 2019. These might be mostly un-used Safes, but they were at least not systematic airdrop hunters as in 2019 "airdrop hunting" was not even a thing yet. In order to not exclude any legitimate early adopters (even though they might be inactive since) I will mark this as invalid. Even if early adopters have become inactive since, they have helped us with early product feedback and should be rewarded.

Good judgement, sir😉
Well done 👍
I have more good and informative report in
#504 that awaits your review


Video links are broken

Video links are broken

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

ID: 9e640245-6d25-2165-3792-9bb386a73184
Version Independent ID: 28951938-7e00-16fd-c216-a569ba94b041
Content: Videos - Audio Conferencing in Microsoft Teams - Microsoft Teams
Content Source: Teams/audio-conferencing-videos.md
Service: msteams
GitHub Login: @LolaJacobsen
Microsoft Alias: lolaj

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

@LolaJacobsen Hi Lola, could you please make the video links public as I see they are all marked 'private'. Thank you.

Thank you for reporting this issue.
It looks like these videos were out of date and retired, but were not removed properly from YouTube. We will redirect this page to the main audio conferencing page (https://docs.microsoft.com/en-us/microsoftteams/audio-conferencing-in-office-365) for now. If/when we create new videos, we will augment that page instead of maintaining a separate page like this one.


New Course - FMR Pro Tips

Contact Details
<EMAIL_ADDRESS>Course title
Fusion Metadata Registry (FMR) Pro Tips
Topic

[X] SDMX data modelling
[ ] Labour statistics
[ ] European National Accounts
[ ] SDGs
[ ] SDMX tools
[ ] .Stat Suite
[X] Fusion Metadata Registry
[ ] SDMX Matrix Generator
[ ] SDMX Converter
[ ] Euro SDMX Registry
[ ] Other - suggest a new topic

Suggest a new topic if needed
No response
Course type
elearning, self-paced
Course price
Free
Summary
The Fusion Metadata Registry (FMR) is a SDMX v2.0, v2.1, and v3.0 compliant structural metadata registry with an extensive set of features. This module is a collection of tips to highlight some of these capabilities and practical ideas on how to use the tool to accomplish your structural metadata maintenance tasks in an efficient manner.
Sponsor
BIS
Suggest a new sponsor if needed
No response
The URL of your course
https://www.sdmx.io/resources/elearning/fusion-metadata-registry-fmr-pro-tips/
The URL of an image for your course
https://sdmx.io/images/elearning/card-fmr-pro-tips.png

@glenntav @ChallenerSJ  I have created this pull request https://github.com/SDMX-Outreach/sdmx-learning-catalogue/pull/15 yesterday, could you please review it

Please do it from down and up so 14, 15, 16, 17

Request merged


Switch high level "Client" api to low level "conn" api

This is fine but i would quite like the re-connection handled before merging this.

This is fine but i would quite like the re-connection handled before merging this.

Okay. I thought I should do that with another pull request since re-connection is not handled currently. Program exits if any connection gets closed by server. It might be a good idea to add this into issues.


Cleanup unused css imported in html.js

Thanks for this simple template, I learned a lot from it. I now try to set-up a new website from scratch to learn more and trying to replicate pieces from here.
I was puzzled why importing CSS and SCSS from the html.js wouldn't work. It turns out there is no need to import them here, the important imports are in the layout.js. Am I right with this assumption?

Thank you 👍


consider creating docker-compose.yml as alternative to installing on Docker with pip3

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/913
Originally created by @dmor on 2019-08-22 21:14:00

Feedback from Pablo Corral on the Dogfooding v0.37.2 video for consideration

View 3 previous comments from the original issue on GitLab


Maalesef açıklaması İngilizce olmayan issue'larda çalışmakta zorlanıyoruz. Mümkünse issue'yu İngilizce'ye çevirin.
Deneyimlerimize göre otomatik çeviri servisleri bu gibi teknik metinleri çevirmede pek başarılı değil, bu sebeple çeviri için bir çevirmen bulmanızı öneriyoruz.
Eğer bulamazsanız, bu issue'yu çeviri gerekli olarak işaretleyeceğiz ve bir topluluk üyesinin yardımcı olmasını bekleyeceğiz.

Thanks for creating this issue!
Unfortunately, as the description is not in English, it's hard for us to work on. If possible, please edit the original issue to be in English.
In our experience, automatic translation services are not able to handle the technical language needed to effectively communicate about software issues, so we recommend finding a human translator who is familiar with our technology to help.
Otherwise, we have marked this as needing translation and a community member may be able to help out.

/gifPlease

Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, .gif files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.
If the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (Developer: Toggle Screencast Mode in the command palette). Lastly, please attach this file via the GitHub web interface as emailed responses will strip files out from the issue.
Happy coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Fix breaking changes from recent Pymatgen v2022.0. release

Pymatgen root imports have been removed from v2022.0.0.
All root imports from core package have been changed to their canonical import pymatgen.core

I have already fixed, but thanks.


Watch mode

What does this PR do?
It introduces the new "watch mode"... and fixes the implementation of includeTargets for the Node runner.

This PR is super breaking for some of the CLI commands, so I'll try to describe each change as much as I can.

Watch mode
It all started with a new flag on the build command, --watch/-w; I updated the command service but I noticed that adding new flags was kind of a pain:

All the methods on cliSHBuildCommand received an args dictionary to send directly to the other commands, and then the same arguments as parameters... not my best idea.
All the methods were public, when there was no need for it.

So the first thing was to define a new params object to send to all the methods, similar to the args they were using, but with all the information, and if the method uses a generate from another command, the method itself should define the args.
And then I made all the methods protected.
Moving along... I added a new setting for both kind of targets, Node and browser:
...
watch: {
  development: false,
  production: false,
}
...

This is like the runOnDevelopment, it triggers the watch mode when the user builds and if the target won't run.
I added a new watch command to work like run, which internally calls build with the flag.
Finally (or so I thought), I added a new parameter to the build engine getCommand method: forceWatch=false. So the webpack and Rollup plugins can take care of watching a target.
I tested it with an alpha version of the plugins and everything worked as expected... and then it happened.
includeTargets for the Node runnner... and watcher
After I got it working with the bundling plugins, I realized that if the target wasn't being bundled, I needed a watcher with transpilation.
I took the Node runner as example and implemented watchpack directly, but then I noticed that if the target had includeTargets, I needed to copy and/or transpile their files too... something the Node runner should've been doing al along, but it wasn't.
That's when the refactoring started... I changed everything on the Node runner that wasn't related to nodemon:
First, I created a new abstract class called NodeWatcher. A helper that services that the runner or the watcher (which I was also working on) can extend and it would take care of watching files, deciding whether they needed to be transpiled or copied and call the necessary methods so the services themselves will handle the messages and the copying and transpiling functionality.
The runner now validates a few extra things before executing a target (remember that the runner is only for development):

No matter if the target requires trasnspilation or not, it can't include a target that requires bundling.
If the target doesn't require transpilation, it can only include targets that don't require transpilation. This is because in this case, the target is executed from its source directory, but if it includes a target that requires transpilation, that target would be on the distribution directory, and the relative paths would break.

The commands that copy and transpile files were also updated to implement includeTargets

The signature and options of the runner (buildNodeRunnerProcess) changed completely: It now only requires the directories nodemon will watch and the path to the executable.
You can also send "transpilation paths" and "copy paths", in order to enable the watching of source files. Both kind of paths are lists of dictionaries with the following format:
{
  from: '/source/path',
  to: '/distribution/path',
},

In the case of the runner, the "copy paths" are only used if "transpilation paths" have at least one item, because that means that the target being executed requires tanspilation, and the code will be on the distribution directory, where other targets can be copied into. If the target doesn't require transpilation, because the runner only works for development, the target will be executed from the source directory, and there won't be any need to copy/transpile other targets.

The runner will make a list of all the from properties from both list and enable the watching of the parent class (NodeWatcher). When the parent class detects a change on a file, it will try to match the file path to the from of one of those list, and depending the one that matched, call _transpileFile or _copyFile on the service.

The abstract class doesn't do the transpilation and the copying automatically in order to avoid specific ifs (since the runner and the watcher show different messages) and injecting building services when the idea is for it to be kind of generic.

Ok, last thing to do: I created buildNodeWatcher (for the validations) and buildNodeWatcherProcess (to actually watch the files and extend NodeWatcher) with just the methods to transpile, copy and show information messages.
Similar to the runner, the watcher also has a validation: No matter if the target requires trasnspilation or not, it can't include a target that requires bundling.
How should it be tested manually?
With a lot of patience...
Now, this can only be tested with Node targets that don't require bundling, as that functionality is going to be added on the plugins.
Also, you can't use the projext-plugin-runner yet, it also needs to be updated.

Try projext watch [target]
Try projext build [target] --watch
Try the runner validations.
Try the watcher validations.

And of course...
npm test
# or
yarn test

Pull Request Test Coverage Report for Build 189

297 of 297 (100.0%)  changed or added relevant lines in 18 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 186:
0.0%

Covered Lines:
1831

Relevant Lines:
1831

💛  - Coveralls