UI for editing arbitrary types and FCs

This PR has two major contents:

TypeWidgetLibrary: A system to generate a UIWidget bound to an object/Binding of any arbitrary type.
NUI support for FlexibleConfig (will potentially be repurposed to support AutoConfigs introduced in #3723)

Arbitrary Type Widgets
Used to generate UIWidgets to edit any arbitrary type. Follows a system of generating widgets through TypeWidgetFactorys stored in a TypeWidgetLibrary, very similar to the TypeHandlerLibrary-TypeHandlerFactory system introduced in #3535.
You can test the widgets in the builtinTypeWidgetTestScreen (widgets for types like collections, arrays, numbers, strings, arbitrary objects) and the mathTypeWidgetTestScreen (TeraMath types like vectors, rects, and quaternions).
TypeWidgetLibrary
Contains a number of TypeWidgetFactorys which are queried to create UIWidgets. The UIWidget for an object is obtained by querying each TypeWidgetFactory until one makes a UIWidget successfully.
TypeWidgetFactory
Creates UIWidgets for objects of a specific structure/type.
TODO

[ ] Documentation

Nice-to-haves

[ ] Support recursive types by separating widget creation and binding process and caching created widgets

[ ] Dependency: Introduce widget cloning to clone cached widgets (maybe serialize-deserialize via #3535?)

FlexibleConfig/AutoConfig UI
Introduces a prototype for how UI for FlexibleConfigs will work. This PR will ultimately contain a fully working NUI frontend for FlexibleConfigs.
Workflow
TODO: Obsolete, needs to be updated
The main components of the FC NUI frontend are FlexibleConfigWidgetFactory, SettingWidgetFactory, and SettingWidget. For a usage example, please look at FlexibleConfigTestScreen. The screen can be loaded in the menus using showScreen flexibleConfigTest; it need not be loaded in-game.
FlexibleConfigWidgetFactory
The FlexibleConfigWidgetFactory is used to build widgets that render entire FCs, i.e. render all their settings. Since settings will never be used in isolation, all a caller has to do to render UI for a FlexibleConfig is call the FlexibleConfigWidgetFactory.buildWidgetFor(FlexibleConfig) method, which returns a UIWidget that can be used anywhere.
The FlexibleConfigWidgetFactory requires a ModuleManager and an AssetManager -- the former for getting the ModuleEnvironment to load SettingWidgets from, and the latter to load widgets stored in a .ui asset.
buildWidgetFor
the buildWidgetFor method builds a PropertyLayout with its settings as properties. The widget generation for a specific setting is delegated to SettingWidgetFactory.
SettingWidgetFactory
SettingWidgetFactory is responsible for creating, via reflection, a SettingWidget bound to a specific Setting. Since the constraint on a setting is truly what determines how its UI must be rendered (i.e. what options to give the user), it uses the type of SettingConstraint on the setting to load the corresponding SettingWidget. Since settings will never be used in isolation, this class will never have to be used elsewhere and can (should) safely be made package-private.
SettingWidget
The primary responsibility to render UI for a Setting falls onto the SettingWidget. It is an abstract class generic over the type of value and constraint of the setting it is bound to. Much like screens, the template for a SettingWidget can specified in a .ui file, whose URI must be specified in the SettingWidget constructor.
initialise
The widget specified in the .ui file is loaded (via loadContents) and the SettingWidget is bound to a Setting (retrievable via getSetting) before the abstract method initialise is called. The initialise method is meant to allow subclasses to add listeners and Bindings to UI widgets to set the value in the setting. This method is implemented much like CoreScreenLayer.initialise; widgets can be found using the find method and can be set up to modify the value in the bound Setting.
TODO

[ ] Documentation
[ ] Support no (null) constraint via TypeWidgetLibrary
[ ] Translation support for FlexibleConfig and Setting names and descriptions
[ ] Package protect internal classes (like SettingWidgetFactory)

Hooray Jenkins reported success with all tests good!

Rebased onto develop; please refetch the branch.

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Uh oh, something went wrong with the build. Need to check on that

Uh oh, something went wrong with the build. Need to check on that

Uh oh, something went wrong with the build. Need to check on that

Hooray Jenkins reported success with all tests good!

Uh oh, something went wrong with the build. Need to check on that

Hooray Jenkins reported success with all tests good!

Uh oh, something went wrong with the build. Need to check on that

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

This pull request introduces 1 alert when merging a2231bfeeb7b5d99102524e54bb30d7daaf495df into e6282bb17864c1d058abac3eb3f8643a93509803 - view on LGTM.com
new alerts:

1 for Dereferenced variable may be null

Warning - Automated code review for MovingBlocks/Terasology will be disabled on October 1, 2019. You can avoid this by installing the LGTM.com GitHub App. Read about the benefits of migrating to GitHub Apps in the blog.

Comment posted by LGTM.com

This pull request introduces 1 alert when merging cb44fe90eda8030ec49ccb830b79fe4c3dee74e1 into 6ce026dbc434d90fd63275a09fa4bbb06c7c9800 - view on LGTM.com
new alerts:

1 for Dereferenced variable may be null

Warning - Automated code review for MovingBlocks/Terasology will be disabled on October 1, 2019. You can avoid this by installing the LGTM.com GitHub App. Read about the benefits of migrating to GitHub Apps in the blog.

Comment posted by LGTM.com

Hooray Jenkins reported success with all tests good!

This pull request introduces 1 alert when merging 4c18d37c91d176a22fefe8a195fa11d189e585d6 into 8edc612548eb9582902a761e1d6dee8679c6dcf5 - view on LGTM.com
new alerts:

1 for Dereferenced variable may be null

Warning - Automated code review for MovingBlocks/Terasology will be disabled on October 1, 2019. You can avoid this by installing the LGTM.com GitHub App. Read about the benefits of migrating to GitHub Apps in the blog.

Comment posted by LGTM.com

Rebased, please re-fetch.

Uh oh, something went wrong with the build. Need to check on that

Hooray Jenkins reported success with all tests good!


Missing dependencies (when building with npm i)

Getting a 404 error when installing the project. The endpoint for the version of sass being downloaded no longer exists (version 4.8.3). I think this may be the latest build for windows users: https://github.com/sass/node-sass/releases/download/v4.11.0/win32-x64-67_binding.node
Cloning with:
git clone https://github.com/artf/grapesjs-preset-webpage.git && cd grapesjs-preset-webpage
Installing with:
npm i
First few lines of the error:
><EMAIL_ADDRESS>install C:\Users\David\Documents\dev\grapesjs-preset-webpage\node_modules\node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.8.3/win32-x64-64_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.8.3/win32-x64-64_binding.node":

HTTP error 404 Not Found

Running on 64 Bit Windows 10 installation.

I solved the problem by setting the node-sass version in the package.json to the last version
"devDependencies": {
  "node-sass": "^4.12.0",
},

Or install sass globally usingnpm install - g


[dav1d] update to 0.9.2

Fix https://github.com/microsoft/vcpkg/issues/24299
Update port dav1d to the latest vsersion 0.9.2
Note: no feature need to test

Thanks for the update!


BUG/DOC: spatial: docstrings of Rotation methods are missing the function signature.

Describe your issue.
The docstrings of the methods of scipy.spatial.transform.Rotation are missing the function signature in their first line.  See, for example, https://scipy.github.io/devdocs/reference/generated/scipy.spatial.transform.Rotation.from_euler.html, where the page shows Rotation.from_euler() as the signature.
These methods are implemented in Cython, so either the signature must be manually added as the first line of the docstring, or the Cython decorator or compiler directive embedsignature should be used.
SciPy/NumPy/Python version information
1.10.0.dev0+1555.eecd600 1.24.0.dev0+568.g606fa1fb6 sys.version_info(major=3, minor=10, micro=1, releaselevel='final', serial=0)

@Quantaforce https://scipy.github.io/devdocs/dev/dev_quickstart.html is a good starting point


Please add ogg/Vorbis and Opus support.

I'm submitting a...

Feature request

Desired behavior:

Please add support for ogg/Vorbis and Opus playback. Ideally also streamed from OneDrive.

https://www.microsoft.com/store/productId/9N5TDP8VCMHS


Change cancel request log from warn to debug

This log message occurs often and should really be DEBUG or INFO rather than WARN level.

Makes sense! Feel free to merge, I don't have permissions to do so. Thanks!

Will do! Apologies for the delay; still looking for time after work to give it a real-world usability test on my end. I'll merge this PR as soon as I can.

Okay, I've just given this a go. Looks great! Thanks again for this pull request.


Can't build with error "cannot find symbol"

Took a day to upgrade to cordova 9.0.0 and nodejs to 14+ to be able to use this plugin.
Had to add a bunch of modules manually, not sure why.  ---
Trying to build dev android app fails
> Task :app:compileDebugJavaWithJavac FAILED
/home/app/dev/Ionic-app/apps/gf-mobile-mobileapps/card-control/platforms/android/app/src/main/java/org/apache/cordova/firebase/FirebasePlugin.java:638: error: cannot find symbol
                    final boolean activated = FirebaseRemoteConfig.getInstance().activateFetched();
                                                                                ^

  symbol:   method activateFetched()

  location: class FirebaseRemoteConfig
/home/app/dev/Ionic-app/apps/gf-mobile-mobileapps/card-control/platforms/android/app/src/main/java/org/apache/cordova/firebase/FirebasePlugin.java:684: error: cannot find symbol

                    byte[] bytes = FirebaseRemoteConfig.getInstance().getByteArray(key);

                                                                                ^

Not sure what else to try?

Strange,  some reason its use the wrong file for this plugin.   Is this a problem in the ionic plugin,  I'm using
"@ionic-native/firebase-config": "^4.20.0",
When it builds its using  app/card-control/platforms/android/app/src/main/java/org/apache/cordova/firebase   FirebasePlugin.java
When it should be using
app/card-control/platforms/android/app/src/main/java/by/chemerisuk/cordova/firebase
FirebaseConfigPlugin.java
I guess I'll copy it over the files and see what happens?

Must be scanning to look for these files,  I renamed it and moved the old one and it still found it.
Scanning the wrong directory?


Divide by 0 error with Mechanical User in ExtraUtilities2

[x] I am using a release version of the mod
[x] I have mods that integrate with this installed:

[x] Tinker's Construct
[x] Mine Factory Reloaded
[x] Mine Addons
[ ] Moo Fluids
[x] Waila
[x] Avaritia

[x] I also have other mods installed
[x] I have searched for this issue previously and it was either (1) not previously reported, or (2) previously fixed and I'm having the same problem.
[x] I am crashing and can provide my crash report(s)

Additional Information

Java Version:

[ ] Java 6
[ ] Java 7
[x] Java 8

Minecraft Version:

[x] 1.10.2

Issue Description
Using this in Foolcraft v2.9.1. I summoned in a Mini Moo over a Mechanical User, and then moved over the mechanical user as well. My world crashed with an error, and I can't open it anymore. However, this hasn't happened before, not until yesterday, when I updated it and used some Thaumcraft (although nothing to interfere with the mechanical user).

Reproduce Steps
Not sure.

Additional Information
net.minecraft.util.ReportedException: Ticking block entity
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:715) ~[MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) ~[MinecraftServer.class:?]
	at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:240) ~[bzl.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
Caused by: java.lang.RuntimeException: Error while interacting with block minecraft:air with 1xitem.bucket@0. Method:ENTITY  Button:RIGHT_CLICK
	at com.rwtema.extrautils2.tile.TileUse.operate(TileUse.java:289) ~[TileUse.class:?]
	at com.rwtema.extrautils2.tile.TileAdvInteractor.func_73660_a(TileAdvInteractor.java:93) ~[TileAdvInteractor.class:?]
	at net.minecraft.world.World.func_72939_s(World.java:1804) ~[aid.class:?]
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:620) ~[ls.class:?]
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:709) ~[MinecraftServer.class:?]
	... 4 more
Caused by: java.lang.ArithmeticException: / by zero
	at com.ricardothecoder.minimoos.entities.EntityFluidMoo.func_184645_a(EntityFluidMoo.java:412) ~[EntityFluidMoo.class:?]
	at net.minecraft.entity.EntityLiving.func_184230_a(EntityLiving.java:1403) ~[sg.class:?]
	at net.minecraft.entity.player.EntityPlayer.func_184822_a(EntityPlayer.java:1161) ~[zs.class:?]
	at com.rwtema.extrautils2.compatibility.CompatHelper.interactOn(CompatHelper.java:80) ~[CompatHelper.class:?]
	at com.rwtema.extrautils2.tile.TileUse.operate(TileUse.java:280) ~[TileUse.class:?]
	at com.rwtema.extrautils2.tile.TileAdvInteractor.func_73660_a(TileAdvInteractor.java:93) ~[TileAdvInteractor.class:?]
	at net.minecraft.world.World.func_72939_s(World.java:1804) ~[aid.class:?]
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:620) ~[ls.class:?]
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:709) ~[MinecraftServer.class:?]
	... 4 more

@datitisev Hi there, I'm sorry for the late response. I will look into this and fix it on the next version for 1.10, it should also be fixed the upcoming version for 1.12.
It is taking a lot longer then I wanted to fix these problems and update the mod cause I have been handling both work and personal issues. Sorry for the inconvenience.
I will get back to you as soon as I have a fix for the problem, Thanks

@RicardoTheCoder No problem!
I understand people have their own lives and personal issues.
Glad you'll work on a fix, though. 🙂


ola.hallengren.com results in a timeout

Description of the issue
When browsing to ola.hallengren.com for the documentation I get a timeout. Tried on multiple devices / connections.

It's not just you.  downforeveryoneorjustme.com says it's down for everyone.

Site is back up, can close this issue out :)


Fix(Transaction-UI) : toggle menu-change with conditional dropdown and close.

#16429
Solved the issue of transition  and NFT section has as highlighted in the issue link above

PS. This PR is the fix for https://github.com/taikoxyz/taiko-mono/issues/16429
Where The issue was that the transaction panel is not reversing in The Bridge UI as shown in the issue

This does not fix the problem and just by looking at the change this should be obvious


More comparable queries for Mongoose vs Prisma documentation

Describe this PR
Some queries comparisons were different between mongoose and prisma, it's better to keep the sam queries and data to highlight the differences accurately.
Changes
Queries and some data to for a more accurate comparison

Thanks so much, @HommeSauvage !


HTTP 429 Too Many Requests.

Verify it's not a duplicate bug report

[X] I searched for similar bugs reported on GitHub and nobody has reported a similar issue. Search all issuees.
[X] I read Troubleshooting guide on Readme and there is not a guide on how to solve my problem.

Describe the Bug
HTTP 429 Too Many Requests. Too many requests try again later. You can clear your API Key from VS Code's secrets storage with Genie: Clear API Key command. Potential reasons:
You exceeded your current quota, please check your plan and billing details
You are sending requests too quickly
The engine is currently overloaded, please try again later.
See https://platform.openai.com/docs/guides/error-codes for more details.
{
"error": {
"message": "You exceeded your current quota, please check your plan and billing details.",
"type": "insufficient_quota",
"param": null,
"code": null
}
}
Please tell us if you have customized any of the extension settings or whether you are using the defaults.
default
Additional context
No response

I am also facing this. I think getting this error may be because the free account has run out of money for the trial.

I am getting this error too. Idk whether the reason is i am using a VPN.
But the chatGPT on web still works normally, it seems to be a problem of API.

Facing the exact same here. I couldn't get it working yet

I have the same issue in vscode.

Hi, As the error states you have insufficient_quota error thrown from OpenAI side, it is out of extension's control. However, here are some steps that may help you understand your issue:

Make sure your account hasn't expired from here: https://platform.openai.com/account/usage
Make sure you have enough credit to use OpenAI APIs from here: https://platform.openai.com/account/usage
Try generating a new API Key and change the API Key used in the extension from here: https://platform.openai.com/account/api-keys. To change your API Key, Click on Change API Key on the home page of the sidebar Genie: Conversation view.

If you have an active account with credit it will show on the /usage page like this:

Guys, please try to search for a similar issue before posting.
Most developers (including me) would just close this issue with a remark that this is a duplicate since this is exactly the same issue as https://github.com/ai-genie/chatgpt-vscode/issues/25
@genieai-info when someone is trying to post a new issue, they currently have those two checkboxes
[ ] I searched for similar bugs reported on GitHub and nobody has reported a similar issue. [Search all issuees](https://github.com/ai-genie/vscode-chatgpt/issues?q=). *

[ ] I read [Troubleshooting guide on Readme](https://github.com/ai-genie/vscode-chatgpt#troubleshooting) and there is not a guide on how to solve my problem. *

Adding a new section with some additional checkboxes might be a good idea.
Additional checks in case of 429 Too Many Requests error
Confirm that you did check and understood all of the following
[ ] I have read the ChatGPT IDE FAQ, and I am aware that OpenAI IDE is not part of the ChatGPT Plus subscription and that I need to pay for it separately
[ ] I have checked that my account is not expired
[ ] I have checked that I have enough credit on my account
[ ] I have tried to use cURL, and I am not getting the 429 error with cURL

Good point, but I've tested with different api keys and problem just only with your extension. When I'm doing request with other application, the problem is not appearing

was getting this error, signed up for a brans new chatGPT account and new api key and im still getting this error

i also made a brand new account and was still getting the error, it was only when i set up a new phone number then it stared working again, but it says i got a 5USD credit which will expire fast, so i guess the problem was not having enough credit.. sadly

Clean up the key first, and then add a new key. try again

clean and add a new key, doesn't work. I have chatgpt plus api.

Same here. Cleaned, created a new one, still doesn't work

I also have the same issue with this extension. Cleaned API key and added a new one, still the same issue.

Got the same problem today.
i have tried to reset the new api key but it's still not work.

I have remedied this problem by adding a payment method.

i aslo found the way to solve the problem. The way is register the new account...

Same here. Cleaned, created a new one, still doesn't work

same here, still working fine on chat.openai.com, but using Genie, it does not work

Guys, I am sorry to be "that" guy, but with all due respect, is it hard to read what other people write and check a few simple things?
You have to understand that you need a free trial of OpenAI API or pay for it. It is not part of ChatGPT Plus, and if chat.openai.com works for you, that doesn't mean you have the right to use API and that it will work.
Even if you didn't spend any of your credit

you can't use the API if your trial is expired

and you will get 429 responses every single time, even if you create 100 new keys.
I was also confused at first and complained that the previous plugin didn't work for me until I finally realized I was wrong from the beginning.
The only way to help developers is to resolve the bug, if it exists, is to understand this message, check everything on your side, test your key with cULR and post the response if it is anything other than 429.
Please do all of those:

read the ChatGPT API FAQ
check your Usage limits. "You must be on a paid plan to set up usage limits" means that you are using a free API trial, even if you are ChatGPT Plus subscriber
if you didn't pay for API, check your account and see if your trial is expired
on the same page, check that you have  enough credit if the trial is not expired
if everything is fine there, check with cURL and post the result

clean and add a new key, doesn't work. I have chatgpt plus api.

I am sorry, but I have to tell you the sad truth. API usage is not included in your ChatGPT Plus subscription. You need to pay for API or to use the free trial if you want to use API. Read the ChatGPT API FAQ

https://platform.openai.com/account/usage

Guys, I am sorry to be "that" guy, but with all due respect, is it hard to read what other people write and check a few simple things?
You have to understand that you need a free trial of OpenAI API or pay for it. It is not part of ChatGPT Plus, and if chat.openai.com works for you, that doesn't mean you have the right to use API and that it will work.
Even if you didn't spend any of your credit
you can't use the API if your trial is expired
and you will get 429 responses every single time, even if you create 100 new keys.
I was also confused at first and complained that the previous plugin didn't work for me until I finally realized I was wrong from the beginning.
The only way to help developers is to resolve the bug, if it exists, is to understand this message, check everything on your side, test your key with cULR and post the response if it is anything other than 429.
Please do all of those:

read the ChatGPT API FAQ
check your Usage limits. "You must be on a paid plan to set up usage limits" means that you are using a free API trial, even if you are ChatGPT Plus subscriber
if you didn't pay for API, check your account and see if your trial is expired
on the same page, check that you have  enough credit if the trial is not expired
if everything is fine there, check with cURL and post the result

Yeah, now I see why. It's a twisted and tricky move from openai to make these two billed separately. That's why a lot of people got confused I guess even with the instructions above.
So yes,

Is the ChatGPT API included in the ChatGPT Plus subscription?: No, the ChatGPT API and ChatGPT Plus subscription are billed separately.

Yeah, now I see why. It's a twisted and tricky move from openai to make these two billed separately. That's why a lot of people got confused I guess even with the instructions above.

I have a feeling that a lot of Plus subscribers would never pay for it if they knew that they cannot use API. Also, in most cases, it is also much cheaper to pay for API than to pay for a Plus subscription.

Yes I just calceled my subscription. Will test how much I consumed with the
api. Thanks to this extension 🤣
On Fri, Apr 7, 2023, 11:04 viking1304 @.***> wrote:

Yeah, now I see why. It's a twisted and tricky move from openai to make
these two billed separately. That's why a lot of people got confused I
guess even with the instructions above.
I have a feeling that a lot of Plus subscribers would never pay for it if
they knew that they cannot use API. Also, in most cases, it is also much
cheaper to pay for API than to pay for a Plus subscription.
—
Reply to this email directly, view it on GitHub
https://github.com/ai-genie/chatgpt-vscode/issues/51#issuecomment-1500095133,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD2IFY4DBP2O4LX3GE7R2VTW77KBZANCNFSM6AAAAAAWQYPS34
.
You are receiving this because you commented.Message ID:
@.***>

How come my free API account expired on April 1st when it was created today (April 14) ?!?
Did it expire backwards in time?
Is this a negative free time? 😶

How come my free API account expired on April 1st when it was created today (April 14) ?!? Did it expire backwards in time? Is this a negative free time? 😶

Same. I just installed Genie yesterday on VSCode and it said I have expired credits which expired on the 1st.

@oywino and @kennyan11b - if you applied for a DALL·E access before, your API trial started when you got confirmation mail that you can try DALL·E
Check your emails and see if you have a mail titled "Your invite to create with DALL·E is here." If you have it check the date.
btw. new accounts will get only $5.00 credits instead of $18.00. If you see $18.00, you can be 99.99999999% sure that your trial is already expired.

Hi, I decided to sign up, and mine now looks like this:

Hey, Is there a way to use this extension without needing a login?

Hey, Is there a way to use this extension without needing a login?

You can use ChatGPT - EasyCode, no account or API key required

Create a New GPT account and log in by using this one. It will be solved 100% .

I'm facing the same issue with HTTP 429 even though I have a credit of $2500 and have paid a subscription.

What a scam.


[Feature]: New concept in Javascript "Closures in javascript"

Feature Name
Add new concept in javascript
Feature Description
Adding closures concept in javascript section. It contains detailed explanation of clousres in javascript.
Motivation
It provides users information about one of the important concept in javascript that is "Closures".
Implementation Suggestions (Optional)
No response
Feature Type
Documentation Enhancement
Does this feature require additional resources?

[ ] Additional Documentation
[ ] Third-Party Libraries
[ ] UI/UX Design
[ ] Other

References (Optional)
No response

@AmanPathan can you close feature issue and open document issues


F-measure

Hi~There are some doubts about F-measure calculation. In your performCalcu.m file, the MaxFmeasure calculation ignore the case "(0.3*Metrics.Pre+Metrics.Recall) = 0", i add a small epsilon(1e-8) and the final max F-measure exists some error with yours (about 0.01 less, eg. PiCANet in ECSSD). I want to know how you solve or avoid this case. Maybe i have something wrong with precision and recall??? I use the pre-computed saliency maps you supported.
Thanks !
Metrics.mean_Fmeasure_image = mean_Fmeasure;
Metrics.MAE_image = MAE;
Metrics.S_measure_image = S_measure;
Metrics.TPR_image = TPR;
Metrics.FPR_image = FPR;
Metrics.Pre_image = Pre;
Metrics.Recall_image = Recall;

Metrics.Fmeasure_Curve                  = (1+0.3).*Metrics.Pre.*Metrics.Recall./...
                                            (0.3*Metrics.Pre+Metrics.Recall);
%%%%% in case "(0.3*Metrics.Pre+Metrics.Recall) = 0", i'll get Nan in Fmeasure_Curve %%%%
[Metrics.MaxFmeasure, ind]              = max(Metrics.Fmeasure_Curve, [], 1);
Metrics.IoU_at_maxF                     = Metrics.IoU(ind);
[Metrics.maxIoU, ~]                     = max(Metrics.IoU, [], 1);
Metrics.meanIoU                         = mean(Metrics.IoU, 1);

Sorry， i have solved this problem, thanks a lot!


Bigint value from PostgreSql lost precision query by dapr.

I use dapr in a k8s cluster, when call binding API through daprd, this problem happend.
Code with rust:

Data in PostgreSql:

Container log:

And then http response transmitted to my curl terminal (on windows):

Obviously, the value in database is<PHONE_NUMBER>661260800, but changed to<PHONE_NUMBER>661261000 by dapr, and this problem also occurs on the others data line.
So, I wanna know how this comes out, or some configure missed.
Please help, thanks!

I don't use JavaScript.

And more, I have two service A and B, the code show above is in A, the flow chart shows below:
Period 1: generate id and save to PG.

All is OK.
Period 2: query id from PG.

Period 1 and 2 show the totally flow, and I promise this problem is not about JS cause I did not  use it.
I wanna know what happend in step 5 and step 6 within period 2, I think that's the key position problem occurs on.
Maybe you can run a test for verify this problem.

Sorry, it looked like JS but now I see it’s Rust instead.
Can you please share:

Which component are you using? Postgres binding or state store?
How are you querying the database? Can you please share the code you use to invoke Dapr?
How are you parsing the response? Can you please share the code?
Can you please share the raw data returned by Dapr to your application? That’s the raw request body, before your application parses it.

Postgres binding

log

code:

I don't rust-sdk to parse the result, but the byte stream accepted from daprd showed above in log.
raw data is also above. the key code:

Is there somewhere I can check the data interaction within dapr? such as runtime log or else.

This is unlikely going to be in the logs because we don't log data, as that may contain PII or other sensitive data.
Last things please:

could you please share the table schema?
could you confirm what version of Dapr you're using?

I have an idea where the issue could be coming from, and I'll check tomorrow morning

Table "public.user"
Column      |            Type             | Collation | Nullable | Default
-----------------+-----------------------------+-----------+----------+---------
id              | bigint       |           | not null |
name            | character varying(64)       |           | not null |
profile_picture | character varying(64)       |           |          |
gender          | gender                      |           |          |
phone           | character varying(64)       |           |          |
email           | character varying(64)       |           |          |
create_time     | timestamp(6) with time zone |           | not null |
update_time     | timestamp(6) with time zone |           | not null |
active          | boolean                     |           | not null |
desc            | character varying(128)      |           |          |
Indexes:
"pk_panilake_user_id" PRIMARY KEY, btree (id)
"uk_panilake_user_name" UNIQUE CONSTRAINT, btree (name)
Referenced by:
TABLE "profile" CONSTRAINT "fk_panilake_profile_id_from_user_id" FOREIGN KEY (id) REFERENCES "user"(id)
TABLE "rel_org_user" CONSTRAINT "fk_panilake_rel_org_project_project_id_from_user_id" FOREIGN KEY (user_id) REFERENCES "user"(id)
TABLE "rel_role_user_project" CONSTRAINT "fk_panilake_rel_role_user_project_user_id_from_perm_id" FOREIGN KEY (user_id) REFERENCES "user"(id)

Table "public.user"
Column      |            Type             | Collation | Nullable | Default
-----------------+-----------------------------+-----------+----------+---------
id              | bigint                      |           | not null |
name            | character varying(64)       |           | not null |
profile_picture | character varying(64)       |           |          |
gender          | gender                      |           |          |
phone           | character varying(64)       |           |          |
email           | character varying(64)       |           |          |
create_time     | timestamp(6) with time zone |           | not null |
update_time     | timestamp(6) with time zone |           | not null |
active          | boolean                     |           | not null |
desc            | character varying(128)      |           |          |
Indexes:
"pk_panilake_user_id" PRIMARY KEY, btree (id)
"uk_panilake_user_name" UNIQUE CONSTRAINT, btree (name)
Referenced by:
TABLE "profile" CONSTRAINT "fk_panilake_profile_id_from_user_id" FOREIGN KEY (id) REFERENCES "user"(id)
TABLE "rel_org_user" CONSTRAINT "fk_panilake_rel_org_project_project_id_from_user_id" FOREIGN KEY (user_id) REFERENCES "user"(id)
TABLE "rel_role_user_project" CONSTRAINT "fk_panilake_rel_role_user_project_user_id_from_perm_id" FOREIGN KEY (user_id) REFERENCES "user"(id)

dapr info of operator:

I just change the code from u64 to string. :joy:

@TaurusM I can reproduce the issue and will work on a fix.
Yes, changing from bigint to string would work, but then you have a primary key in your table that is a string, and that's MUCH less efficient.

@TaurusM looks like the problem is the use of the to_json function in postgres.
If you return the rows as-is, it will work and won't cast to float64.
SELECT row_to_json(users.*) FROM users

Causes the value to be unserialized into a float64
While
SELECT * FROM users

Works

@ItalyPaleAle Yes you are right.

@ItalyPaleAle
You mean it's the row_to_json function in postgres cause the problem?

For test, I created a table named test under schema public:
               Table "public.test"
 Column |  Type  | Collation | Nullable | Default
--------+--------+-----------+----------+---------
 id     | bigint |           |          |

insert a test value:
         id
---------------------
<PHONE_NUMBER>655564288
(1 row)

I test it with 3 sql commands, and with some codes.
select * from public.test;
select row_to_json(test.*) from public.test;
select row_to_json(t.*) from public.test t;
the log result:
1.

So, obviously it's row_to_json function caused the problem, which is the root cause.
Thank you very much! @ItalyPaleAle :joy::joy::joy:

Yea that's by design sadly and it's due to returning JSON from Postgres. What you could do it you absolutely need JSON data, you can try casting it to string: to_json(u.*)::string
I haven't tested that but should work.

OK, thank you!


factor repr_html into a more standalone utility?

I have come to truly love dask's repr_html svg representation of arrays. It has become an invaluable way to communicate with colleagues about complex high-dimensional array computations. Here's an example of the sort of data we regularly work with:

which I used in a recent Pangeo discourse discussion.
I frequently find myself wishing I could use this visualization technique  without dask, e.g. with zarr arrays, which have many (but not all) of the same attributes (shape, chunks, dtype; but not tasks).
It would be nice to be able to write code like
array_html_repr(some_array)
# or
class SomeArrayClass:
    def _html_repr_(self):
        return array_html_repr(self)

and have it just work with any array that implement certain properties. (Could even do something with numpy arrays.)
I have examined the html_repr code a bit, and it looks like this would not be to hard. It could live either

inside dask, in a form we can easily import into other projects
in a small, standalone project, e.g. dask/array_html_repr

Does anyone else think this might be a good idea?

I'm -0.5 on pulling this functionality out of dask - synchronizing dependencies and releasing multiple projects makes maintenance slightly trickier. If having it live in dask, but in a more public location would be acceptable, I'd happily accept a PR doing so.

If having it live in dask, but in a more public location would be acceptable

Would definitely work for my purposes!

It seems that the implementation in Array._repr_html_ depends on ._meta, .nbytes, .dtype, ._dask_graph__, .npartition, .shape, .chunksize. Obviously, some of these are specific to the dask implementation.
@rabernat , what do you imagine passing to a more generic HTML repr function, and what would it display?

If there is no further discussion here, I would be tempted to close.


PII is not scrubbed?

Testing #172057
I am calling this:
logger.logUsage("myEventName token=1234 /Users/bpasero/Development/Microsoft/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.ts");
logger.logError(new Error("foo token=1234 /Users/bpasero/Development/Microsoft/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.ts"));
logger.logError("hello error token=1234 /Users/bpasero/Development/Microsoft/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.ts");

And in my handler I just console.log and I get:
[Extension Host] sendEventData:  undefined_publisher.test-telemetry-api-ts/hello error token=1234 /Users/bpasero/Development/Microsoft/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.ts

Oh, it seems to work when sent as Record, so maybe it only applies there?


Note the old raft config will be deprecated

Purpose of the PR

close https://github.com/apache/incubator-hugegraph/issues/2660

Main Changes
Place the raft configurations at the bottom of the properties file and mark it as being deprecated.

Verifying these changes

[x] Trivial rework / code cleanup without any test coverage. (No Need)
[ ] Already covered by existing tests, such as (please modify tests here).
[ ] Need tests and can be verified as follows:

xxx

Does this PR potentially affect the following parts?

[ ]  Dependencies (add/update license info & regenerate_dependencies)
[ ]  Modify configurations
[ ]  The public API
[ ]  Other affects (typed here)
[x]  Nope

Documentation Status

[ ]  Doc - TODO
[ ]  Doc - Done
[x]  Doc - No Need

@imbajin PTAL~
This PR is related to "Mark raft-mode configs as legacy (put them on the bottom - properties)" of  https://github.com/apache/incubator-hugegraph/issues/2575


Having an engine.cfg file in ~ (as in /home/username) stops the project list from running

My system information: http://pasted.co/ca4970b9
How to reproduce:

Copy a valid engine.cfg from any Godot project to your home folder
Open Godot executable via shortcut or double click.

What happens is that Godot does not open the project list while the cfg file is there, instead it tries to run the project (not in the editor, but actually run it).

I can reproduce it with 2.x by putting engine.cfg and with master putting godot.cfg on ~/

https://github.com/godotengine/godot/blob/master/drivers/unix/dir_access_unix.cpp#L244
this getcwd(real_current_dir_name,2048); makes real_current_dir_name pointing to ~ directory.

After doing some looking into this it appears that godot tries to start from pwd and move down each directory and checks for an engine.cfg. This seems to me to be entirely undesirable on unix systems at least, but I can't imagine it being particularly great on Windows and MacOS either.
Would someone object if I change this behavior to just look for engine.cfg in the current workdir rather than try each path all the way to the root?

Well, I guess the idea is similar to how git works -- it starts in the current directory and moves up until it reaches .git (or filesystem end). If we do this, it would make it impossible to start godot from somewhere deep within the project tree, but only from the project's root (not that I object personally, but maybe it is useful in some cases).
For an exercise, try putting a .git/ folder in ~ :wink:

Actually probably the following paths should be checked:

Current workdir
The directory of the binary itself

This way launching a godot game from a different directory will still work (for e.g launchers) and running godot in your project directory will still open it. Maybe for a tools build we should default to the editor rather than running the project though.
Thoughs?

BTW, duplicate problem of the closed #7234 (but this one shouldn't be closed anyway, since it is more complete)

@bojidar-bg I understand the idea behind it but I think for godot it's less expected than for git. (I hadn't seen your comment before typing my previous one)
I'm not sure if people will actually expect it to pick up an engine.cfg from anywhere below. Going past the user's homedirectory 'down' (which it does now) seems a little strange also. There really shouldn't be a godot.cfg in / :)

@hpvb Sounds cool, yeap, just make sure running the game with #7470 applied still works.

@bojidar-bg very, very bad indeed :P What were you agreeing to exactly? :D

@hpvb I was agreeing to:

Actually probably the following paths should be checked:

Current workdir
The directory of the binary itself

@bojidar-bg Any thoughts on opening the editor by default rather than running the project with a 'tools' build? I'd rather see a '-r ' rather than make '-e ' the exceptional case.

@hpvb Maybe we don't need to change this behaviour, but if it need changing, then -r to force-run makes some sense.

I'm fine with the above proposal, just not with:

Any thoughts on opening the editor by default rather than running the project with a 'tools' build? I'd rather see a '-r ' rather than make '-e ' the exceptional case.

So far there hasn't been many requests to change that, so it's probably not that important. Also, I prefer having a game start in a couple seconds, close it, and append -e to the command line to open the editor instead, than having the editor start in 15 s, close it, and append -r because I actually wanted to play the game. And having -e as an additional option for the tools build makes more sense than changing the default behaviour compared to non-tools build and having instead another -r argument to force the non-tools behaviour.

OK, I'll limit myself to the path changes then.

this no longer needs fixing, given the access to datapacks changed.
Godot will try to run the project by default if a project.godot is found at that directory, this is not a bug but a feature. It also allows you to use the editor binary for testing deploys.

Actually still needs fixing, but #11539 fixes it.

Thanks for the fix! Really appreciate it.


Simple test to do clang/asan builds on gz-math

Inspired by robotlocomotion/drake's approach

whoops.  @ahcorde I think I actually found a better way of doing this.  I'm going to revert.


[FLINK-23908][runtime] Hint user about possibly non-deterministic shu…

https://issues.apache.org/jira/browse/FLINK-23908

@flinkbot run azure

Failed with https://issues.apache.org/jira/browse/FLINK-22889

@flinkbot run azure

@tillrohrmann Thanks for the review! I've addressed your comments.
Backport PRs are available here:

https://github.com/apache/flink/pull/16943 (1.12)
https://github.com/apache/flink/pull/16942 (1.13)

Great, thanks @dmvk. I'll merge them once Azure gives green light.


[Question & Doc Typo] What's the difference between ComposerModel.get_metrics() and ComposerModel.metrics()?

Question

composer.ComposerModel.get_metrics()
composer.ComposerModel.metrics()

I was planning on implementing the get_metrics method for ComposerModel, but upon reading through the documentation for ComposerModel, I noticed there were 2 methods: get_metrics and metrics. They both have similar parameters: is_train and train, and though they have similar (yet different) outputs, the documentation still felt a bit unclear.
Why are there 2 similar methods and what are their differences?
Typo
Unrelated, this might be a bit nitpicky, but I also found a small typo in this page. Why do the 2 methods have different parameter names?

metrics = model.get_metrics(is_train=False)

The first line's parameter is changed from train to is_train as per:

Much appreciated! 😄

Hi @alckasoc, the metrics function is deprecated (https://github.com/mosaicml/composer/blob/457717427e4d84f645e04fd801e79ab45fd26877/composer/models/base.py#L199-L202) and will be removed. You can use get_metrics :) Thanks!


Issue when configuring storage option MySQL for NanoMDM

Following is an error occured on Ubuntu Server 22.04LTS and also on MacOS Ventura 13.2.1 with their respective os-specific versions of NanoMDM(both on amd64 platforms) while configuring runtime with an external SQL Server.

Command input: ./nanomdm-linux-amd64 -ca ../../CertificateChain/ca.pem -api api_key -storage mysql -storage-dsn user:password@tcp(db.ip.address:port)/mdm

Command output: -bash: syntax error near unexpected token ('`
Normal workarounds to this leads to the following error as follows:

Command input (Attmept 1): ./nanomdm-linux-amd64 -ca ../../CertificateChain/ca.pem -api api_key -storage mysql -storage-dsn "user:password@tcp(db.ip.address:port)/mdm"
Command input (Attempt 2):./nanomdm-linux-amd64 -ca ../../CertificateChain/ca.pem -api api_key -storage mysql -storage-dsn user:password@tcp\(db.ip.address:port\)/mdm

Command output: flag provided but not defined: -storage-dsn

Enclosing in single quotes should work:
./nanomdm-linux-amd64 -ca ../../CertificateChain/ca.pem -api api_key -storage mysql -storage-dsn 'user:password@tcp(db.ip.address:port)/mdm'
Using single quotes passes the argument as-is.

The utilisation of single quotes has resulted to the same error as before
Command Output :  flag provided but not defined: -storage-dsn
I have also tested another way of input and the same issue arises
Command test Input : ./nanomdm-linux-amd64-v0.5.0/nanomdm-linux-amd64 -ca ../../CertificateChain/ca.pem -api api_key -storage mysql -storage-dsn='user:password@tcp(db.ip.address:port)/mdm'

Eh, sorry, I misread the original error. The current tagged release (v0.5.0) still uses -dsn, not -storage-dsn. The flag was changed to -storage-dsn after v0.5.0.

Ah, good catch Kory. Yes, the flag name changed.
fwiw this is documented in the ops guide. perhaps we can make that more visible.
or I just need to get on top of a newer release. :)

My apologies for the late reply but thanks for the clarification.
To be frank would be preferable to make it clear in the example explaining the usage of mysql :)


Add releases to travis

Upon creation of a tag:

push images and helm charts with the tag name
create a draft release on github

Also requires modifying https://github.com/IBM/the-mesh-for-data-flight-module/blob/master/module.yaml to have proper version information and correct tags. Plus fixing versions in https://github.com/IBM/the-mesh-for-data-flight-module/blob/master/helm/afm/Chart.yaml.
Would have been nice to have https://github.com/IBM/the-mesh-for-data/issues/12 first.

Also must avoid tagging latest because Helm won't support it in the future

Also must avoid tagging latest because Helm won't support it in the future


writingDirection doesn't work on Android

My app can be used in different languages, including Hebrew (which is RTL).
For all of my text elements, I am using:
writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr'
This works flawlessly on iOS, but doesn't work on Android. The text (which combines Hebrew and English) is messed up, only on Android.
React Native version:
React Native Environment Info:
System:
OS: macOS 10.14.6
CPU: (12) x64 Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz
Memory: 18.14 MB / 32.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.14.2 - /usr/local/bin/node
Yarn: 1.12.3 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
SDKs:
iOS SDK:
Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
Android SDK:
API Levels: 23, 25, 26, 27, 28
Build Tools: 27.0.3, 28.0.3
System Images: android-26 | Google APIs Intel x86 Atom, android-27 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6<IP_ADDRESS>22156
Xcode: 10.3/10G8 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: 0.59.10 => 0.59.10
npmGlobalPackages:
react-native-cli: 2.0.1## Steps To Reproduce

Please provide reproducible demo code


Two Handed With Unique Interaction Points Per Hand

Hi All!!
Firstly I love Newton VR! Its been a life saver.
Sorry if this is the wrong place for this, but I was curious as to if Newton VR will ever support Two Handed Control with unique interaction points for each Hand (I know it supports two handed interactions, but as of now when I pick something up with two hands, it seems to just move weirdly and not control the way I thought it would). Ive been developing a weapon system, and I've hit a bit of a stumbling block with Two Handed Interactions.
Not sure if this is something maybe planned (Checked Trello and didn't see anything .. unless I am blind as a bat!), and if not, if anyone reading this is able to implement something or give me a hand implementing I'd gladly talk about payment for the work.
Thanks!!

Was able to get it working sort of. Still looking for any help on implementing unique interaction points per hand. That is where I am a bit lost! Thanks again!

Well, I was able to get what I wanted, but I ditched NewtonVR altogether for something written from the ground up.

Glad you found a solution


Notebook: Performing Retention Modeling yields error relating to the standard errors columns

When  using the Notebook, modeling does not work at this moment.
Steps to reproduce:

open the notebook in Pluto (https://github.com/GasChromatographyToolbox/RetentionParameterEstimator.jl/blob/main/notebooks/estimate_retention_parameters.jl)
Wait for the notebook to load.
Check if there are  measurements and compounds preselected, otherwise --> select them and click on 'submit'
Go to the "Select Mode" header and select one of the modes (either of the m1, m1a, m2 give the error)
Click on submit and see the resulting error (see error message at the end of this description)

Expected Behavior
The dataframe  of the model should show
Expected Bug
There is probably a missing optional variable in one of the function definitions, that is still being used as input for the function. This is  most likely because the  notebook uses the package RetentionParameterEstimator v0.1.8
Error Message
MethodError: no method matching check_measurement(::Tuple{GasChromatographySimulator.Column, Vector{GasChromatographySimulator.Program}, DataFrames.DataFrame, Vector{String}, String, String}, ::@NamedTuple{L::Float64, d::Float64}; min_th::Float64, loss_th::Float64, se_col::Bool)

Closest candidates are:

check_measurement(::Any, ::Any; min_th, loss_th) got unsupported keyword argument "se_col"

@ RetentionParameterEstimator C:\Users\...\.julia\packages\RetentionParameterEstimator\vk2Rk\src\Optimization.jl:393

cosed by #36 and #38


[WIP] chore: Modify the icon optimization + component generation in a pipeline, instead of doing it every build

At the moment, everytime we build, we do the following:

Optimize all the icons and put them in the dist folder of the svg-icons package
Re-optimize + generate icon components + generate index.ts + generate iconNames for the icons packages. (in the src/generated-icon-components folder
Use tsup to transpile .ts files to .js and .d.ts

This results in longer average build steps for all PRs, even when unrelated to icon changes. And it will be increasingly longer the more icons we add to the package.
Following this PR, building the packages will only results:

Copy the svgs from src/optimized-icons to /dist for the svg-icons package
Use tsup to transpile .ts files to .js and .d.ts for the icons package (same thing we do for styled-system and components)

The process of adding / updating / removing an icon is detailed here:
Adding a new icon

Add SVGs to Size-Specific Folders

Get the three versions (16px, 24px, 32px) of the SVG icon you want to add.
Place each version in the following folders:

packages/svg-icons/src/icons/16px
packages/svg-icons/src/icons/24px
packages/svg-icons/src/icons/32px

Manual Generation (Optional)

If you want to manually generate optimized SVGs and React components, run the following command:

pnpm generate-icons

This command will optimize the SVGs and create React components in the respective folders.
Commit the changes to the repository.

GitHub Action: Icon Generator (Automatic)

If you prefer an automated process, simply commit the icons to the repository.
The GitHub Action named "Icon Generator" will run automatically after the push.
It will optimize the SVGs and generate React components in the respective folders and commit the code to your branch

Run Changeset Command

After the GitHub Action has completed successfully or after manually generating the icons, run the following command to create release notes for @hopper-ui/svg-icons and @hopper-ui/icons:

pnpm changeset

Follow the prompts to describe the changes made and choose the appropriate version bump.

Updating or removing an icon

Updating or removing an icon is similar to adding a new icon. The only difference is that you will need to delete the SVGs from the following folders:

packages/svg-icons/src/icons/16px
packages/svg-icons/src/icons/24px
packages/svg-icons/src/icons/32px

Steps 2-4 are the same as adding a new icon.

Add chromatic tests to optimized-icons.


Launch Issue with macOS Ventura + Xcode 14 + iOS 16 Simulator

Results from building MapLibre for iOS on macOS Ventura/Xcode 14 & inspired by a comment from @username0x0a,  (🎩tip).

with Xcode 14 & iOS 16 Simulator, I'm getting an instant crash on launch.  See details:  https://github.com/maplibre/maplibre-gl-native/issues/268#issuecomment-1149262031

As of now, I only have macOS Ventura running on a M1.  This issue would need to be verified on x86_64.
sw_vers
# ProductName:	macOS
# ProductVersion:	13.0
# BuildVersion:	22A5266r

uname -a
# Darwin m1.local 22.0.0 Darwin Kernel Version 22.0.0: Tue May 24 20:30:32 PDT 2022;
# root:xnu-87<IP_ADDRESS>.3~5/RELEASE_ARM64_T8103 arm64

xcodebuild -version
# Xcode 14.0
# Build version 14A5228q

Xcode 14 + iOS 16 Simulator

Xcode 14 + iOS 16 Simulator has several deprecations

An update on testing MapLibre for iOS with latest macOS Ventura (13.0 Beta (22A5295i)) on Apple Silicon (M1 Mac).

[x]  The instant crash found earlier is now fixed.
[x] The C++ deprecations seem to have gone away.
[ ] New:  The Open GL subsystem exhibits drawing errors where triangles are missing or slowly drawing.  11 FPS.

This screenshot shows the test app running in the arm64 architecture mode from the macOS Activity Monitor. Note  Apple  in the kind column.

You can determine which architecture (Intel or Apple) a process is being run by checking whether a process is run with Rosetta.  I do not recommend using Rosetta to run Xcode.
ps -p `fuser /usr/libexec/rosetta/runtime 2> /dev/null`

Build version info:
sw_vers
# ProductName:		macOS
# ProductVersion:	13.0
# BuildVersion:		22A5295i

uname -a
# Darwin m1.local 22.0.0 Darwin Kernel Version 22.0.0: Tue Jun 28 20:48:02 PDT 2022;
# root:xnu-87<IP_ADDRESS>.2~1/RELEASE_ARM64_T8103 arm64

xcodebuild -version
# Xcode 14.0
# Build version 14A5270f

Thanks for offering help with testing of simulator crashes on M1 in the Slack channel, @Svantulden. Will ping you when possible...

Closing out this research into Ventura Beta + Xcode 14 Beta, as Xcode Version 14.0 RC (14A309) was released on Sep 7, 2022.
Tracking any GL drawing issues at https://github.com/maplibre/maplibre-gl-native/issues/268

unable to run React native ios app through xcode and real device

xcode version 14.2
Simulator version 14(16.2)
react-native: 0.70.6
Mac Book pro M1 chipset ventura OS

unable to run React native ios app through xcode and real device

xcode version 14.2
Simulator version 14(16.2)
react-native: 0.70.6
Mac Book pro M1 chipset ventura OS

@chganesh Please see https://github.com/maplibre/maplibre-react-native


Improvements in TestTestingFixture

and resolved some leaks in FailableMemoryAllocator

Coverage decreased (-0.03%) to 99.735% when pulling bfb38effb8b6865678a51b0947c50be5e7880443 on basvodde:master into 0a605bb51b6a06ca194724774f5e6a8380de884a on cpputest:master.


Add an 'Accessibility Swarm' section

It would be useful to have a document describing what an Accessibility Swarm is and how to run one.
I understand @greenc05 has a slideshow version introducing an Accessibility Swarm... perhaps that could be a starting point?
Depended on by https://github.com/BBC-News/psammead/issues/103.

This is done

Fixed in #17


netcore Documentation and .sln support

Hi,
Just wanted to know about the progress on the netcore launch option. I've tested it using and it works as intended. However I didn't see anything regarding it in the readme, just wondering why that is?
Also, the project I am working currently has multiple components with its own .csproj. Currently I am using a bash script to cycle through them, just wondering if there is future support for .sln so I can just point it to one .sln file?
Thanks

Curious: is this possibly due to features being worked on and delivered, but not "officially" released? (and therefore docs aren't updated yet?) or is it simply docs are behind?

As you may have noticed, things have been kind of been in limbo here for a while. There has been some churn on the team. A lot of focus has been going on in the back end, and unfortunately some of the clients have fallen behind. We are working on getting a team up and running to take over development here, but it is taking some time (lots of moving parts). Meanwhile I am going to hopefully catch things up a bit,
You are right, there are some fixes that were just not pushed up. We are getting those in now and will see about getting other fixes rolling. Sorry for the delays :(

As you may have noticed, I did push a newer release out that is almost current with master (I merged a pull request since then). I am exploring what needs to be done to support *.sln files. I am out of my depth for .NET programs (usually I just code bug fixes here). There is a push to get a proper .NET dev back in the program so we can put out more features, but meanwhile I will see if I can figure it out. It will be a good learning experience.

Docs have still not been updated, however. I will try and get to that in the near future, but there is a lot of cleanup to catch up on first.


Multiple GET methods in the same class

Please,
It's possible use multiple GET methods in the same class with Resources?
Example:
class Example:
    def get():
        return "all"

    def check(name):
        return session.query(User.name == name).first()

api.add_resource(Example, '/example')
api.add_resource(Example, '/example/check/<string:name>')

see #114


Footer misalignment in test result HTML report

Expected behavior
In Reporting Footer looks distorted or enlarged.
Actual behavior
Footer is occupying half of the page with "Generated by Gauge HTML Report" message.
Steps to reproduce

Execute gauge run specs
Open index.html from reports folder in Chrome
Observe the footer section.

Gauge version
Gauge version: 1.0.3
Commit Hash: ff6c0c3
Plugins
html-report (4.0.5)
java (0.6.9)
screenshot (0.0.1)

Reproducible while clicking on Failed and Skipped test numerics, the issue isn't reproducible if you click and observe the passed numeric.

Moving this issue to html-report repository.

This issue was moved to getgauge/html-report#202


Vue Backgrounds Addon Support

Are there any plans to port the backgrounds addon to vue? In the meantime is there a workaround to a implement a background color in a vue storybook?

It might be easier to do now when we've moved background wrapper outside of preview iframe in #2807

I'll get this out in the next couple of days

Released as 4.0.0-alpha.4


Python scripts no longer Python 2 compatible

With the addition of the parallelism flag we introduced the use of f-strings: https://github.com/lancaster-university/microbit-v2-samples/commit/c854391ef5d7c9505fbe8c43cdeb3e68dcb380a3
I think it's quite possible MakeCode is running the build.py script with python, which will likely point to Python 2 in the docker images used:
https://github.com/search?q=repo%3Amicrosoft%2Fpxt build.py&type=code

Okay, so the images at least do have python3 installed, but python invokes Python 2.
$ docker run --rm pext/yotta:latest python --version
Python 2.7.6

$ docker run --rm pext/yotta:latest python3 --version
Python 3.4.3

$ docker run --rm pext/yotta:update-yotta3 python --version
Python 2.7.17

$ docker run --rm pext/yotta:update-yotta3 python3 --version
Python 3.6.9

We can always roll back to a python 2 style string, if that's the safest?

Patched out the F-strings as of f4aaca3a9ff55dfd79c9ec41024dbbc0bec4de04 on master.
Added in a couple of new args for --status while I was at it, including -v compliance for increased verbosity, and -n to control the number of log lines. Specifying a lib name on a --status call now also only shows that library on its own.
Example run: ./build.py -svn 12 codal-core - aka, run versbose, with 12 log liens for only the codal-core lib.
All flag combinations are handled correctly.
Note: The current default parallelism is 10 which should be fine for most systems, but is possibly suboptimal for 'big' build systems (like Makecode's backend, perhaps?) which may want to bump this up via -j [number] or --parallelism [number] for better build performance.
Marking this as complete. @microbit-carlos can you re-open this please if it fails to build correctly on our upstreams (Makecode/Micropython, etc.)

As soon as we get https://github.com/lancaster-university/codal-microbit-v2/issues/338 fixed we can test it in the codal-microbit-v2 repo as well:

https://github.com/lancaster-university/codal-microbit-v2/issues/338


[BEAM-6766] Implement SMB file operations

This PR is a small, discrete chunk of the Sort-Merge Bucket algorithm implementation (design doc), extracted into a smaller PR for easier reviewing as suggested in the JIRA ticket. It contains read/write logic for Avro, Tensorflow, and JSON records at a per-record granularity. These are needed because once the PCollection is bucketed and sorted, we can't re-use existing sources/sinks and risk a reshuffling of the data, so we have to manage file reads and writes very explicitly.
CC @kennknowles @nevillelyh @reuvenlax @kanterov

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.


quic: fix quic platform test TSAN failure

Signed-off-by: Dan Zhang<EMAIL_ADDRESS>Commit Message: QuicThread test fails under TSAN because of racing between vtable pointer change and calling into its virtual method. Fix it by waiting till the virtual method finishes before destruction.
This is a test setup issue.
Risk Level: low, test only
Testing: N/A
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

/assign @yanavlasov


[Bug] Mastery not keeping recoprd

Mastery challenges are not staying tracked as every time i come back onto the tracker they untick themselves

Should be fixed now!


Advice on combining CLIP with the neural renderer

Hi, this is an very interesting and impressive work in using AI for art. Now, as CLIP has created more and more astounding painting from text, I just want to ask some advice, if possible, on combining CLIP and your work together which can be very interesting. Thanks

Hi @thuangb, thanks for your suggestion. Yes, we can definitely add a CLIP loss to our framework. I believe it should work well although I haven't tried that. This would be interesting and worth trying. I will check this out in the near future and probably add this new feature to our method.

Hi, I just want to ask that what part I have to modify ? I think I must add an new CLIP loss in loss.py and modify the optimization loop but I do not familiar with the neural renderer part in your code so I need some advice. Thanks. FYI, I think you can refer to this repo if you plan to add CLIP feature in the future.

Hi @thuangb, since almost everything in the rendering pipeline is differentiable, all you have to do is to add a CLIP similarity loss to the loss function part. I have been working on this recently. Hopefully, this feature will be available very shortly. I will let you know when it is ready.


[Python] Enable PEP 8 rules we already comply with

The entire Python code base already complies with:

E121: continuation line under-indented for hanging indent
E125: continuation line with same indent as next logical line
E129: visually indented line with same indent as next logical line
E261: at least two spaces before inline comment
E303: too many blank lines (3)

Adding those to .pep8 since we don't want any regressions in terms of PEP 8 compliance when new code is added.

@swift-ci Please test

@swift-ci Please test


adding specs for SQL namespace

Description
adding sql query specification
Issues Resolved
[#235]
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Awesome! Please write some tests for it? See https://github.com/opensearch-project/opensearch-api-specification/blob/main/SPECIFICATION_TESTING.md and https://github.com/opensearch-project/opensearch-api-specification/tree/main/tests.

Awesome! Please write some tests for it? See https://github.com/opensearch-project/opensearch-api-specification/blob/main/SPECIFICATION_TESTING.md and https://github.com/opensearch-project/opensearch-api-specification/tree/main/tests.

Hello! Yes, i'll add test a bit later. I'm just getting used to OpenAPI.

Want to get this to a mergeable state? It doesn't have to be full coverage of the SQL plugin, can start with just the basics and make more PRs afterwards!

Want to get this to a mergeable state? It doesn't have to be full coverage of the SQL plugin, can start with just the basics and make more PRs afterwards!

Hi! I wrote it, I think I corrected it. At least you can start watching. The only thing is that the tests ran locally for me and passed the test, but in Github Actions they did not pass the test;

@dblock That's very unusual for the framework to obscure an error not related to the testing itself. This should not have been handled by the framework and should crash it for the error trace to be shown.

@dblock That's very unusual for the framework to obscure an error not related to the testing itself. This should not have been handled by the framework and should crash it for the error trace to be shown.

Yes, 100%. I can look into it.

Created an issue: https://github.com/opensearch-project/opensearch-api-specification/issues/449

Probably i found misstake
I'm waiting for the cursor to receive, but it doesn't come with the API
I will test and see

I'm so happy! You can check it now!
@dblock @nhtruong

Cant merged. Blocked by https://github.com/opensearch-project/opensearch-api-specification/pull/379#pullrequestreview-2196502955 @dblock

Probably i found misstake I'm waiting for the cursor to receive, but it doesn't come with the API I will test and see

It did raise that bug of reporting errors, so thank you! Fix in https://github.com/opensearch-project/opensearch-api-specification/pull/450.

Couple more. I think we should stay disciplined about prologue, sorry to be a hassle.
Also see if you can exercise the parameters like sanitize that aren't.

I found sanitize in documentation here:

And rechecked on local machine

Also see if you can exercise the parameters like sanitize that aren't.

I found sanitize in documentation here:  And rechecked on local machine

Yes, I meant adding a test that actually uses it.

Merged this! @Tokesh if you want to remove the changelog line that says "Added tests for ... SQL", add some tests for ?sanitize and whatever other parts of the spec you declared but didn't test in a next PR, that'd be great!


Please publish new NPM package with the license

Commit 7caec88 added the license and upped the version to 1.2.6 but the latest NPM version in https://www.npmjs.com/package/log-driver is still 1.2.5.
We are using an automated tool for checking licenses in our packages and their dependencies. The tool works best when packages specify their licenses in the license field of the package.json files, as written in https://docs.npmjs.com/files/package.json#license.
It'd be great if you could publish a new NPM version with the valid license field in package.json.
Thanks!

+1 - license is not current with NPM

@jinwoo @GantMan  just published!

Thank you, @cainus !

@cainus Now we're getting more issues with packages that have problematic licenses. They all originate from codecov-io. I think codecov-io is needed only for development and should be put into devDependencies instead of dependencies.
Could you please move it to devDependencies and publish a new npm version?
Thanks!
> jsgl --local .

Checking package.json...

(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
Public Domain<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
(no license<EMAIL_ADDRESS><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>-><EMAIL_ADDRESS>
11 non-green licenses found.


trying to fix escaping and quoting

Hi Allan,
What I'm currently doing here is attempting to fix the escaping and quoting issue I mentioned before.
Basically I quote the whole string instead of the individual items when there is a list of values separated by an env_sep
so basically we end up with python strings like    '"/path1:/path2"'   '"/path1;/path2"' which are what we expect when they get interpreted by any shell
but with that change and adapting some test cases, there is one test case failing on tests_context. (probably the only piece of code calling execute_command)
That fails  because the PATH end up like '"/path1:/path2"' with is totally fine if it gets interpreted by any shell but is breaks when is interpreted by python itself
The subprocess module does a naive split by os.path.pathsep ending up like
"/path1
/path2"
So these change does not fix the issue

Hi Allan, sorry for not replying earlier, I just came from  my longest holidays ever and probably the longest period without touching a computer :)
There were two problems that were explained [here] (https://github.com/nerdvegas/rez/pull/121)

The escaping on the plugin (_escape_string) does not get called when there is prepend/append  (instead of setenv)
i.e  A package with variable like:

export BLA=loadPlugin("mayaPlugin"):${BLA}
ends up ( (in the context file)) unescaped,  like :
setenv BLA loadPlugin("mayaPlugin")
both tcsh and bash are broken.
2. The quoting fails when the env_var_separators is not os.path.pathsep (ie CMAKE_MODULE_PATH which  uses ';' instead of ':' ) It does quote the individual parts of a multi path variable instead of quoting the whole thing
i.e using
OLD COMMAND:
export CMAKE_MODULE_PATH=!ROOT!/cmake';'$CMAKE_MODULE_PATH
ends with (in the context file)
setenv CMAKE_MODULE_PATH "/film/tools/packages/stdlib/4.8.2/CentOS6.2_thru_7/cmake";${CMAKE_MODULE_PATH}
Note the semicolon outside the quoting. Both tcsh and bash will fail evaluating this line. They will try to execute ${CMAKE_MODULE_PATH}
To reproduce them: Use your latest 2.0 branch , create the following package
config_version : 0
uuid: 97937642-3646-4966-ab9c-8f337bbbce6a
name: aaa
version: 1.0.0
authors: [ rez ]
description: test
private_build_requires:
 - cmake-2.8
commands:
 - export BLA=loadPlugin("mayaPlugin"):${BLA}

Do rez env aaa , and it  will unveil the issue number 1
Create the following now
config_version : 0
uuid: 97937642-3646-4966-ab9c-8f337bbbce6b
name: bbb
version: 1.0.0
authors: [ rez ]
description: test2
private_build_requires:
 - cmake-2.8
commands:
- export CMAKE_MODULE_PATH=!ROOT!/cmake';'$CMAKE_MODULE_PATH

Do rez env bbb , and it  will unveil the issue number 2

Hey Fede, welcome back!
Ok three points:

Could we limit the discussion to Rex examples, rather than old-style
bash? I just want to avoid cases where there's actually a bug in the
old-to-new command conversion, as opposed to a bug in Rex itself - better
not two confuse these two separate issues, I think it will be easier for
all of us.

Do you know about the rez-interpret tool? It will interpret arbitrary
Rex code in a script, and convert to any target format - you don't have to
muck about with packages to test this stuff.

I'm moving onto a non-rez-related major project now so my time on Rez is
very restricted. I'm really hoping to have another developer take on the
Rez workload soon through work, but how soon and to what capacity is out of
my hands :(. This is a bummer I know. I will give as much help as I can in
the meantime though.

Thanks,
A
On Mon, Jan 12, 2015 at 5:39 PM, federicon<EMAIL_ADDRESS>wrote:

Hi Allan, sorry for not replying earlier, I just came from my longest
holidays ever and probably the longest period without touching a computer :)
There were two problems that were explained here
https://github.com/nerdvegas/rez/pull/121

The escaping on the plugin (_escape_string) does not get called
when there is prepend/append (instead of setenv)
i.e A package with variable like:

export BLA=loadPlugin("mayaPlugin"):${BLA}
ends up ( (in the context file)) unescaped, like :
setenv BLA loadPlugin("mayaPlugin")
both tcsh and bash are broken.
2. The quoting fails when the env_var_separators is not os.path.pathsep
(ie CMAKE_MODULE_PATH which uses ';' instead of ':' ) It does quote the
individual parts of a multi path variable instead of quoting the whole thing
i.e using
OLD COMMAND:
export CMAKE_MODULE_PATH=!ROOT!/cmake';'$CMAKE_MODULE_PATH
ends with (in the context file)
setenv CMAKE_MODULE_PATH
"/film/tools/packages/stdlib/4.8.2/CentOS6.2_thru_7/cmake";${CMAKE_MODULE_PATH}
Note the semicolon outside the quoting. Both tcsh and bash will fail
evaluating this line. They will try to execute ${CMAKE_MODULE_PATH}
To reproduce them: Use your latest 2.0 branch , create the following
package
config_version : 0
uuid: 97937642-3646-4966-ab9c-8f337bbbce6a
name: aaa
version: 1.0.0
authors: [ rez ]
description: test
private_build_requires:

cmake-2.8
commands:
export BLA=loadPlugin("mayaPlugin"):${BLA}

Do rez env aaa , and it will unveil the issue number 1
Create the following now
config_version : 0
uuid: 97937642-3646-4966-ab9c-8f337bbbce6b
name: bbb
version: 1.0.0
authors: [ rez ]
description: test2
private_build_requires:

cmake-2.8
commands:
export CMAKE_MODULE_PATH=!ROOT!/cmake';'$CMAKE_MODULE_PATH

Do rez env bbb , and it will unveil the issue number 2
—
Reply to this email directly or view it on GitHub
https://github.com/nerdvegas/rez/pull/134#issuecomment-69681359.

Thanks Allan, I have an itching sensation since yesterday, Mark was suggesting I might have become allergic to work :)
Point 3 is a real bummer, I hope your new project is exciting... and I hope we and other people can contribute efforts to get rez 2 out soon.
I did not knew about the rez-interpret tool, that makes things much easy.
I think that the 2 issues are in the REX code nor in the old-to-new conversion:
Issue number 1 can be shown with the following code
env.BLA.append('loadPlugin("mayaPlugin")')
>rez-interpret rexcode -f bash
#!/bin/bash
export BLA=loadPlugin("mayaPlugin")

> rez-interpret rexcode -f tcsh
#!/bin/tcsh
setenv BLA loadPlugin("mayaPlugin")

As you can see no escaping happens.
If we set a  value before
env.BLA = "tmp"
env.BLA.append('loadPlugin("mayaPlugin")')
Then we get the right escaping
> rez-interpret rexcode -f tcsh
#!/bin/tcsh
setenv BLA "tmp"
setenv BLA ${BLA}:"loadPlugin("\""mayaPlugin"\"")"

But we have many packages that assume the a path might have already be set so the go with
env.BLA.append('loadPlugin("mayaPlugin")')
or
export BLA=loadPlugin("mayaPlugin"):${BLA}
For issue number 2 use this rexcode
env.CMAKE_MODULE_PATH = "/tmp"
env.CMAKE_MODULE_PATH.append("/var/tmp")

> rez-interpret rexcode -f tcsh
#!/bin/tcsh
setenv CMAKE_MODULE_PATH "/tmp"
setenv CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH};"/var/tmp"

> rez-interpret rexcode -f bash
#!/bin/bash
export CMAKE_MODULE_PATH="/tmp"
export CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH};"/var/tmp"

Both are incorrect, when the shell try to set that they will see the second line as two different command and try to execute /var/tmp
The expected result for these would be:
setenv CMAKE_MODULE_PATH "/tmp"
setenv CMAKE_MODULE_PATH" ${CMAKE_MODULE_PATH};/var/tmp"

and
export CMAKE_MODULE_PATH="/tmp"
export CMAKE_MODULE_PATH="${CMAKE_MODULE_PATH};/var/tmp"
Hope this is more clear now
Fede

Hey Allan,
I guess you are busy with other non rez projects but....
Did you have a change to look into this one? at least to see if you can repro what I reported?
Cheers
Fede

Hi Allan,
It would be great if we could get a bit of insight on this one to help us on our way.   I've spent most of the afternoon trying different combinations of rex commands with only limited success.  Which is quite frustrating given we already had a solution which seemed to work ok.
For issue 1,  I think I need this:
appendenv("BLAH", expandable('loadPlugin("A")'))
appendenv("BLAH", expandable('loadPlugin("B")'))
appendenv("BLAH", expandable('loadPlugin("C")'))

However if BLAH isn't set before the first appendenv then the escaping doesn't happen.  I think this is line 353 and 353 of rex.py needing to call self._escape instead of self._expand.  Is it that simple?
Issue 2 I think is unresolvable in the current implementation.  It works fine if the default os separator is used but we have many situations where this is unfortunately not the case.  And indeed, even within Rez CMAKE_MODULE_PATH is wired to use ; and so no longer works out of the box.  Are you not using the CMAKE_MODULE_PATH anywhere and so are unaffected by it?
Mark.

I need to look at this but I haven't had time. I was supposed to have a
developer looking into this but he keeps getting dragged onto other work -
hopeful that changes soon. We're lucky in that it is not affecting us
because we happen not to be building anything compiled via rez-build. But
I'm sure we will hit the problem as well.
The literal/expandable work was done because, even though the previous
escaping was working, it didn't leave room for supporting non-expanding
strings as well. As soon as that feature request comes up (and it's a
reasonable one imo) this expansion would have to have been reworked anyway.
I have some ideas on sorting this out. Bear in mind that expandable/literal
should be supported in all rex commands, not just set/append/prepend (for
eg, source etc). I can probably push to get a whole day of work in either
tomorrow or Monday, since this other developer has not been available and
Rez has been languishing. In any case as soon as I get the time this is
what I'll be looking at fixing. I'll keep you posted.
Thx
A
On Wed, Mar 11, 2015 at 11:19 PM, Mark Streatfield<EMAIL_ADDRESS>
wrote:

Hi Allan,
It would be great if we could get a bit of insight on this one to help us
on our way. I've spent most of the afternoon trying different combinations
of rex commands with only limited success. Which is quite frustrating given
we already had a solution which seemed to work ok.
For issue 1, I think I need this:
appendenv("BLAH", expandable('loadPlugin("A")'))
appendenv("BLAH", expandable('loadPlugin("B")'))
appendenv("BLAH", expandable('loadPlugin("C")'))
However if BLAH isn't set before the first appendenv then the escaping
doesn't happen. I think this is line 353 and 353 of rex.py needing to
call self._escape instead of self._expand. Is it that simple?
Issue 2 I think is unresolvable in the current implementation. It works
fine if the default os separator is used but we have many situations where
this is unfortunately not the case. And indeed, even within Rez
CMAKE_MODULE_PATH is wired to use ; and so no longer works out of the
box. Are you not using the CMAKE_MODULE_PATH anywhere and so are
unaffected by it?
Mark.
—
Reply to this email directly or view it on GitHub
https://github.com/nerdvegas/rez/pull/134#issuecomment-78429607.

I haven't had time to keep up with this thread, but in case it makes a difference, I want to point out that CMAKE_MODULE_PATH is not a real cmake environment variable.  It's provided by rez, and the reason that semi-colons are used is just a hack, so that the value can be passed directly to the cmake command, which uses semi-colons to separate array items (note, this behavior has been there since rez 1.0).
So, if the semi-colons are causing a problem, I think we should just ditch support for them and make CMAKE_MODULE_PATH work like a normal env variable, which will require something like value.replace(os.path.pathsep, ';') before passing to cmake.

Hey Chad,
You're right, it's been like that for so long that I'd completely forgotten
that this isn't actually an environment variable.
So although it doesn't address the overall string escaping issue, I think
it would be reasonable to switch to a colon-separated CMAKE_MODULE_PATH and
do the string replacement in the cmake plugin, as Chad suggests. This is
actually what Rez-1 used to do, and in light of that fact that this is a
cmake variable and not an env-var that it expects, this is actually more
correct behaviour.
Mark, would this help in the interim? I daresay we could remove the pesky
special-case path separator support at the same time - unless someone out
there is actually relying on that.
Thx
A
On Thu, Mar 12, 2015 at 12:54 PM, Chad Dombrova<EMAIL_ADDRESS>wrote:

I haven't had time to keep up with this thread, but in case it makes a
difference, I want to point out that CMAKE_MODULE_PATH is not a real cmake
environment variable
http://www.cmake.org/Wiki/CMake_Useful_Variables#Environment_Variables.
It's provided by rez, and the reason that semi-colons are used is just a
hack, so that the value can be passed directly to the cmake command, which
uses semi-colons to separate array items (note, this behavior has been
there since rez 1.0).
So, if the semi-colons are causing a problem, I think we should just ditch
support for them and make CMAKE_MODULE_PATH work like a normal env
variable, which will require something like value.replace(os.path.pathsep,
';') before passing to cmake.
—
Reply to this email directly or view it on GitHub
https://github.com/nerdvegas/rez/pull/134#issuecomment-78592038.

Mark, would this help in the interim?

No.  We have other environment variables that use separators other than os.pathsep.  This includes  , , and ;.  It is not practical for us to update these variables to use os.pathsep, mostly because these variables include : as a value in the list and so can't be split on that character.
I am also not sure it's safe to assume that the escaping is consistent across all shells.  I didn't really look into this while implementing the Windows support (and don't have a depth of knowledge to know for sure), but it feels likely that other shells might require different escaping rules (such as Windows Command Prompt).  Therefore making it the sole responsibility of Rex is maybe not right.  For example, compare this on Windows Command Prompt:
> set a="1 2 3"
> echo %a%
"1 2 3"
> set a=1 2 3
> echo %a%
1 2 3

With the bash equivalent:
> export a="1 2 3"
> echo $a
1 2 3
> export a=1 2 3
bash: export: '2': not a valid identifier
bash: export: '3': not a valid identifier

Based on my understanding of the recent changes, Rex is always wrapping the string in " which results in different behaviour on Windows.  So the Windows shell implementation needs to retain some control over the processing.  But @chadrik, you seem to have the most Windows knowledge of all of us so can maybe tell me if I've over simplified that.
I keep getting confused between the different objects and code paths in Rex/Shells, but I think at the moment the shell plugins are passed an already escaped and separator joined string for (for example) the setenv method.  Perhaps they should be passed a higher level object (including the literal or expandable etc) and then handle the quoting itself based on what it's been given?

FYI, I have the go ahead to dedicate tomorrow to this. Will mail an update after that.
Wrt passing expandable/literal object to shell so expansion happens later - this is the same idea I have had - will investigate.
Thx
A
Sent from my iPhone

On Mar 12, 2015, at 2:35 PM, Mark Streatfield<EMAIL_ADDRESS>wrote:
Mark, would this help in the interim?
No. We have other environment variables that use separators other than os.pathsep. This includes , , and ;. It is not practical for us to update these variables to use os.pathsep, mostly because these variables include : as a value in the list and so can't be split on that character.
I am also not sure it's safe to assume that the escaping is consistent across all shells. I didn't really look into this while implementing the Windows support (and don't have a depth of knowledge to know for sure), but it feels likely that other shells might require different escaping rules (such as Windows Command Prompt). Therefore making it the sole responsibility of Rex is maybe not right. For example, compare this on Windows Command Prompt:

set a="1 2 3"
echo %a%
"1 2 3"
set a=1 2 3
echo %a%
1 2 3
With the bash equivalent:

export a="1 2 3"
echo $a
1 2 3
export a=1 2 3
bash: export: '2': not a valid identifier
bash: export: '3': not a valid identifier
Based on my understanding of the recent changes, Rex is always wrapping the string in " which results in different behaviour on Windows. So the Windows shell implementation needs to retain some control over the processing. But @chadrik, you seem to have the most Windows knowledge of all of us so can maybe tell me if I've over simplified that.

I keep getting confused between the different objects and code paths in Rex/Shells, but I think at the moment the shell plugins are passed an already escaped and separator joined string for (for example) the setenv method. Perhaps they should be passed a higher level object (including the literal or expandable etc) and then handle the quoting itself based on what it's been given?
—
Reply to this email directly or view it on GitHub.

Hi all,
I've implemented a fix for this and am fairly confident it's working. You can find it in the "string_escape2" branch. Once it's gotten a few weeks of testing I'll be closing this PR. Thanks for your work on this Fede.
As suggested in previous comments, the fix does indeed involve passing EscapedString objects to the ActionInterpreter subclasses so they can decide how to best handle them (previously the ActionManager was doing this before passing it onto the interpreter).
You should be able to set/append/prepend any combination of expandable and literal strings with the new code.

awesome, we'll try to merge that branch and do more testing on our side

Cool, I'll close for now. Will reopen if there's a problem.

Hey @nerdvegas,
Thanks for this - I took a quick look at it today and it seems much better.  Although I think I am right in saying the rex unit tests are broken in this branch... the expected values for most of the rex commands are missing an EscapedString instance?
Also, we have a unit test for building a package which contains a ! requirement.  It looks like this isn't being escaped at the moment so is causing errors in bash, but I'm still looking at that.
But apart from that so far so good.

Oh yes, those UT bugs have been fixed in the issue_143 branch
Sent from my iPhone

On Mar 26, 2015, at 11:31 PM, Mark Streatfield<EMAIL_ADDRESS>wrote:
Hey @nerdvegas,
Thanks for this - I took a quick look at it today and it seems much better. Although I think I am right in saying the rex unit tests are broken in this branch... the expected values for most of the rex commands are missing an EscapedString instance?
Also, we have a unit test for building a package which contains a ! requirement. It looks like this isn't being escaped at the moment so is causing errors in bash, but I'm still looking at that.
But apart from that so far so good.
—
Reply to this email directly or view it on GitHub.


Missing the .net core standalone executable

Prerequisites
The issue tracker is used to report bugs and request new features, NOT to ask questions.
Questions should be posted to the users mailing list which can be accessed at
https://ironpython.groups.io/g/users.

[x] Are you running the latest version?
[x] Are you reporting to the correct repository?
[x] Did you perform a cursory search?

Description
When ipy.exe is run, it always uses .NET framework 4.5 on .NET framwork 4.8.
This causes issues while loading .NET Core 3 DLLs.
There is no way to specify the runtime framwork.
Steps to Reproduce

Go to IronPython installed folder.
"C:\Program Files\IronPython 2.7"
Run "ipy.exe".
Following will be displayed on the screen.
C:\Users\anand.tati>"c:\Program Files\IronPython 2.7\ipy.exe" -V
IronPython 2.7.10 <IP_ADDRESS> on .NET 4.0.30319.42000
Use clr to load .NET Core 3 DLLs.

Expected behavior: "ipy.exe" should have separate binary for .NET Core 3.
Actual behavior: Not able to load .NET Core 3 DLLs in the "ipy.exe" console.
Tried setting different paths via adding paths in sys.path.
e.g. [Also tried with different combination of sequence of these paths.]
C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\3.1.3
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.3
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
Every time a different error is presented. Finally got stuck with
SystemError: Could not load type 'System.ICloneable' from assembly 'System.Runtime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
Versions
You can get this information from executing ipy -V.
IronPython 2.7.10 <IP_ADDRESS> on .NET 4.0.30319.42000

There is no installer for the .NET Core version of IronPython. It is available in the zip of the release.

The zip file from the release does not have the executable.

Thanks for the report, that should indeed probably be included in the zip. You can dotnet ipy.dll to launch or copy the ipy.bat from the netcoreapp2.1 folder and use that to launch.