Fix Dry-Run errors

Following up on #466, we're required to start tackling the errors spotted via the CI Dry-Run.
Check out, for example, https://github.com/robotology/robots-configuration/actions/runs/4713974901.
cc @Nicogene

75% tests passed, 38 tests failed out of 150

Total Test time (real) = 311.01 sec

The following tests FAILED:
	  3 - dry-run_R1SN002_xml (Failed)
	 13 - dry-run_iCubAberystwyth01_xml (Failed)
	 15 - dry-run_iCubAbuDhabi01_xml (Failed)
	 17 - dry-run_iCubAnkara01_xml (Failed)
	 21 - dry-run_iCubBielefeld01_xml (Failed)
	 23 - dry-run_iCubBielefeld02_xml (Failed)
	 25 - dry-run_iCubBielefeld03_xml (Failed)
	 41 - dry-run_iCubFrankfurt01_xml (Failed)
	 49 - dry-run_iCubGenova04_xml (Failed)
	 50 - dry-run_iCubGenova04_dev (Failed)
	 58 - dry-run_iCubGenova09_dev (Failed)
	 63 - dry-run_iCubGrenoble01_xml (Failed)
	 67 - dry-run_iCubHeidelberg01_xml (Failed)
	 68 - dry-run_iCubHeidelberg01_dev (Failed)
	 69 - dry-run_iCubHertfordshire01_xml (Failed)
	 71 - dry-run_iCubHertfordshire02_xml (Failed)
	 75 - dry-run_iCubKarlsruhe01_xml (Failed)
	 77 - dry-run_iCubLausanne01_xml (Failed)
	 81 - dry-run_iCubLethbridge01_xml (Failed)
	 83 - dry-run_iCubLisboa01_xml (Failed)
	 84 - dry-run_iCubLisboa01_dev (Failed)
	 85 - dry-run_iCubLisboa02_xml (Failed)
	 94 - dry-run_iCubMoscow01_dev (Failed)
	 95 - dry-run_iCubMunich01_xml (Failed)
	101 - dry-run_iCubOffenbach01_xml (Failed)
	103 - dry-run_iCubOffenbach02_xml (Failed)
	105 - dry-run_iCubParis01_xml (Failed)
	107 - dry-run_iCubParis02_xml (Failed)
	109 - dry-run_iCubPisa01_xml (Failed)
	111 - dry-run_iCubPlymouth01_xml (Failed)
	113 - dry-run_iCubPlymouth02_xml (Failed)
	117 - dry-run_iCubPrototype01_xml (Failed)
Errors while running CTest
	119 - dry-run_iCubRome02_xml (Failed)
	124 - dry-run_iCubShanghai01_dev (Failed)
	131 - dry-run_iCubTokyo01_xml (Failed)
	135 - dry-run_iCubUrbana01_xml (Failed)
	143 - dry-run_iCubZurich01_xml (Failed)
	149 - dry-run_vizzy_xml (Failed)

Solving #477 allowed us to sort out iCubGenova09 but not yet iCubGenova04.
See https://github.com/robotology/robots-configuration/actions/runs/4720445946.

Today I started investigating the log files relative to the test that failed (@pattacini I'm not able to move the issue in progress). I observed that some robots gave this error:
[DEBUG] Reading file /dependencies/install/share/ICUBcontrib/robots/iCubAberystwyth01/./icub_all.xml
[WARNING] Invalid syntax while loading /dependencies/install/share/ICUBcontrib/robots/iCubAberystwyth01/./icub_all.xml at line 1 . No DTD found. Assuming version yarprobotinterfaceV3.0
[ERROR] DTD V1.x has been deprecated. Please update your configuration files to DTD v3.x
[ERROR] Invalid DTD version, execution stopped.

Opening the one of the files that caused the error, I saw that icub_all.xml hasn't the code line:
<!DOCTYPE robot PUBLIC "-//YARP//DTD robotInterface 3.0//EN" "http://www.yarp.it/DTD/robotInterfaceV3.0.dtd">

By adding this line, is possible to fix the error? @pattacini

I'm not able to move the issue in progress

This is ok because you don't have write access to this repo (as required by ZenHub to operate). I'll move it myself.

By adding this line, is possible to fix the error?

Yep, it should suffice.

Yep, it should suffice.

After adding that line, some errors were solved:

I will investigate the others.

After chatting with @Nicogene, we found out that the target was right except for a typo. I fixed it and now the test for those robots passes successfully.

Moreover, there are 10 robots that return this failure:
[ERROR] |yarp.os.Property| cannot read from yarprobotinterface.ini
[FATAL] Missing "config" argument

Analyzing them, I saw that they don't have the yarprobotinterface.ini file and they miss also the .xml file to pass as config argument. Is it possible to skip the dry-run for them?
cc @Nicogene @pattacini

Is it possible to skip the dry-run for them?

Nope 😉
We need to make up the easiest yarprobointerface.ini possible.

iCubGenova04 gives out this error:
[ERROR] Target device left_hand_mc (network = left_hand_joints ) does not exist.
[ERROR] Cannot run attach action on device alljoints-mc_remapper

In fact, the alljoints-mc_remapper.xml is:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">

<device xmlns:xi="http://www.w3.org/2001/XInclude" name="alljoints-mc_remapper" type="controlboardremapper">
    <paramlist name="networks">
        <elem name="head_joints">       (  0   5   0  5 )</elem>
        <elem name="face_joints">       (  0   1   0  1 )</elem>
        <elem name="left_arm_joints">   (  6  12   0  6 )</elem>
        <elem name="left_hand_joints">  ( 13  21   0  8 )</elem>
        <elem name="right_arm_joints">  ( 22  28   0  6 )</elem>
        <elem name="right_hand_joints"> ( 29  37   0  8 )</elem>
        <elem name="torso_joints">      ( 38  40   0  2 )</elem>
        <elem name="left_leg_joints">   ( 41  46   0  5 )</elem>
        <elem name="right_leg_joints">  ( 47  52   0  5 )</elem>
    </paramlist>
    <param name="joints"> 53 </param>
    <action phase="startup" level="5" type="attach">
        <paramlist name="networks">
            <elem name="head_joints">       head-mc_remapper </elem>
            <elem name="face_joints">       face_mc </elem>
            <elem name="left_arm_joints">   left_arm-mc_remapper </elem>
            <elem name="left_hand_joints">  left_hand_mc </elem>
            <elem name="right_arm_joints">  right_arm-mc_remapper </elem>
            <elem name="right_hand_joints"> right_hand_mc </elem>
            <elem name="torso_joints">      torso-mc_remapper </elem>
            <elem name="left_leg_joints">   left_leg-mc_remapper </elem>
            <elem name="right_leg_joints">  right_leg-mc_remapper </elem>
        </paramlist>
    </action>
    <action phase="shutdown" level="20" type="detach" />
</device>

There are no file relative to the elem name face_joints, left_hand_joints and right_hand_joints in iCubGenova04/wrappers/motorControl. How can I proceed?
cc @pattacini @Nicogene

About R1SN002, instead, the error regards the rpLidar wrappers which are of type Rangefinder2DWrapper. I found here that it is deprecated in favor of rangefinder2D_nws_yarp and rangefinder2D_nws_ros. Can I remove the deprecated device and substitute it with the supported one?

About R1SN002, instead, the error regards the rpLidar wrappers which are of type Rangefinder2DWrapper. I found https://github.com/robotology/yarp/pull/2827 that it is deprecated in favor of rangefinder2D_nws_yarp and rangefinder2D_nws_ros. Can I remove the deprecated device and substitute it with the supported one?

Yep, get inspired by what's done for R1SN003.

Today, @Nicogene helps me in fixing some of the dry-run errors and now the ctest gives this result:

I will investigate the last ones.

Fixed test 94: dry-run_iCubMoscow01_dev on robotology@master via 134864b20f7f1d0f86ed01d57c8cfd485e0d17ef.
@martinaxgloria, you may consider rebasing your fork@master on top of it.

I would check if #482 generated new errors 😬

I would check if #482 generated new errors 😬

Dry-Run in https://github.com/robotology/robots-configuration/actions/runs/4753025058.

I would check if #482 generated new errors 😬

Dry-Run in https://github.com/robotology/robots-configuration/actions/runs/4753025058.

77% tests passed, 35 tests failed out of 150

Total Test time (real) = 301.69 sec

The following tests FAILED:
	  3 - dry-run_R1SN002_xml (Failed)
	 13 - dry-run_iCubAberystwyth01_xml (Failed)
	 15 - dry-run_iCubAbuDhabi01_xml (Failed)
	 17 - dry-run_iCubAnkara01_xml (Failed)
	 21 - dry-run_iCubBielefeld01_xml (Failed)
	 23 - dry-run_iCubBielefeld02_xml (Failed)
	 25 - dry-run_iCubBielefeld03_xml (Failed)
	 41 - dry-run_iCubFrankfurt01_xml (Failed)
	 49 - dry-run_iCubGenova04_xml (Failed)
	 50 - dry-run_iCubGenova04_dev (Failed)
	 63 - dry-run_iCubGrenoble01_xml (Failed)
	 67 - dry-run_iCubHeidelberg01_xml (Failed)
	 68 - dry-run_iCubHeidelberg01_dev (Failed)
	 69 - dry-run_iCubHertfordshire01_xml (Failed)
	 71 - dry-run_iCubHertfordshire02_xml (Failed)
	 75 - dry-run_iCubKarlsruhe01_xml (Failed)
	 77 - dry-run_iCubLausanne01_xml (Failed)
	 81 - dry-run_iCubLethbridge01_xml (Failed)
	 83 - dry-run_iCubLisboa01_xml (Failed)
	 84 - dry-run_iCubLisboa01_dev (Failed)
	 85 - dry-run_iCubLisboa02_xml (Failed)
	 95 - dry-run_iCubMunich01_xml (Failed)
	101 - dry-run_iCubOffenbach01_xml (Failed)
	103 - dry-run_iCubOffenbach02_xml (Failed)
	105 - dry-run_iCubParis01_xml (Failed)
	107 - dry-run_iCubParis02_xml (Failed)
	109 - dry-run_iCubPisa01_xml (Failed)
	111 - dry-run_iCubPlymouth01_xml (Failed)
	113 - dry-run_iCubPlymouth02_xml (Failed)
	117 - dry-run_iCubPrototype01_xml (Failed)
	119 - dry-run_iCubRome02_xml (Failed)
	131 - dry-run_iCubTokyo01_xml (Failed)
	135 - dry-run_iCubUrbana01_xml (Failed)
	143 - dry-run_iCubZurich01_xml (Failed)
	149 - dry-run_vizzy_xml (Failed)

I'm afraid that #482 will cause lots of conflicts while merging @martinaxgloria's work...

@martinaxgloria can you open up a PR against robotology@master for what you've done so far?
Too big PR's are difficult to handle.
Then, we will proceed incrementally.

PR:

https://github.com/robotology/robots-configuration/pull/486

Merged, thanks!

I managed to merge msster into devel with no conflicts at all 🎉
@martinaxgloria, you can start over with forking from robotology@master.

Robots still failing in robotology@master:
 21 - dry-run_iCubBielefeld01_xml (Failed)
 23 - dry-run_iCubBielefeld02_xml (Failed)
 25 - dry-run_iCubBielefeld03_xml (Failed)
 41 - dry-run_iCubFrankfurt01_xml (Failed)
 75 - dry-run_iCubKarlsruhe01_xml (Failed)
 85 - dry-run_iCubLisboa02_xml (Failed)
101 - dry-run_iCubOffenbach01_xml (Failed)
103 - dry-run_iCubOffenbach02_xml (Failed)
109 - dry-run_iCubPisa01_xml (Failed)
117 - dry-run_iCubPrototype01_xml (Failed)
135 - dry-run_iCubUrbana01_xml (Failed)
143 - dry-run_iCubZurich01_xml (Failed)

Robots still failing in robotology@devel:
 12 - dry-run_ergoCubSN000_dev (Failed)
 17 - dry-run_iCubAnkara01_xml (Failed)
 19 - dry-run_iCubBarcelona01_xml (Failed)
 21 - dry-run_iCubBielefeld01_xml (Failed)
 23 - dry-run_iCubBielefeld02_xml (Failed)
 25 - dry-run_iCubBielefeld03_xml (Failed)
 41 - dry-run_iCubFrankfurt01_xml (Failed)
 75 - dry-run_iCubKarlsruhe01_xml (Failed)
 85 - dry-run_iCubLisboa02_xml (Failed)
101 - dry-run_iCubOffenbach01_xml (Failed)
103 - dry-run_iCubOffenbach02_xml (Failed)
109 - dry-run_iCubPisa01_xml (Failed)
117 - dry-run_iCubPrototype01_xml (Failed)
135 - dry-run_iCubUrbana01_xml (Failed)
143 - dry-run_iCubZurich01_xml (Failed)

meaning that #482 did introduce regressions on the following robots:

ergoCubSN000
iCubAnkara01
iCubBarcelona01

@Nicogene can you have a look at those with the help of @martinaxgloria?

Decided in https://github.com/robotology/robots-configuration/commit/af8bc53a4045040cbce18077731e80eb1bde775b to be milder for those robots w/o yri.ini.
Here's the test outcome for robotology@master:
109 - dry-run_iCubPisa01_xml (Failed)

Just one robot left, @martinaxgloria! 🎉

...plus the 3 robots in devel.

ergoCubSN000
iCubAnkara01
iCubBarcelona01

@Nicogene and I tried to run the dry-run for those robots from devel but the test passed successfully. This is the output:
which are the robots that fail in robotology@master as well.

Let me try again then.

So, after a clean restart, robots failing in robotology@devel are:
 49 - dry-run_iCubGenova04_xml (Failed)
 50 - dry-run_iCubGenova04_dev (Failed)
109 - dry-run_iCubPisa01_xml (Failed)

Here's below the problem w/ iCubGenov04:
[ERROR] Failed to open file  file /dependencies/install/share/ICUBcontrib/robots/iCubGenova04/./wrappers/FT/right_foot-FT_wrapper_multipleSens.xml included by  icub_wbd.xml at line 96

cc @martinaxgloria @Nicogene

So, after a clean restart, robots failing in robotology@devel are:
 49 - dry-run_iCubGenova04_xml (Failed)
 50 - dry-run_iCubGenova04_dev (Failed)
109 - dry-run_iCubPisa01_xml (Failed)

Here's below the problem w/ iCubGenov04:
[ERROR] Failed to open file  file /dependencies/install/share/ICUBcontrib/robots/iCubGenova04/./wrappers/FT/right_foot-FT_wrapper_multipleSens.xml included by  icub_wbd.xml at line 96

cc @martinaxgloria @Nicogene

I forgot to save and then commit some files of iCubGenova04, now should be fixed: https://github.com/robotology/robots-configuration/commit/bfbbe7d13a8a8dbaaf5f47586d1ae5fd4522ecf8
cc @pattacini

Fantastic! I confirm that now devel is fine.
Here's below the log of the very last robot failing in master (dry-run_iCubPisa01_xml):
[ERROR] Target device torso-mc_remapper (network = torso ) does not exist.
[ERROR] Cannot run attach action on device left_arm_cartesian
[ERROR] Target device torso-mc_remapper (network = torso ) does not exist.
[ERROR] Cannot run attach action on device right_arm_cartesian

cc @martinaxgloria


Add images: Android Basics with Compose

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-compose-add-images?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-1-pathway-3%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-add-images#2
In which task and step of the codelab can this issue be found?
the second "third" step of accessing resources.
Describe the problem
Numbering is just a little bit confusing.

Hi @Yoshikidyoshiki
Thank you for writing in about this isue.
It has been corrected and the updated lesson will be republished again in the near future.
Hope you are enjoying the course!
Regrds.


Update active-directory-b2c-tutorials-spa-webapi.md

Removed erroneous reference to a desktop application

@TPullen21 : Thanks for your contribution! The author, @davidmu1, has been notified to review your proposed change.

Thank you for your feedback.
#sign-off


Adding DR Token

Please note: This repository is being rebuilt to accept the new volume of token additions and modifications. PR merges will be delayed.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Auto merge requirements
Your pull request will be automatically merged if the following conditions are met:

Your pull request only adds new tokens to the list. Any modification to existing
tokens will require manual review to prevent unwanted modifications.

Your pull request does not touch unrelated code. In particular, reformatting changes to unrelated
code will cause the auto merge to reject your PR.

Any asset files added correspond to the token address you are adding. Asset files
must be PNG, JPG or SVG files.

Your change is valid JSON and conforms to the schema. If your change failed validation,
read the error message carefully and update your PR accordingly.

No other tokens shares the same name, symbol or address.

For example, this change would be rejected due to unrelated changes:

The bot runs every 60 minutes and bulk-merges all open pull requests to prevent conflicts.
This means that you need to wait up to 60 minutes for your pull request to be merged or reprocessed.

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!

Please help me
On Thu, 27 Jan 2565 BE at 20:10 Mohd Zakiuddin Faiz <
@.***> wrote:

I can help refer this zakimzf/profile#1
https://github.com/zakimzf/profile/pull/1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/15887#issuecomment-1023189073,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXJQ7HNEZMD45JXVIJM5YYLUYE75JANCNFSM5M4XBRZA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Contact me on telegram @zakimzf
On Thu, 27 Jan 2022, 6:44 pm KSuphawit, @.***> wrote:

Please help me
On Thu, 27 Jan 2565 BE at 20:10 Mohd Zakiuddin Faiz <
@.***> wrote:

I can help refer this zakimzf/profile#1
https://github.com/zakimzf/profile/pull/1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/15887#issuecomment-1023189073
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AXJQ7HNEZMD45JXVIJM5YYLUYE75JANCNFSM5M4XBRZA
.
Triage notifications on the go with GitHub Mobile for iOS
<
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
<
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub
.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/15887#issuecomment-1023193229,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXNBCAW3EJMQZGPDUSMLACTUYFALHANCNFSM5M4XBRZA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

bro what happened?


Add an example of usage in the README

Can you please add an example/examples of how you call shdoc to the README?

shdoc.awk has no args and expects shell script with comments as described above on the stdin and will markdown output result on the stdout.

Seeing that it takes input via the STDIN with no arguments, I tried a few different things all of which did not work:
$ cat .bash_profile | shdoc
/usr/bin/awk: calling undefined function gensub
 input record number 5, file
 source line number 47
$ shdoc .bash_profile     # I knew this one wouldn't work...
/usr/bin/awk: calling undefined function gensub
 input record number 5, file .bash_profile
 source line number 47
$ shdoc << .bash_profile
>                                             # I hit ^C to get out of this
$ shdoc <<< .bash_profile

# Empty space printed ^^^
$ $ shdoc <<< cat .bash_profile
/usr/bin/awk: calling undefined function gensub
 input record number 5, file .bash_profile
 source line number 47
$ shdoc <<< $(cat .bash_profile)

# Empty space printed ^^^

I'm not having any luck with trying things out / Googling for how to provide STDIN to a script. I'm no bash expert, but I'd love to use your project! So could you please provide some explicit calls you use to use shdoc?

https://github.com/reconquest/tests.sh/blob/master/Makefile#L1-L2

cheers mate!


Create template for Pull Requests

The idea is to add the .github/PULL_REQUESTS with a template for new contributors.
It will help improve the quality of contributions and guide the contributors to avoid misinformation.
The maintainers will have better information to improve and speed up the review.
Parent issue

[ ] #105

/assign

Thank you, @prashantrewar, for your interest in contributing.
I assigned the issue to you. Let me know if you have any questions.
I think this witness PR is a good reference.
https://github.com/in-toto/witness/pull/351

Thank you @kairoaraujo for assigning and guidance. I will let you know if I have questions

@kairoaraujo I created a PR for this issue, could you please take a look?


DateTime parsing is failing for some valid datetime values

This issue is created as a follow up of investigation done on CRI 264207426.
Issue: Python worker throws when datetime values are not in a specific format while other language workers are successfully parsing any valid date time strings.
Repro steps:

Create a python function app to listen to service bus events.
Create a C# app(in-proc) to write to service bus. Use the the Message class which comes from Microsoft.Azure.ServiceBus package to create the payload.
Send a message using C# app.
Observe python app crashes while trying to parse the grpc payload for service bus trigger. Specifically populating the "ExpiresAtUtc" meta property throws.

I tried 2 other language workers, C# and JavaScript(Node.JS), both are working fine. We should fix the python worker parsing code (of the GRPC payload) to handle datetime values like "10/07/2021 23:31:52", so that it is consistent with other language worker's behavior.
The CRI has an attachment for step 1 and step 2 above you can use to repro.
Stack trace when this error happens:

[2021-10-06T23:33:44.347Z] System.Private.CoreLib: Exception while executing function: Functions.ServiceBusQueueTrigger1. System.Private.CoreLib: Result: Failure
Exception: ValueError: time data '10/07/2021 23:31:52' does not match format '%Y-%m-%dT%H:%M:%S.%fZ'
Stack:   File "C:\Users\shkr\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9\WINDOWS\X64\azure_functions_worker\dispatcher.py", line 382, in _handle__invocation_request
args[pb.name] = bindings.from_incoming_proto(
File "C:\Users\shkr\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9\WINDOWS\X64\azure_functions_worker\bindings\meta.py", line 87, in from_incoming_proto
return binding.decode(datum, trigger_metadata=metadata)
File "C:\Users\shkr\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9\WINDOWS\X64\azure\functions\servicebus.py", line 209, in decode
return cls.decode_single_message(
File "C:\Users\shkr\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9\WINDOWS\X64\azure\functions\servicebus.py", line 256, in decode_single_message
expires_at_utc=cls._parse_datetime_metadata(
File "C:\Users\shkr\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9\WINDOWS\X64\azure\functions\meta.py", line 197, in _parse_datetime_metadata
return cls._parse_datetime(datetime_str)
File "C:\Users\shkr\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9\WINDOWS\X64\azure\functions\meta.py", line 241, in _parse_datetime
raise utc_time_error
File "C:\Users\shkr\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\workers\python\3.9\WINDOWS\X64\azure\functions_utils.py", line 36, in try_parse_datetime_with_formats
dt = datetime.strptime(datetime_str, fmt)
File "C:\Users\shkr\AppData\Local\Programs\Python\Python39\lib_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "C:\Users\shkr\AppData\Local\Programs\Python\Python39\lib_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %

Expected behavior: Python worker should parse the payload for any valid date strings.

Fixed by https://github.com/Azure/azure-functions-python-library/pull/95


Fix: Correct Binary Deployment for .NET8 Breaking Change Support

This PR addresses an issue where the wrong binary (Microsoft.WindowsAppRuntime.dll) was deployed instead of the intended Microsoft.WindowsAppRuntime.Bootstrap.dll. This correction ensures that the appropriate binaries are deployed for .NET8 support, particularly addressing the breaking changes in the .NET8 framework.

/azp run

/azp run


Outlook (Classic) isn't positioned to its workspace position

Microsoft PowerToys version
0.84.0
Installation method
Chocolatey
Running as admin
No
Area(s) with issue?
Workspaces
Steps to reproduce
Outlook (Classic) isn't positioned to its workspace position.

✔ Expected Behavior
When launching "Outlook (Classic)" via a workspace, it opens in its saved position.
❌ Actual Behavior
Outlook (Classic) isn't positioned to its workspace position.
Note: If the workspace is launched a second time, another instance of Outlook is opened and that instance does get positioned correctly.
Other Software
Microsoft® Outlook® for Microsoft 365 MSO (Version 2408 Build 16.0.17928.20114) 64-bit

@Stan-Stani please retest with the new 0.87 PT version and if the issue persists send a /bugreport. Thanks!


JavaScript function and IN operator

Hi all. I have a use-case where I have userId and a list of movie rid's which I want to get (along with the Edge Rating). How do I pass the parameter movies as an array in JavaScript to OrientDB?

This works but I'm sure it's not the right way.
I also tried this and it's not working (getting an empty array as a result):

Hi @warriorkitty
The problem here is that the Studio Graph panel passes the second parameter as a string, so the result of the second query will be something like (see the quotes)
SELECT * FROM... WHERE rid in ["#13:0, #13:1"]

that is not what you want to do of course.
The second version, used from SQL, should work fine though
Thanks
Luigi

Hi @warriorkitty
I'm closing this ticket, please reopen if you need further help
Thanks
Luigi


Segmentation Fault

I was able to use ETLAlchemy on Friday with no issues (today is Tuesday).  It did everything that I hoped it would - and it was fast!
However, I tried to run the script again and I am now getting a segmentation fault.  Nothing within the script/code has changed.
I made sure that all the dependencies were up to date and that all my system packages were also up to date.  I even updated pip, not that it matters or anything.
When I use gdb to try and debug, the last library that gets called appears to be libgss.so.3:
`Sending source '<etlalchemy.ETLAlchemySource.ETLAlchemySource instance at 0x7ffff4187ab8>' to destination 'mysql://user:password@localhost/Temp_For_ETL'
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff1868df5 in ?? () from /usr/lib/libgss.so.3`
I essentially have the exact code that was used in the examples that were given.  For my source, I am pulling a table from a MSSQL DB and then migrating it into a MYSQL DB.  I am using Microsoft's MSSQL ODBC driver (version 13 for Debian/Ubuntu), which appears to be working with no issues otherwise.  GDB also indicates that all is well until the code hits the migrate function, where it then give me the segmentation fault.
Any ideas as to what I could be missing?

Hmm...I've never seen a segfault when running the tool (or in any Python package really...), but it's probably a memory leak.  It's pretty hard to cause a segfault in Python with garbage collection, so it must be something in outside the scope of etlalchemy, however I'd never rule it out. Can you post the full stack trace?
Sounds like a compatibility issue between your driver and one of the databases. It looks like libgss is a security library, and is probably used by the Microsoft ODBC driver to pass credentials along to SQL Server.
Personally, when dealing with SQL Server I use pyodbc and the FreeTDS driver, and have had success with several etlalchemy migrations, in various environments.
All this said, I have had significant issues with high I/O migrations FROM SQL Server instances located in AWS and Microsoft Azure. Out of curiousity, where is the SQL Server instance?

strace.txt attached
I also have FreeTDS setup and it was working as far as I could tell, but I thought that I would give MS's version a go.
I will try things out using FreeTDS and let you know how things turn out shortly.
strace.txt

The MSSQL instance is external.  I am running this script on an Ubuntu box (older 14.04).
It looks like the MSSQL driver may be the culprit, so I just need to do some more keyboard grinding I suppose.  It was able to fetch all the rows, but migrating it to the new DB still appears to be an issue:
Dropping database 'Temp_For_ETL'
Creating database 'Temp_For_ETL'
Sending source '<etlalchemy.ETLAlchemySource.ETLAlchemySource instance at 0x7fb70770f9e0>' to destination 'mysql://user:password@localhost/Temp_For_ETL'
/usr/local/lib/python2.7/dist-packages/sqlalchemy/dialects/mssql/base.py:1643: SAWarning: Unrecognized server version info '95.12.255'.   Version specific behaviors may not function properly.   If using ODBC with FreeTDS, ensure TDS_VERSION 7.0 through 7.3, not 4.2, is configured in the FreeTDS configuration.
  ".".join(str(x) for x in self.server_version_info))
ETLAlchemySource (INFO) -
        *************************
        *** Total Tables: 1 ***
        *************************

ETLAlchemySource (INFO) - Reading Table Schema 'pull_table'...
ETLAlchemySource (INFO) - Loaded indexes and FKs for table 'pull_table'
ETLAlchemySource (WARNING) - Table 'pull_table' does not exist in the dst database (we will create this later...)
ETLAlchemySource (INFO) - Building query to fetch all rows from pull_table
ETLAlchemySource (INFO) - Done. (164558 total rows)
ETLAlchemySource (INFO) - Loading all rows into memory...
ETLAlchemySource (INFO) - Fetched 10000 rows
ETLAlchemySource (INFO) - Fetched 20000 rows
ETLAlchemySource (INFO) - Fetched 30000 rows
ETLAlchemySource (INFO) - Fetched 40000 rows
ETLAlchemySource (INFO) - Fetched 50000 rows
ETLAlchemySource (INFO) - Fetched 60000 rows
ETLAlchemySource (INFO) - Fetched 70000 rows
ETLAlchemySource (INFO) - Fetched 80000 rows
ETLAlchemySource (INFO) - Fetched 90000 rows
ETLAlchemySource (INFO) - Fetched 100000 rows
ETLAlchemySource (INFO) - Fetched 110000 rows
ETLAlchemySource (INFO) - Fetched 120000 rows
ETLAlchemySource (INFO) - Fetched 130000 rows
ETLAlchemySource (INFO) - Fetched 140000 rows
ETLAlchemySource (INFO) - Fetched 150000 rows
ETLAlchemySource (INFO) - Fetched 160000 rows
Traceback (most recent call last):
  File "etl_alm_asset.py", line 9, in <module>
    mysql_db_target.migrate(migrate_fks=False, migrate_indexes=False, migrate_data=True, migrate_schema=True)
  File "/usr/local/lib/python2.7/dist-packages/etlalchemy/ETLAlchemyTarget.py", line 86, in migrate
    migrate_data=migrate_data)
  File "/usr/local/lib/python2.7/dist-packages/etlalchemy/ETLAlchemySource.py", line 995, in migrate
    raw_rows = [list(row) for row in rows]
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa0 in position 10: invalid start byte

I will pick at it a little more to work out the kinks and report back.
Thanks for the help.

Yeah, it does not appear to be a driver issue now since I am pulling the rows in with no issues.  I double checked my odbc.ini, freetds.conf, and odbcinst.ini files, and they appear to be working as they should.  I was also able to connect to the DB using isql with no issues, indicating the DSN when I ran it.
I read in the base.py file that the error at the top stating "SAWarning: Unrecognized server version info '95.12.255'" is a false-negative and that I can ignore it.  Which makes sense since I am noticeably pulling the rows as shown in the output.
I then tried to figure out what could be happening with that whole 'UnicodeDecodeError' at the end of the trace, since that is apparently what is holding me up here.  I am not sure about this part though.  I am not sure if the migration doesn't like the MS encoding that it pulled down, or if I have a broken python/linux package somewhere.
Any ideas?

There are known issues surrounding unix+PyODBC, SQL Server and Unicode, and there are some workarounds as well. SQLAlchemy does a good job of briefly explaining this: http://docs.sqlalchemy.org/en/latest/dialects/mssql.html#unicode-binds
You can try adding the following parameters to your DB connection string, and see if it solves your problem:
mssql+pyodbc://user:password@server?encoding=windows-1255&convert_unicode=True
mssql+pyodbc://user:password@server?supports_unicode_binds=True

Still no luck with args:
mysql
mysql://user:password@localhost/Temp_For_ETL
Dropping database 'Temp_For_ETL'
Creating database 'Temp_For_ETL'
Sending source '<etlalchemy.ETLAlchemySource.ETLAlchemySource instance at 0x7fd4715f5a70>' to destination 'mysql://user:password@localhost/Temp_For_ETL'
Traceback (most recent call last):
  File "./etl_alm_asset.py", line 10, in <module>
    mysql_db_target.migrate()
  File "/usr/local/lib/python2.7/dist-packages/etlalchemy/ETLAlchemyTarget.py", line 86, in migrate
    migrate_data=migrate_data)
  File "/usr/local/lib/python2.7/dist-packages/etlalchemy/ETLAlchemySource.py", line 875, in migrate
    self.src_insp = reflection.Inspector.from_engine(self.engine)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 135, in from_engine
    return Inspector(bind)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 109, in __init__
    bind.connect().close()
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2018, in connect
    return self._connection_cls(self, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 72, in __init__
    if connection is not None else engine.raw_connection()
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2104, in raw_connection
    self.pool.unique_connection, _connection)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2078, in _wrap_pool_connect
    e, dialect, self)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1405, in _handle_dbapi_exception_noconnection
    exc_info
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 202, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2074, in _wrap_pool_connect
    return fn()
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 318, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 713, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 480, in checkout
    rec = pool._do_get()
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 1060, in _do_get
    self._dec_overflow()
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 1057, in _do_get
    return self._create_connection()
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 323, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 449, in __init__
    self.connection = self.__connect()
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 607, in __connect
    connection = self.__pool._invoke_creator(self)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 97, in connect
    return dialect.connect(*cargs, **cparams)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 385, in connect
    return self.dbapi.connect(*cargs, **cparams)
sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')

If that doesn't work, clone this repo locally, and change the following (line 870 in ETLAlchemySource.py) from
try:
     self.engine = create_engine(self.database_url)
except ImportError as e:
     raise DBApiNotFound(self.database_url)

...to...
try:
     # Note the supports_unicode_binds=True flag
     self.engine = create_engine(self.database_url, supports_unicode_binds=True)
except ImportError as e:
     raise DBApiNotFound(self.database_url)

Build the package locally with pip install . in the project root directory, and then re-run your script and see if this fixes anything.
I can add support to pass this argument (supports_unicode_binds) to the ETLAlchemySource object if this fixes the problem.
I've been through hell and back with some of these weird encodings, and all these problems originate in Microsoft-land...hope this works. Let me know.

I cloned it to my dist-packages directory (with a few adjustments to the directory structure of etlalchemy), made the changes.  Sadly, it yields the same results.
Thank you again for your help on this.  If you still want me to try some things, please let me know.
I think I am going to try to set up a Docket container for the time-being to see if that helps.  Perhaps a python virtualenv?  I'll look more into it...

Did you try changing the of CharSet setting in odbc.ini file in the above comment? I think I remember that helping me solve a very similar problem in the past...

I did.  I also tried doing things like placing a hyphen in the argument (utf8 vs utf-8).  Still no luck.

I am closing this issue, and opening a new issue here.
Hop on that thread with any additional comments, I have a few ideas...

Got it!  Everything is right with the world again!
I just had to make some adjustments to the freetds.conf, odbc.ini, and odbcinst.ini files.  Here are the entry examples of those files:
freetds.conf:
[DSN]
   host = <IP_ADDRESS>
   port = 1433
   tds version = 8.0

odbc.ini:
[DSN]
Driver = FreeTDS
Port = 1433
Database = MyDatabase
TDS_Version = 8.0
ServerName = DSN

odbcinst.ini:
[FreeTDS]
Description = FreeTDS Driver v0.91
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

It also did not provide me with the "SAWarning: Unrecognized server version info '95.12.255'" message during the output either - which was nice to also see.
Also, I changed a few things for my own purposes, and would like to share them with you in hopes that you may be able to implement it in future releases.
The first thing that I changed was within ETLAlchemySource File at line 650 which determines what each field is enclosed by.  I changed this from a single quote to a double since the data that was being loaded appeared to include double quotes that were included within the CSV that is generated.
From:
"--fields-enclosed-by=\"'\" "
To:
"--fields-optionally-enclosed-by=\'\"\' "
I also commented out line 736 which removes the csv file that is generated after all is said and done.  This is to allow me to have something that I can use to import, just in case something happens again where I can not longer use the script.
os.remove(data_file_path)
Finally, where can I donate for this project?  This script was a help for me and I wouldn't mind throwing a little cash your way for your efforts.
Thanks again for the help!


Registering the service one should provide absolute path, otherwise exception is thrown

When registering service via services.AddJsonLocalization, if the path is not an absolute one it will throw the following exception when resolving the files by IStringLocalizer
// this will cause an error when _localizer["Hello"] is called later on
services.AddJsonLocalization(options => options.ResourcesPath = "Resources");

it should be changed to
var directory = Path.Combine(Directory.GetCurrentDirectory(), "Resources");
services.AddJsonLocalization(options => options.ResourcesPath = directory);

the latter will work perfect.
I think that extra line can be moved to the library itself.
System.ArgumentException: The path must be absolute. (Parameter 'root')
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root, ExclusionFilters filters)
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root)
   at Microsoft.Extensions.Configuration.FileConfigurationExtensions.SetBasePath(IConfigurationBuilder builder, String basePath)
   at My.Extensions.Localization.Json.JsonStringLocalizer.<>c__DisplayClass17_0.<BuildResourcesCache>b__0(String _)
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at My.Extensions.Localization.Json.JsonStringLocalizer.BuildResourcesCache(String culture)
   at My.Extensions.Localization.Json.JsonStringLocalizer.GetStringSafely(String name)
   at My.Extensions.Localization.Json.JsonStringLocalizer.get_Item(String name)
   at My.Extensions.Localization.Json.Internal.StringLocalizer.get_Item(String name)

HEADERS
=======
Accept-Language: fr-FR

Thanks for reporting this, but did you try to run the sample, it should work as expected

Dear @hishamco, thanks for the prompt reply, yes I ran the sample with a controller trying to use IStringLocalizer

@shahabganji let me try your scenario to make sure that I can reproduce the bug, if you think your fix is a real bug, you could send a PR if you want ..
Thanks

@hishamco The PR created, hope it helps

I need to check the sample with your changes first before I review the PR
Thanks

@shahabganji I think there's some confusion here you 're using IStringLocalizer instead of IStringlocalizer<T> which is may causes a strange behavior
Please refer to my new added sample here
Hope it clarifies what's the preferred localizer you should use as well as resource name conventions

Merged into dev

@hishamco
I still get the same error, even with IStringLocalizer<HomeController>; besides using IStringLocalizer<T> only loads messages from T.{culture}.json file, right? however, using non-generic IStringLocalizer will load messages which are not only for a specific class/controller, like some global shared messages.
I added the following to resolve problem in Startup -> ConfigureServices
services.AddJsonLocalization(
                options => options.ResourcesPath = Path.Combine(
                    Directory.GetCurrentDirectory(), "Resources"));

without that it is like :

note that the response is 500 Internal Server Error
and this is the log :
Microsoft.AspNetCore.Server.Kestrel: Error: Connection id "0HLUNLKCTNMP6", Request id "0HLUNLKCTNMP6:00000001": An unhandled exception was thrown by the application.

System.ArgumentException: The path must be absolute. (Parameter 'root')
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root, ExclusionFilters filters)
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root)
   at Microsoft.Extensions.Configuration.FileConfigurationExtensions.SetBasePath(IConfigurationBuilder builder, String basePath)
   at My.Extensions.Localization.Json.JsonStringLocalizer.<>c__DisplayClass16_0.<BuildResourcesCache>b__0(String _) in /Users/shahab/dev/playground/My.Extensions.Localization.Json/src/My.Extensions.Localization.Json/JsonStringLocalizer.cs:line 173
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at My.Extensions.Localization.Json.JsonStringLocalizer.BuildResourcesCache(String culture) in /Users/shahab/dev/playground/My.Extensions.Localization.Json/src/My.Extensions.Localization.Json/JsonStringLocalizer.cs:line 162
   at My.Extensions.Localization.Json.JsonStringLocalizer.GetStringSafely(String name) in /Users/shahab/dev/playground/My.Extensions.Localization.Json/src/My.Extensions.Localization.Json/JsonStringLocalizer.cs:line 101
   at My.Extensions.Localization.Json.JsonStringLocalizer.get_Item(String name) in /Users/shahab/dev/playground/My.Extensions.Localization.Json/src/My.Extensions.Localization.Json/JsonStringLocalizer.cs:line 42
   at Microsoft.Extensions.Localization.StringLocalizer`1.get_Item(String name)
   at LocalizationSample.Mvc.Controllers.HomeController.Index() in /Users/shahab/dev/playground/My.Extensions.Localization.Json/samples/LocalizationSample.Mvc/Controllers/HomeController.cs:line 19
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

That means the error occurs when you are using IStringLocalizer alone or beside IStringLocalizer<T> right?

I just checked out the project and run the new sample as dotnet project. I have the same error no matter which type of usage,  IStringLocalizer<T> alone also produces the error. using both together also produces error.
my current controller :
using System;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Localization;

namespace LocalizationSample.Mvc.Controllers
{
    [Route("")]
    public class HomeController : Controller
    {
        private readonly IStringLocalizer<HomeController> _localizer;

        public HomeController(IStringLocalizer<HomeController> localizer)
        {
            _localizer = localizer ?? throw new ArgumentNullException(nameof(localizer));
        }

        public string Index()
        {
            var result = _localizer["Hello"].Value;

            return result;
        }
    }
}

and Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace LocalizationSample.Mvc
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddJsonLocalization(options => options.ResourcesPath = "Resources");
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseRequestLocalization("en-US", "fr-FR");

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseRouting();

            app.UseEndpoints(endpoints => endpoints.MapControllers());
        }
    }
}

I have two resource files, HomeController.fr-FR.json and fr-FR.json
changed the line to services.AddJsonLocalization( options => options.ResourcesPath = Path.Combine(Directory.GetCurrentDirectory(), "Resources")); and it works like a charm.

Also changing Line 174 to
.SetBasePath(Path.Combine(Directory.GetCurrentDirectory() ,_resourcesPath))

solved the issue.

I did few updates after I support JsonHtmlLocalizer, I will try to use IStringLocalizer alongside with IStringLocalizer to reproduce the error

you mean IStringLocalizer alongside with IStringLocalizer<T>? but in this case IStringLocalizer<T> also throws an exception. Anyway thanks for the follow ups.

Seems I confused, could please try the latest sample LocalizationSample.Mvc and let me know what are the required changes to raise the error

I exactly did that. please check here and here

I just checked out the project and run the new sample as dotnet project. I have the same error no matter which type of usage, IStringLocalizer alone also produces the error. using both together also produces error.

Seems you didn't fetch the latest bits ;) I just merged a new commits anyhow I don't have such T.{culture}.json file, furthermore there's no error occurs on IStringLocalizer<HomeController> at all

This is a French version of how Privacy page is look like at my end

By T I meant HomeController, I pulled the latest version, however, the problem still exist.

URL: https://localhost:8001/Home/Privacy/?culture-fr-FR&ui-culture=fr-FR
error the same as before:

Microsoft.AspNetCore.Server.Kestrel: Error: Connection id "0HLUNMASR1PM7", Request id "0HLUNMASR1PM7:00000001": An unhandled exception was thrown by the application.

System.ArgumentException: The path must be absolute. (Parameter 'root')
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root, ExclusionFilters filters)
   at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root)
   at Microsoft.Extensions.Configuration.FileConfigurationExtensions.SetBasePath(IConfigurationBuilder builder, String basePath)
   at My.Extensions.Localization.Json.JsonStringLocalizer.<>c__DisplayClass16_0.<BuildResourcesCache>b__0(String _) in /Users/shahab/dev/playground/My.Extensions.Localization.Json/src/My.Extensions.Localization.Json/JsonStringLocalizer.cs:line 173
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at My.Extensions.Localization.Json.JsonStringLocalizer.BuildResourcesCache(String culture) in /Users/shahab/dev/playground/My.Extensions.Localization.Json/src/My.Extensions.Localization.Json/JsonStringLocalizer.cs:line 162
   at My.Extensions.Localization.Json.JsonStringLocalizer.GetStringSafely(String name) in /Users/shahab/dev/playground/My.Extensions.Localization.Json/src/My.Extensions.Localization.Json/JsonStringLocalizer.cs:line 101
   at My.Extensions.Localization.Json.JsonStringLocalizer.get_Item(String name) in /Users/shahab/dev/playground/My.Extensions.Localization.Json/src/My.Extensions.Localization.Json/JsonStringLocalizer.cs:line 42
   at Microsoft.Extensions.Localization.StringLocalizer`1.get_Item(String name)
   at LocalizationSample.Mvc.Controllers.HomeController.Privacy() in /Users/shahab/dev/playground/My.Extensions.Localization.Json/samples/LocalizationSample.Mvc/Controllers/HomeController.cs:line 22
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)

I did the same thing to solve the problem and it worked.
I don't know whether the OS matters or not, mine is Mac OS X

I see, I don't now you are running on Mac OS, so I need to create a functional test, so AzurePipeline should fail if there's issue
I will try create it ASAP
Thanks again

Also I will try your change to check if it's work with me too on Windows

If you wish to create a functional test that runs the LocalizationSample.Mvc that I created in you PR it will be very good to make sure that your changes works on ever OS

No problem  I'll put a time on that.

I request few changes on your PR, please fix them and let me know if you need help on creating a functional test

Sure, just give me some time till evening, currently at the middle of some important stuff, is that okay?

Take your time .. I will try to fix and improve something else meanwhile

Dear @hishamco, check PR #44 . I've added a functional test for one of the samples, LocalizationSample, do we need another one for LocalizationSample.Mvc?

I will have a look ...
Thanks

@hishamco Please also update the nuget feed. thanks 🙏

Do you mean upload a NuGet package?

Yes.

Am 03.04.2020 um 20:19 schrieb Hisham Bin Ateya<EMAIL_ADDRESS>
Do you mean upload a NuGet package?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I need to add some new features, then I will release 2.1.0 hope this will not take more than few days


"Postprocess" certificates

Hi, Thanks for the great container.
While it works perfectly in most use cases I have one problem with it. The MongoDB requires certificate file which is basically a merge of key and cert files from Let's Encrypt (https://serverfault.com/questions/805971/how-to-correctly-configure-mongodb-to-use-letsencrypt-ssl-on-ubuntu/878457). Is there any chance to support autogeneration of such file?
I don't know if there are any more use cases for postprocessing certificates after renewal, but maybe there is a chance to support that just using container configuration?

Hi !
Adding that kind of cert post processing is definitely possible (in the sense that it can technically be done) but it's also, out of scope in my opinion : as the name of the project imply, it aims solely to provide auto LE cert generation for nginx-proxy.
I'm well aware that the ease in auto managing certificates with this container have people wish for its scope to be extended (see #315 and #275 for instance) but for now I don't see how to get down this road without those scope extensions ending up as jury rigged features on a very purpose specific project.
Don't hesitate to give me your toughts on this.
Back to the feature you asked for, the best I can do right now is try to help you add it on a forked version if you'd like.

Hi,
Thanks for your response. I've decided that the best approach to this problem would be writing separate container which will handle certificate files manipulations in response to Docker API events (like nginx container restart). What do you think about such approach?
Could you please point me in the right direction if I want to listen to selected Docker API events and execute some bash command as a response.
Currently I have a script:
while read l; do echo "OK"; done < <(curl -GET -s --unix-socket /var/run/docker.sock http:/events --data-urlencode 'filters={"container":["nginx-mongo"],"event":["restart"]}')

Which theoretically should print OK each time the nginx-mongo container restarts (I'll use labels like you do in a final version). Unfortunatelly this code doesn't work as expected.
What is even more strange without events filtering everything works OK:
while read l; do echo "OK"; done < <(curl -GET -s --unix-socket /var/run/docker.sock http:/events)

and a version without echoing things also works:
curl -GET -s --unix-socket /var/run/docker.sock http:/events --data-urlencode 'filters={"container":["nginx-mongo"],"event":["restart"]}'

Any help will be appreciated.

I think you should rather go for something simpler and modify the letsencrypt-nginx-proxy-companion to add an env var like MONGODB_POSTPROCESS which, when set to true, will trigger the post processing for this specific certificate during the letsencrypt service loop. You already have docker-gen running inside this container and watching the events on the docker socket, so don't waste time and ressource doing another watcher.

What do you think about LE_POSTPROCESS env variable where you may add any bash command for files postprocessing? It would be a much more generic solution where MongoDB will be just one of the possible use cases.

Interpreting bash commands from environment variable does not really sound like a good idea to me :fearful:


🐞 Dubious ownership

When starting a fresh container locally (haven't tested Codespaces yet), the following is returned from git status:
fatal: detected dubious ownership in repository at '/workspaces/user-guidance'
To add an exception for this directory, call:

        git config --global --add safe.directory /workspaces/user-guidance

Raised this PR to resolve this issue.

https://github.com/ministryofjustice/.devcontainer/pull/138 might've resolved this particular bug

Resolved by https://github.com/ministryofjustice/.devcontainer/pull/138


[SP-4478] Backport of BACKLOG-22673 - When editing some hops of Job E…

…xecutor &  one of Transformation Executor appropriate xml tags related to hops are cleared (7.1 Suite)
@pentaho-lmartins @cravobranco @ricardosilva88

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -f engine/build.xml checkstyle publish-local
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -f ui/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/step/StepMetaInterface.java
  engine/src/org/pentaho/di/trans/steps/jobexecutor/JobExecutorMeta.java
  engine/src/org/pentaho/di/trans/steps/transexecutor/TransExecutorMeta.java
  ui/src/org/pentaho/di/ui/spoon/Spoon.java
  ui/test-src/org/pentaho/di/ui/spoon/SpoonTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.job.entries.evalfilesmetrics.JobEntryEvalFilesMetrics

Branch Change: -0.4% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.3% :small_red_triangle_down:
Line Change: -3.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Method Change: -1% :small_red_triangle_down:

org.pentaho.di.trans.steps.ifnull.IfNullMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.9% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.jobexecutor.JobExecutorMeta

Branch Change: -1.7% :small_red_triangle_down:
Complexity Change: -1.8% :small_red_triangle_down:
Instruction Change: -0.9% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:
Method Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.synchronizeaftermerge.SynchronizeAfterMergeMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.transexecutor.TransExecutorMeta

Branch Change: -9.7% :small_red_triangle_down:
Complexity Change: -4.4% :small_red_triangle_down:
Instruction Change: -2.4% :small_red_triangle_down:
Line Change: -2.2% :small_red_triangle_down:
Method Change: -0.6% :small_red_triangle_down:

org.pentaho.di.www.TransformationMap

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:

From my analysis, the base case had 2 PRs:
https://github.com/pentaho/pentaho-kettle/pull/5219/files
https://github.com/pentaho/pentaho-kettle/pull/5519/files
Please verify, in this PR your are back porting the 2nd case only

@ricardosilva88: I've added the missing code.

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -f engine/build.xml checkstyle publish-local
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -f ui/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/step/StepMetaInterface.java
  engine/src/org/pentaho/di/trans/steps/jobexecutor/JobExecutorMeta.java
  engine/src/org/pentaho/di/trans/steps/transexecutor/TransExecutorMeta.java
  ui/src/org/pentaho/di/ui/spoon/Spoon.java
  ui/src/org/pentaho/di/ui/trans/steps/jobexecutor/JobExecutorDialog.java
  ui/src/org/pentaho/di/ui/trans/steps/transexecutor/TransExecutorDialog.java
  ui/test-src/org/pentaho/di/ui/spoon/SpoonTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -3% :small_red_triangle_down:
Complexity Change: -3.1% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:
Line Change: -0.4% :small_red_triangle_down:

org.pentaho.di.trans.steps.ifnull.IfNullMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.9% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.jobexecutor.JobExecutorMeta

Branch Change: -1.7% :small_red_triangle_down:
Complexity Change: -1.8% :small_red_triangle_down:
Instruction Change: -0.9% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:
Method Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.transexecutor.TransExecutorMeta

Branch Change: -9.7% :small_red_triangle_down:
Complexity Change: -4.4% :small_red_triangle_down:
Instruction Change: -2.4% :small_red_triangle_down:
Line Change: -2.2% :small_red_triangle_down:
Method Change: -0.6% :small_red_triangle_down:


fix: 💫 add custom blocked names

Description
Add custom blocked name support. Add custom blocked names to the
blocked-names.txt file and they will be combined with blocked names from online
sources and included in generated output.
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?

[x] cargo test run with all tests passing

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Codecov Report
Attention: Patch coverage is 0% with 12 lines in your changes are missing coverage. Please review.

Project coverage is 34.86%. Comparing base (75bb704) to head (60d5c3e).

Files
Patch %
Lines

src/file_system.rs
0.00%
10 Missing :warning:

src/main.rs
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
- Coverage   35.23%   34.86%   -0.37%
==========================================
  Files           4        4
  Lines        1141     1153      +12
==========================================
  Hits          402      402
- Misses        739      751      +12

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


Request: add a license to this repo

https://choosealicense.com/ is a good resource to help pick one! The Unlicense is a good choice if you don't care at all about the license.

Indeed....do not care ... but thanks

I'm hoping to fork this and help contribute, but unfortunately I can't until there's a proper license. Why are you against adding a simple piece of text, which is standard on nearly all repos?

Ah, I see you added one. Thanks!
I thought you were saying that you don't care about licenses.
Just an FYI - in the MIT License, you're supposed to fill in the year and your name in the text, not that it really matters.


removed a DS_STORE that slipped in and added it to the gitignore

Argh! Just deleted the file in the previous commit. But we still have to cleanup gitignore.

Coverage remained the same when pulling 9b8d0e48398dce0389c5a6b3a11d05490dc559f8 on rpless:remove-ds-store into cece691001ae90d88578c7fd63e9b8a56cfa239d on finagle:master.


How to provide custom input to ACL2020-GraphSum model

Your work is amazing. Can you please direct me to a method which tells how can we give our own paragraphs as input to GraphSum Model?

Just process your data in the same format with our data, e.g. https://graphsum.bj.bcebos.com/data/MultiNews_data_tfidf_30_paddle.tar.gz
Then running the model following our instructions in README.

T

Just process your data in the same format with our data, e.g. https://graphsum.bj.bcebos.com/data/MultiNews_data_tfidf_30_paddle.tar.gz
Then running the model following our instructions in README.

Thank you for that! I wanted to how did you pre-process it? How do I get the sim-graph matrix?

@RishabhNewzera Did you preprocess successfully？Can you tell me how to do it?

@Wang-Yufei I have not been able to preprocess it yet.

Our data preprocess code has also been open: https://github.com/PaddlePaddle/Research/tree/master/NLP/ACL2020-GraphSum/src/data_preprocess/graphsum


sso, and vmtemplate

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of “no breaking changes
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[x] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

@jianyexi @PhoenixHe-msft the check all pass can we merge this?

@jianyexi @PhoenixHe-msft the check all pass can we merge this?

needs ARM's approval first

@jianyexi @PhoenixHe-msft the check all pass can we merge this?

needs ARM's approval first

Who is the arm approver? I'll ask them to review.

/azp run automation - sdk

        "name": "SSOSecretType",

optional - Since it's repeated, you could probably extract it into a common definition.

Refers to: specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/desktopvirtualization.json:2637 in bea2bbd. [](commit_id = bea2bbdaa2e2e627ddc368b29baaf33c3380ce4e, deletion_comment = False)

/azp run automation - sdk


Lock screen password and biometric identification API

Is your feature request related to a problem? Please describe.
Certain operations in certain apps require authentication of the user's identity, through the operating system's lock screen password, fingerprints, face, etc.
Describe the solution you'd like
In viewmodel, call a async function, and GUI show a new view, tell user to validate(PIN or something else).
bool result = await SystemAuthentication();

Describe alternatives you've considered
No response
Additional context
No response

This doesn't look like a feature Avalonia shoould have, or any ui toolkit.

All right.


Merge Dev ke UAT 6 Oct 2017

Coverage increased (+0.07%) to 74.26% when pulling ba90ae560b75b09f5c9f4044575572fa56ed78b7 on dev into 6893119c7c3d55e1cc68b6888372c22ba215ec8e on uat.


Tracking Issue: What do you use static mut for?

If you have an example of why you use/need static mut, particularly in an embedded context, I'm interested in hearing why! This will help me provide safer alternatives in grounded in the future.
If you can share a link to code, or a snippet inline or on the Rust Playground, that would help out a ton.

@spcan that definitely helps! Grounded already has some tooling for getting a pointer to a static uninit item or array of items, that I believe to be more sound of an abstraction to build on top of (check out GroundedCell and GroundedArrayCell). The API is just a single .get()that returns an*mut T`, which is often what you need for DMA, and allows you to "bring your own safety" on top of it if you want to create a reference from it.
I definitely want to add items (or examples) that show how to use it with specifically defined linker sections, in case it needs to be mapped at a specific location.
Additionally:

This model does not map well to Rust because I feel there are no good ways of telling it, 'Yes, this is undefined behaviour, but I know the state this section of memory will be when I use it'

Just nitpicking, the compiler is allowed to assume that undefined behavior never exists, and this can cause it to optimize your program in unexpected ways, including removing whole chunks of it, even if you use unsafe!
Similarly to @diondokter, in theory a static mut should be no more resistant than any other mut variable to being optimized out. Though if it's a single threaded example and you are very careful to not create aliasing references, it shouldn't be immediately UB (just very eas to accidentally cross the line).

Another thing I can imagine, but haven't done myself so far, is having to have a global variable for compat with C. Say a C lib has a global extern variable, how would you create that un Rust without static mut?

From my answer in chat:

The answer is probably It Depends (based on what kinds of guarantees the C program makes). For example, if the C program ever leaves the global in an inconsistent state (say: a bool with "2" in it), then you definitely shouldn't expose it as just a static mut.
however, an UnsafeCell<MaybeUninit> or just UnsafeCell can also be used as a non-mut static.
IMO: basically anywhere you use static mut you should basically be using UnsafeCell or UnsafeCell<MaybeUninit>.

Also, thank you both for sharing! I do want to share why I want to provide other options, and both of your examples help a ton on what kinds of structures, docs, and examples I should provide!

I'd love to get rid of this one: https://github.com/ferrous-systems/rust-exercises/blob/7e6d9e6029ad9a31b0c75d233dda6921cd8421f0/nrf52-code/boards/dongle/src/lib.rs#L294
It's a static mut in a function that can only be called once (it uses Peripherals::take() to ensure this). It has to be static because there are stack-allocated structures elsewhere that want to hold a &Clocks and the only reasonable way to do this was to make it a &'static Clocks.

@thejpster your example is nearly exactly the use case of StaticCell, widely used in embassy.
I've avoided duplicating it because static cell is already well implemented and widely used.

Neat, I'll just use that then.

I use static muts for basically all the context in my current project. Quickly summarizing the SDK, you implement callbacks / message handlers that are called from the kernel. Chip is called DA14531. Code is over here.
Looks something like this:

static const struct app_callbacks user_app_callbacks = {
    .app_on_connection                  = user_app_connection,
    .app_on_disconnect                  = user_app_disconnect,
    .app_on_update_params_rejected      = NULL,
    .app_on_update_params_complete      = NULL,
    .app_on_set_dev_config_complete     = default_app_on_set_dev_config_complete,
    .app_on_adv_nonconn_complete        = NULL,
    .app_on_adv_undirect_complete       = user_app_adv_undirect_complete,
    .app_on_adv_direct_complete         = NULL,
    .app_on_db_init_complete            = default_app_on_db_init_complete,
    .app_on_scanning_completed          = NULL,
    .app_on_adv_report_ind              = NULL,
    .app_on_get_dev_name                = default_app_on_get_dev_name,
    .app_on_get_dev_appearance          = default_app_on_get_dev_appearance,
    .app_on_get_dev_slv_pref_params     = default_app_on_get_dev_slv_pref_params,
    .app_on_set_dev_info                = default_app_on_set_dev_info,
    .app_on_data_length_change          = NULL,
    .app_on_update_params_request       = default_app_update_params_request,
    .app_on_generate_static_random_addr = default_app_generate_static_random_addr,
    .app_on_svc_changed_cfg_ind         = NULL,
    .app_on_get_peer_features           = NULL,
#if (BLE_APP_SEC)
    .app_on_pairing_request             = NULL,
    .app_on_tk_exch                     = NULL,
    .app_on_irk_exch                    = NULL,
    .app_on_csrk_exch                   = NULL,
    .app_on_ltk_exch                    = NULL,
    .app_on_pairing_succeeded           = NULL,
    .app_on_encrypt_ind                 = NULL,
    .app_on_encrypt_req_ind             = NULL,
    .app_on_security_req_ind            = NULL,
    .app_on_addr_solved_ind             = NULL,
    .app_on_addr_resolve_failed         = NULL,
#if !defined (__DA14531_01__) && !defined (__DA14535__)
    .app_on_ral_cmp_evt                 = NULL,
    .app_on_ral_size_ind                = NULL,
    .app_on_ral_addr_ind                = NULL,
#endif // not for DA14531-01, DA14535
#endif // (BLE_APP_SEC)
};

https://lpccs-docs.renesas.com/UM-B-119_DA14585-DA14531_SW_Platform_Reference/User_guides/User_guides.html#ble-event-callbacks
ps. Perhaps there is a better way (with less statics) to integrate with the SDK I'm using.


implement feature extraction,

change version of required pytorch for compatibility

Performed some testing by saving extracted feature maps as images.

my bad, I do not know python naming convention for private variables. changed


Unable to build a wasm filter with cmake and libprotobuf.bc

Title: libprotobuf.bc and libprotobuf.bc cannot be linked with em++
Description:
I am trying to build a wasm filter with cmake which compiles and links in 2 steps instead of using the example Makefile.base that does both in one step.
However em++ doesn't seem to be able to link libprotobuf.bc and fails with this error:
[100%] Linking CXX executable ../public/myfilter.js
/usr/local/Cellar/cmake/3.15.3/bin/cmake -E cmake_link_script CMakeFiles/myfilter.dir/link.txt --verbose=1
.../emsdk/fastcomp/emscripten/em++        -s WASM=1     -s BINARYEN_TRAP_MODE='clamp'     -O3 -g3     -s LEGALIZE_JS_FFI=0     -s EMIT_EMSCRIPTEN_METADATA=1     -DEMSCRIPTEN_PROTOBUF=1     .../envoy-wasm/api/wasm/cpp/libprotobuf.bc     --js-library .../envoy-wasm/api/wasm/cpp/proxy_wasm_intrinsics.js @CMakeFiles/myfilter.dir/objects1.rsp  -o ../public/myfilter.js
error: undefined symbol: _ZN40protobuf_google_2fprotobuf_2fany_2eproto14AddDescriptorsEv
warning: To disable errors for undefined symbols use `-s ERROR_ON_UNDEFINED_SYMBOLS=0`
error: undefined symbol: _ZN42protobuf_google_2fprotobuf_2fempty_2eproto14AddDescriptorsEv
error: undefined symbol: _ZN43protobuf_google_2fprotobuf_2fstruct_2eproto14AddDescriptorsEv
error: undefined symbol: _ZN45protobuf_google_2fprotobuf_2fduration_2eproto14AddDescriptorsEv
error: undefined symbol: _ZN6google8protobuf14DescriptorPool24InternalAddGeneratedFileEPKvi

I only found this question on StackOverflow that indicates that the format of libprotobuf.bc could be a problem. And indeed it starts with !<arch> instead of BC while the compiled object files all start with BC:
hexdump -C myfilter.cc.o|head
00000000  42 43 c0 de 35 14 00 00  05 00 00 00 62 0c 30 24  |BC..5.......b.0$|
...
hexdump -C libprotobuf.bc|head
00000000  21 3c 61 72 63 68 3e 0a  2f 20 20 20 20 20 20 20  |!<arch>./       |

Repro steps:
Create a project with CMake that links libprotobuf.bc and try to build it.

cc @jplevyak

@robertpanzer did you try using Makefile.base_lite and -DEMSCRIPTEN_PROTOBUF_LITE=1 instead of full protobuf?
Also, what's the version of protoc that you have installed in the system (protoc --version)? It has to match version used to generated .bc files, i.e. v3.6.1 (or v3.9.1 with recent master, i.e. with #215 merged).

Thanks, it works now with the latest master!
I had 3.6.1 before and the symbols that the linker complained about definitely showed up in nm libprotobuf.bc. Playing with wrong protoc versions rather seems to result in compile errors, at least when mixing 3.6.1 and 3.9.1.
Indeed it seems like libprotobuf.bc now has the format that was differing from the other object files:
hexdump -C libprotobuf.bc
00000000  42 43 c0 de 35 14 00 00  05 00 00 00 62 0c 30 24  |BC..5.......b.0$|
...

I have no idea if this is just a coincidence or if this is related.
Is there any information how the .bc files are created?
It would be great to have some details on how this is created. Is it just going to protobuf/cmake/build and run emconfigure cmake .. && make?

Yes, see: https://github.com/envoyproxy/envoy-wasm/blob/2e56dfd99d2fc572a770b765efd2872b58cb6e4e/api/wasm/cpp/README.md#rebulding-the-protobufbc-files
It's possible that the .bc file for v3.6.1 was generated differently, but it shouldn't. cc @jplevyak

Is it possible that libprotobuf.bc from 3.6.1 was built with emscripten 1.38.25 (afair the previous recommended version) and the one from 3.9.1 was built with 1.38.42?
So could it be due to a fix in emscripten?


chore: upgrade fastify to v5

Motivation
This release includes https://github.com/fastify/fastify/pull/5545 and allows to remove workaround in ssz content type parser. The new fastify version also removed a bunch of deprecated code which promises a 5-10% performance increase.
Description
Upgrade fastify to v5
There is a migration guide which provides details on breaking changes which we addressed already previously when the code was marked as deprecated.
A notable new feature is Diagnostic Channel support but I don't see a use case for this right now.

:tada: This PR is included in v1.23.0 :tada:


Port Issue: Bleed

Device Type

[ ] RG351P/M
[ ] RG351V
[ ] RG351MP
[ ] RG353M/V/P
[ ] RG503
[ ] RG552
[ ] RGB10
[ ] RGB30
[ ] RK2023
[ ] X55
[ ] Other device (device name here)
[ ] All of the above

Firmware

[ ] ArkOS
[ ] ArkOS Wummle
[ ] AmberELEC
[ ] JelOS
[ ] uOS
[ ] RetroOZ
[ ] TheRA

Port: {Bleed}
Description

Reproduction Steps

Description:
bleed fails to run because patch cannot complete successfully. In gamedate folder, MMHOOK_Bleed.dll has been generated successfully, but MONOMODDED_Bleed.exe is not.
install_log.txt shows error:
MonoMod.Utils.RelinkTargetNotFoundException: MonoMod cannot map dependency MMHOOK_Bleed.dll -> ((Microsoft.Xna.Framework.Game, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=842cf8be1de50553), (Microsoft.Xna.Framework.Game)) - not found
This is strange, as MMHOOK_Bleed.dll is already in gamedate folder. Environment varible or path issue?
Both install_log.txt & log.txt are attached.
install_log.txt
log.txt
Reproduction Steps:
Simply copy bleed files from steam copy to gamedate folder, and try to launch it.

The Windows version of the files won't work, you will need the Linux version.
I don't have the steam version to test, but hopefully this works (we can add this to the description if this tests ok)
To get the Linux version from Steam on Windows:

Press +R
Type/paste in: steam://open/console
You should have steam open with CONSOLE on top, and a text box at the bottom
Type/paste in the textbox: download_depot<PHONE_NUMBER>03
When the download is complete, it will tell you the location of the folder in the console, it doesn't show as a normal download
Copy all files from that directory to /ports/bleed/gamedata


Extension issue

Issue Type: Bug
Extension Name: python
Extension Version: 2020.12.424452561
OS Version: Windows_NT x64 10.0.19041
VSCode version: 1.52.1

:warning: We have written the needed data into your clipboard. Please paste! :warning:

Thanks for the bug report, but unfortunately we need some more information from you in order to triage this issue appropriately. Please edit your opening comment by providing a filled-in copy of our issue template. Once you are done please leave a comment to that effect.

Thanks for the bug report, but unfortunately we need some more information from you in order to triage this issue appropriately. Please edit your opening comment by providing a filled-in copy of our issue template. Once you are done please leave a comment to that effect.


new e145 texture

Thanksy I will create the support soon

wait, where can I find all the maps?

wait, where can I find all the maps?

This is now an experimental aircraft. (And I don't know yet how will it work)

@kolos26  New AGAIN

THXX it's working now. I've also added ur two loganair liveries.

thanks


[Coverity CID :190611]Control flow issues in /drivers/usb/device/usb_dc_nrfx.c

Static code scan issues seen in File: /drivers/usb/device/usb_dc_nrfx.c
Category: Control flow issues
Function: usb_dc_detach
Component: Drivers
CID: 190611
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

Hi, I'm trying to solve your issue, but link is not working. Do you know what happened?
Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Apache/2.4.29 (Ubuntu) Server at scan9.coverity.com Port 443

@maxxlife It is working now. Log in using your github account and request Zephyr project access.

I already made it on the Coverity page.
On Tue, 12 Feb 2019, 5:04 pm Jocelyn-Li<EMAIL_ADDRESS>wrote:

@maxxlife https://github.com/maxxlife It is working now. Log in using
your github account and request Zephyr project access.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zephyrproject-rtos/zephyr/issues/12322#issuecomment-462771213,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALVUj4AbrXmYZMctBoDj38ZFZCoXHfwbks5vMsnmgaJpZM4ZpkI0
.

Hi. @Jocelyn-Li I think that issue has already fixed in merged commit 85d75ec853ada2cfdc38fea6b592de04965614c6

fixed.


Create a linter for Concerto

Feature Request 🛍

Create a linter to allow users to specify rules for how their Concerto models are structured
Use Case
It would be useful to  have a tool to allow users to do some / all of the following:

Specify the naming of declarations. E.g. all names of scalars should be in camel case.
Specify the naming of properties, enum cases e.t.c
Specify which language features can be used. E.g. disallow maps, disallow forward references in regex validators.
Enforce the use of certain features. E.g. all string properties should have a length validator.
Enforce the use of @Term decorators on all declarations and properties e.t.c

Context

We have tools and applications that support different subsets of the language. It would be useful to enforce a common subset of functionality.
It would be useful to enforce a style guide around naming and best practices.

Hi @sanketshevkar, I'm eager to work on the pull request. Could you please assign it to me? Thanks!

hey @vr-varad
This issue is one of the ideas for GSoC'24. We suggest you to visit https://summerofcode.withgoogle.com/how-it-works
to get more details.

Please use this issue for discussion or doubts regarding this project idea.

Yes! Conversion of Concerto model to JSON AST already exists. But the linting part is missing.

Yes! Conversion of Concerto model to JSON AST already exists. But the linting part is missing.

Can you point out where the AST conversation code is written ?

You need to add file to the modelManager, that will give you a modelFile object, which has a getAST method, which would return the JSON AST.
@dselman is there any better way for this?

No, that's the way to do it if you want to ensure the AST is valid and consistent (references resolve).

Here's a tool for Open API definition linting that might spark some ideas:
https://stoplight.io/open-source/spectral

We can use Spectral as the framework for defining our own rules over the Concerto AST (JSON): https://github.com/stoplightio/spectral
Here are two sample rules:
rules:
  declaration-pascal-case:
    description: Declaration names should use Pascal case.
    message: "Declaration '{{value}}' should use Pascal case."
    severity: warn
    given: $.declarations[*].name
    then:
      function: casing
      functionOptions:
        type: pascal
  enum-value-macro-case:
    description: Enum values should use Macro case.
    message: "Enum '{{value}}' should use Macro case."
    severity: warn
    given: $.declarations[?(@.$class=="concerto.metamodel@1.0.0.EnumDeclaration")].properties[*].name
    then:
      function: casing
      functionOptions:
        type: macro

When used with this CTO:
namespace<EMAIL_ADDRESS>
enum Gender {
    o Male
    o Female
    o Other
}

concept person {
    o String name
}

To create the AST:
concerto parse --model test.cto --excludeLineLocations --output test.json

test.json:
{
  "$class"<EMAIL_ADDRESS>  "decorators": [],
  "namespace"<EMAIL_ADDRESS>  "imports": [],
  "declarations": [
    {
      "$class"<EMAIL_ADDRESS>      "name": "Gender",
      "properties": [
        {
          "$class"<EMAIL_ADDRESS>          "name": "Male"
        },
        {
          "$class"<EMAIL_ADDRESS>          "name": "Female"
        },
        {
          "$class"<EMAIL_ADDRESS>          "name": "Other"
        }
      ]
    },
    {
      "$class"<EMAIL_ADDRESS>      "name": "person",
      "isAbstract": false,
      "properties": [
        {
          "$class"<EMAIL_ADDRESS>          "name": "name",
          "isArray": false,
          "isOptional": false
        }
      ]
    }
  ]
}

Produces the output:
spectral lint test.json

/Users/dan.selman/dev/concerto-spectral/test.json
 13:19  warning  enum-value-macro-case    Enum 'Male' should use Macro case.            declarations[0].properties[0].name
 17:19  warning  enum-value-macro-case    Enum 'Female' should use Macro case.          declarations[0].properties[1].name
 21:19  warning  enum-value-macro-case    Enum 'Other' should use Macro case.           declarations[0].properties[2].name
 27:15  warning  declaration-pascal-case  Declaration 'person' should use Pascal case.  declarations[1].name

I have gone through the readme section and I am having one question that -
Do we need to create a separate package for example concerto-lint which will use spectral framework where we can define our rulesets in the form of JSON or. YML  and then we will pass the folder name via command line like concerto-lint test.json and it will validate all the json file and log all the modifications needed for the cto model

Hi. I've been looking into this project's requirements and am interested in working on it. This is my current understanding of how the linter would work for a general user, please correct me if I'm wrong-

Create concerto model.
Open up terminal and parse model using the linter cli.
Linter converts model to AST, and checks each element for rule violations (pre-specified spectral rules)
Linter reports rule violating elements as output.

Yes, that's correct! For the following point

Linter converts model to AST, and checks each element for rule violations (pre-specified spectral rules)

We already have methods in Concerto that can get you the AST, rule checking is something that you'll have to build.

Do we need to create a separate package for example concerto-lint which will use spectral framework where we can define our rulesets in the form of JSON or. YML and then we will pass the folder name via command line like concerto-lint test.json and it will validate all the json file and log all the modifications needed for the cto model ?

Something like that. It sounds like a good approach to start with.

Do we need to create a separate package for example concerto-lint which will use spectral framework where we can define our rulesets in the form of JSON or. YML and then we will pass the folder name via command line like concerto-lint test.json and it will validate all the json file and log all the modifications needed for the cto model ?

Something like that. It seems like a good approach to start with. I haven't played much around with spectral yet, so please take this with a grain of salt. On a high level it seems like a good approach to me.

Hey I have tried both options like cli and javascript ruleset both worked fine
`async function lintConcertoModel() {
const data = fs.readFileSync('./test.cto','utf8');
const model_manager = new ModelManager()
const modelFile = model_manager.addCTOModel(data,'test.cto');
const ast = modelFile.getAst();
const spectral = new Spectral();
spectral.setRuleset({
    rules: {
        "concept-name-capitalized": {
          description:"Concept names should start with a capital letter.",
          given: "$.declarations[*].name",
          message: "Declaration '{{value}}' should use Pascal case.",
          then: {
            field:"name",
            function: pattern,
            functionOptions:{
                match:"^[A-Z]"
            }
          },
        },
    }
});

spectral.run(ast).then((e)=>{
    console.log(e)
})
.catch((err)=>{

    console.log(err)
})

// return results;

}
`

Output
[ {   code: 'concept-name-capitalized',   message: "Declaration 'person' should use Pascal case.",   path: [ 'declarations', '0', 'name' ],   severity: 1,   range: { start: [Object], end: [Object] } }, {   code: 'concept-name-capitalized',   message: "Declaration 'subhajit' should use Pascal case.",   path: [ 'declarations', '1', 'name' ],   severity: 1,   range: { start: [Object], end: [Object] } } ]

hey @dselman  as this issue had been under gsoc'24 but still seems to be open , could you let me know about it if its available to work and what were the complications faced with the previous flow that was listed in the comments?
thanks

hey @dselman as this issue had been under gsoc'24 but still seems to be open , could you let me know about it if its available to work and what were the complications faced with the previous flow that was listed in the comments? thanks

Yes, the issue is still open. There wasn't any major issue with the approach described, it was just deprioritised for GSoC. I still think it would be a valuable contribution, and by leveraging Spectral should not be too costly or difficult to implement.


New package: Damask v0.1.0

Registering package: Damask
Repository: https://github.com/eisenforschung/Damask.jl
Created by: @MarDiehl
Version: v0.1.0
Commit: e38896456e15e469911efa8c645b3b962f758ddf
Git reference: HEAD
Description: Pre- and Post-Processing for DAMASK with Julia

please close, second attempt is https://github.com/JuliaRegistries/General/pull/75192


URL breaks within collapsing description

Affected module
UI
Describe the bug
There is a character limit on the description. If there is a URL that subject to that charater limit, clicking on the URL will result in an error as it looks up the URL up to the point of the charater limit.
To Reproduce

Actual description

Expected behavior
Despite only showing a certain number of characters, clicking on the URL should direct me without issues.
Version:

OS: Windows, Chrome
OpenMetadata version: 12.3

This is still broken on Table Summary page!

I'm on version 0.13.1 and still have this issue with anything markdown related

@trillhaa can you give more details on this.  URL breaking issue is fixed. But in the example above we are cutting markdown is that the issue?

yes

Hello @trillhaa , thanks for filing the issue,it has been fixed in 1.0.0.
https://github.com/open-metadata/OpenMetadata/assets/59080942/a88480fc-88fb-4ffe-8532-6c9a3436b5d9


[release-2.18.0][BEAM-8967] Maven artifact beam-sdks-java-core does not have JSR305 specified as "compile"

A tiny error we found when validating the generated pom files from the previous cherry-pick. We should be good to go after this one.
R: @udim
CC: @suztomo

Run Java_Examples_Dataflow PreCommit


fix extension building

CRX files generated with chromium are using a newer CRX format version 3. Extracting the key does not work, so the computed name of the extension does not match. Because of this the extensions are not loaded.
Instead of finding out how to extract the public key from the CRX I saved the public key alongside the CRX.
This fixes #18, #15 and #14

This seems to have fixed the default extensions that is installed with Autochrome, but when adding a custom extension to the data/extensions folder the installation fails with the error message:
```chrome_extension.rb:13:in `initialize': No key file found for extension LOCATION/OF/AUTOCHROME/extensions/extensions/extensions.crx


Fixing environment.yml for noxfile

I was just about to fix the tables bug, but found that @jorisvandenbossche beat me to it in #508 :-)
However, I found this weird bug in the environment.yml file we use to build the docs, I think because somewhere there is a python=3.10 YAML error that resolves to python=3.1, so this just explicitly defines the python version

self merging this because it's just a behinds the scenes thing and fixes a bug