[CountryPicker & StatePicker] Internationalization based on ISO codes

Details

With this PR, the changes made are:

In CountryPicker, from now on the values will be handled internally using the country ISO codes. To the user, the countries will be displayed using it's full name.
In StatePicker, the values continue to be handled internally using state ISO codes. From now on, to the user, the states will be displayed using it's full name.
For both the above components, the names displayed to the user are localized based on their chosen country.

Fixed Issues

$ https://github.com/Expensify/App/issues/14549
$ https://github.com/Expensify/App/issues/15014
$ https://github.com/Expensify/App/issues/14549#issuecomment-1441612455
Tests

Note: During this flow, there is one known issue when we choose a location when the State Picker is displayed, the state is not updated. This has been reported in in slack and will be dealt in another issue.
The components affected directly by the changes are:

CountryPicker
StatePicker
AddressSearch
AddressPage

The components affected indirectly as a result to the changes in the above components are:

AddDebitCardPage
CompanyStep
AdditionalDetailsStep
ACHContractStep
RequestorStep
AddressForm
IdentityForm

The components indirectly affected are those which make use of the state picker.
The only component using CountryPicker is AddressPage.
To test for the country picker as well as state picker,

Login to ND.
Go to Settings > Profile > Personal Details > Home Address.
Enter any address outside the USA.
Ensure that all the details are filled correctly according to the chosen address and the country is selected. If the chosen address has a state, make sure the full state name is displayed.
Save the details. You will be redirected to the Personal Details Page.
Go back to Home Address.
Ensure that all the details are displayed correctly. Make sure that the State input is a Textbox and the input is in uppercase.
Enter an address inside the USA.
Ensure that all the details are filled correctly according to the chosen address and the country is selected. Ensure that the State Picker changes to a dropdown. If the chosen address has a state, make sure the state name is selected in the dropdown and the full state name is displayed.
Save the details. You will be redirected to the Personal Details Page.
Go back to Home address.
Ensure that all the details are displayed correctly as was shown before. Make sure that the State input is a Dropdown.
Go to Settings > Preferences. Change the Language to Spanish.
Go to Settings > Profile > Personal Details > Home Address.
Ensure that the state name and country name are displayed in spanish as the country chosen was USA.
Enter any address outside the USA.
Enter any address outside the USA again. ( This is done to bypass the issue mentioned above)
Repeat steps 4-12.

To test the other components using the State picker,
Company Bank Account Flow

Go to Settings > Workspaces > Any workspace > Connect Bank Account.
Enter any valid routing number (sample - 932932932) and random account number.
Enter any address.
Ensure that the State is updated accordingly and the state name is displayed correctly.
Fill any random information in other fields.
Click on continue.
Enter any address.
Ensure that the State is updated accordingly and the state name is displayed correctly.
Repeat steps 1-8 after changing language to spanish and ensure that the state names are displayed in spanish.

Debit Card Flow

Go to settings > Payments > Debit Card.
Enter any address.
Ensure that the State is updated accordingly and the state name is displayed correctly.
Repeat step 1-3 after changing language to spanish and ensure that the state names are displayed in spanish.

Before these changes, the country names were stored and transmitted using their full names with the API. To account for those, the country names are parsed respective to their ISO codes and then used. To test that,

Go to new.expensify.com
Go to Settings > Profile > Personal Details > Home Address.
Enter any address and save it. Ignore any issues if you have previously tested the account on this PR.
Go to the localhost (dev) / staging (QA) site and login with the same account.
Go to Settings > Profile > Personal Details > Home Address.
Ensure that the country is shown correctly and if the address was in USA, the state picker is shown correctly.

[x] Verify that no errors appear in the JS console

Offline tests

If there is no connection, the google address search will not work and the form will function normally.
Ensure that if the country selected is USA, then the state input is a dropdown with list of states. If the country is not USA, make sure that the State input is a textbox.
QA Steps

Personal Details Address Flow

Login to ND.
Go to Settings > Profile > Personal Details > Home Address.
Enter any address outside the USA.
Ensure that all the details are filled correctly according to the chosen address and the country is selected. If the chosen address has a state, make sure the full state name is displayed.
Save the details. You will be redirected to the Personal Details Page.
Go back to Home Address.
Ensure that all the details are displayed correctly as was shown before. Make sure that the State input is a Textbox.
Enter an address inside the USA.
Ensure that all the details are filled correctly according to the chosen address and the country is selected. Ensure that the State Picker changes to a dropdown. If the chosen address has a state, make sure the state name is selected in the dropdown and the full state name is displayed.
Save the details. You will be redirected to the Personal Details Page.
Go back to Home address.
Ensure that all the details are displayed correctly as was shown before. Make sure that the State input is a Dropdown.
Go to Settings > Preferences. Change the Language to Spanish.
Go to Settings > Profile > Personal Details > Home Address.
Ensure that the state name and country name are displayed in spanish as the country chosen was USA.
Enter any address outside the USA.
Enter any address outside the USA again. ( This is done to bypass the issue mentioned below)
Repeat steps 4-12.

Company Bank Account Flow

Go to Settings > Workspaces > Any workspace > Connect Bank Account.
Enter any valid routing number (sample - 932932932) and random account number.
Enter any address.
Ensure that the State is updated accordingly and the state name is displayed correctly.
Fill any random information in other fields.
Click on continue.
Enter any address.
Ensure that the State is updated accordingly and the state name is displayed correctly.
Repeat steps 1-8 after changing language to spanish and ensure that the state names are displayed in spanish.

Debit Card Flow

Go to settings > Payments > Debit Card.
Enter any address.
Ensure that the State is updated accordingly and the state name is displayed correctly.
Repeat step 1-3 after changing language to spanish and ensure that the state names are displayed in spanish.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message: https://expensify.slack.com/archives/C01GTK53T8Q/p1677509068238019

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/54077356/221654381-587100fa-6e85-44ef-b8be-9db485e41f73.mp4

Mobile Web - Chrome
https://user-images.githubusercontent.com/54077356/221658574-f880f1e6-f08b-4b63-ac4a-f419299a67de.mp4

Mobile Web - Safari
https://user-images.githubusercontent.com/54077356/221722764-dd748506-7d98-463c-bae3-618b5136a2b5.mp4

Desktop
https://user-images.githubusercontent.com/54077356/221721421-a8251c8c-63a9-4322-a839-90417c504042.mp4

iOS
https://user-images.githubusercontent.com/54077356/221722931-627372ba-4ee8-48b7-84aa-84ca774af1eb.mp4

Android
https://user-images.githubusercontent.com/54077356/221658006-044ae3e8-86a0-4f64-b387-08c497bbcdad.mp4

Hey! I see that you made changes to our Form component. Make sure to update the docs in FORMS.md accordingly. Cheers!

@Beamanator @Santhosh-Sellavel One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@Prince-Mendiratta great question and catch!

What should be done to handle this, do nothing or maybe map the country name to their ISO and convert the full name values to their respective ISO codes?

I think this makes the most sense 👍

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Sometimes state values are not set correctly.
https://user-images.githubusercontent.com/85645967/222288621-d9b34c44-482a-4b3c-9569-2e034f00dd15.mov

I can see this is reported here already but weird the it's working on other cases except when previous country is USA

For a few address selection does not have zipcodes

Should we still follow the same short names here or translated addresses with full names?

@Beamanator
Here is state name is not shown as it is shown in the suggestion, this is okayish for this state. Could be confusing for users as there could be a weird mixup between the suggestion and the value shown.

For a few address selections does not have zipcodes, we can't do anything about it.

Sorry did you find a bug here? I believe Egypt addresses are good examples of addresses w/out zip codes, if that's needed for testing 👍

Should we still follow the same short names here or translated addresses with full names?

Ooohhhh good question, I think I prefer short names so that more text can be viewed in that screen - can you bring that up in the original Slack thread please?

@Beamanator Here is state name is not shown as it is shown in the suggestion, this is okayish for this state. Could be confusing for users as there could be a weird mixup between the suggestion and the value shown.

This could be of out of scope here as we primarily focused on translation only for state & country pickers

Just to be clear, you are talking about the accent on the a, right? If we can figure out why that's happening that would be great, as it is preferred to show all the accents 😅

For a few address selections does not have zipcodes, we can't do anything about it.

@Santhosh-Sellavel Sorry did you find a bug here? I believe Egypt addresses are good examples of addresses w/out zip codes, if that's needed for testing +1

This is not a bug and I don't think we can do anything for this, the address obtained from the Google Search itself doesn't include the zip code so we can't do much here. 🤷🏼♂

I agree, lets move forward with this, unless @Santhosh-Sellavel you have a question / problem with the current state?

Should we still follow the same short names here or translated addresses with full names?

Ooohhhh good question, I think I prefer short names so that more text can be viewed in that screen - can you bring that up in the original Slack thread please?

Brought this up here on behalf of @Santhosh-Sellavel to speed things up :)

Awesome thanks for moving quick on that, looks like we'd prefer to keep the short names there 👍

Just to be clear, you are talking about the accent on the a, right? If we can figure out why that's happening that would be great, as it is preferred to show all the accents sweat_smile

Nice catch @Santhosh-Sellavel ! I was able to find out the root cause behind this but I'm not sure if we can do anything yet from our side as this seems an upstream issue. More details:
RCA...

Wow nice investigation @Prince-Mendiratta ! My preference is we treat this separately - so if you can report this in #expensify-bugs with your investigation, that would be great 👍

@Santhosh-Sellavel do you have time to do a full test of this today?

Will do it later today.

@Santhosh-Sellavel If you're on today, it'd be great if you can prioritize this one. It's helpful in pushing forward a roadmap initiative that we're trying to push forward.

Test well for most cases except where data is missing in some from google search AutoComplete.
Will continue testing through other pages tomorrow.

@JmillsExpensify Will prioritize this tomorrow and push it toward merging it tomorrow!

Then NAB it is, thanks @Prince-Mendiratta!

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/85645967/223497133-b0e4b534-7228-4179-9e3a-f3d61876d2d0.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/85645967/223497155-26fc4635-ed70-4bca-b407-b503e1116ae4.mp4

Mobile Web - Safari
https://user-images.githubusercontent.com/85645967/223497161-294e4232-e8ca-44e6-a838-74301c0c4862.mp4

Desktop
https://user-images.githubusercontent.com/85645967/223497124-db3d5850-f733-4133-b538-85af120b1aff.mov

iOS
https://user-images.githubusercontent.com/85645967/223497044-db910552-c6fc-4d0e-8209-8efa0ef337c4.mp4

Android
https://user-images.githubusercontent.com/85645967/223497118-c1f90301-4e7c-499f-ab87-77e9da718c74.mp4

All good I ran into a weird case (that seems like NAB but need to confirm) not sure whether this has been caught already.
Steps:

Selected a non-US Country via an Address Search Suggestion
Now change the country manually to USA from the picker
Now State Value is reset
Select a US State from Picker
Now switch Country other than US.
State is not cleared it persisted with the USA Value itself

This case exists on the main too. Is this a bug @Beamanator

Bug: Previously(On main branch) set Country values are not loaded correctly
https://user-images.githubusercontent.com/85645967/223500695-83750bac-f695-46ab-8f74-e397361b62b5.mp4

I'm confused too, I set the value Russia on Main Branch.
Switched to your PR branch, the value was not set. I can't reproduce consistently either

Yeah, that might be the case.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/Beamanator in version: 1.2.81-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.2.81-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


PowerShell recreates the inaccessible folder immediately after removed it

After running Get-ChildItem with Select-Object on a folder, I noticed that deleting that folder would recreate the inaccessible folder.
Steps to reproduce
This is a sample script to reproduce the issue.
$ErrorActionPreference = 'Stop'
$null = New-Item C:\j\k\l -ItemType Directory -Force -Verbose
Get-ChildItem C:\j\k | Select-Object -First 1
# Get-ChildItem C:\j\k    #If I don't use the Select-Object, the issue will not occurs.
Remove-Item C:\j\k -Recurse -Force -Verbose
Start-Sleep -Seconds 3
Get-ChildItem C:\j\k -Verbose

Expected behavior
The folder C:\j\k is removed. and PS throws ItemNotFoundException
Actual behavior
The PS throws UnauthorizedAccessException.
And The folder C:\j\k is remained and inaccessible even if I have administrators privilege.
( More precisely, it seems that the folder is recreated immediately after it has been deleted. )
Get-ChildItem : Access to the path 'C:\j\k' is denied.
At C:\Users\Administrator\Desktop\Untitled1.ps1:6 char:1
+ Get-ChildItem C:\j\k -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : PermissionDenied: (C:\j\k:String) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

Environment data
I've confirmed that the issue occurs in below environments.

Windows 7 Professional SP1 x86 with Windows PowerShell 5.1
Windows 7 Professional SP1 x86 with PowerShell Core 6.2.3
Windows 10 Pro Version 1809 x64 with Windows PowerShell 5.1
Windows 10 Pro Version 1809 x64 with PowerShell Core 6.2.3
Windows 10 Pro Version 1903 x64 with Windows PowerShell 5.1
Windows 10 Pro Version 1903 x64 with PowerShell Core 6.2.3

Screen capture

I can not repro.

I can not repro.


don't swallow a throwable

@ceki Can this pull request be merged in?  I noticed this error in the code myself and found this pull request already open.  It fixes SLF4J-233.

Changes were made in other commit.


Regressions due to a boost bump

The default boost version has been bumped from 1.69 (or 1.75) to 1.77. This is a notice for maintainers that the following packages are now failing to build on master (staging-next has been merged):

[ ] libpointmatcher @cryptix
[ ] masari @fpletz
[ ] libtorrent-rasterbar-1_1_x @phreedom
[x] monotone @7c6f434c #152208
[x] arc_unpacker @midchildan #152370
[x] swiften @Twey https://github.com/NixOS/nixpkgs/pull/152145
[ ] pivxd @wucke13
[x] cpp-netlib - #151202
[ ] particl-core @demyanrogozhin
[x] nova-filters @magnetophon #151732
[x] powerdns @mic92 @disassembler - #151202
[ ] uhd3_5 @bjornfor @fpletz @tomberek
[ ] namecoind @infinisil
[x] libbitcoin - #151202
[x] ndn-tools @bertof #152721
[x] nfd @bertof #152721
[x] rethinkdb @thoughtpolice @bluescreen303 https://github.com/NixOS/nixpkgs/pull/153639
[ ] litecoind @offlinehacker
[x] wt3 @juliendehos @willibutz #152128
[x] mozart2 @layus #151576
[x] librecad @Kiwi @viric - #151202
[x] ycmd @rasendubi @cstrahan @lnl7 597743cf9c62c21ec55a6d2ad64cdf062f117aaa
[ ] namecoin @infinisil
[ ] emulationstation @edwtjo
[x] python39Packages.graph-tool @joelmo #151638
[ ] opendungeons
[ ] litecoin @offlinehacker
[x] colobot @freezeboy #153130
[ ] snapcast @fpletz
[ ] foundationdb @thoughtpolice
[x] gnuradio3_8Packages.gnuradio @doronbehar @bjornfor @fpletz #151864
[x] sourcetrail @midchildan #152375
[ ] dashpay
[x] digikam - https://github.com/NixOS/nixpkgs/pull/151388
[x] gnuradio3_8Minimal @doronbehar @bjornfor @fpletz
[x] freecad @viric @gebner @AndersonTorres #151741
[x] opentoonz @chkno #151500
[x] sdrangel @Alkeryn https://github.com/NixOS/nixpkgs/pull/153316
[ ] pokerth-server @obadz @yegortimoshenko
[x] python39Packages.roboschool @timokau - #154998
[ ] python39Packages.scikit-survival
[ ] foundationdb61 @thoughtpolice
[ ] pokerth @obadz @yegortimoshenko
[x] python38Packages.graph-tool @joelmo - https://github.com/NixOS/nixpkgs/pull/151638
[x] python38Packages.roboschool @timokau - #154998
[x] bombono @symphorien #151574
[ ] musikcube @aanderse
[x] gplates - https://github.com/NixOS/nixpkgs/pull/151505
[x] mapnik @hrdinka @erictapen - #151202
[ ] pivx @wucke13
[x] mirtk @bcdarwin #151596
[x] slic3r @bjornfor #153276
[ ] arrayfire @chessai
[x] ethminer-free @Atemu #151989
[x] cryfs #152817

A typical fix would involve pinning the package to a specific version (e.g. see #151202)

My fix in https://github.com/NixOS/nixpkgs/pull/151576 is not the same as #151202. Is there a very good reason to prefer one over the other ?

Well, I like trying to keep it away from the huge top-level file.  (which is e.g. harder to use in git)

Re. pivx, I think we should mark it broken. Our current version is very old (and therefore useless), and the new version includes a rust build. I don't have the capacity to fix this ATM.

In my case, what broke it was the update from boost175 to boost177. Fix is in https://github.com/NixOS/nixpkgs/pull/151864 .

It's in the master branch now, so please target any further fixes there as well (unless they're a mass rebuild, etc.)

colobot fixed with #153130

FYI, ledger has some broken behavior with the new boost version, although it curiously doesn't cause a test failure: ledger/ledger#2075.

Our ledger expression does not attempt to run tests.

Ah, that would be why, thanks.  Nevertheless, the binary exhibits the same problem described in that issue in interactive use.


Attempting to copy the last taken screenshot to the clipboard crashes the game.

crash-2021-12-14_22.13.08-client.txt
Idk what is going on here, but its obviously isn't intended.

Hey ! Thanks for the report !
This is actually fixed in the code a release should be there soon.
At least the game isn't gonna crash if the clipboard failed to copy.
What can cause this issue is another mod that change the stuff that I need for copy the image to the clipboard

Should be fixed in the latest updates !


Data Binding annotation processor version

Data Binding annotation processor version needs to match the Android Gradle Plugin version. You can remove the kapt dependency androidx.databinding:databinding-compiler:4.1.3 and Android Gradle Plugin will inject the right version.
Affected Modules: app

Data Binding annotation processor version needs to match the Android Gradle Plugin version. You can remove the kapt dependency androidx.databinding:databinding-compiler:4.1.3 and Android Gradle Plugin will inject the right version.
Affected Modules: app


Update to MPD 0.23.12

I have compiled MPD 0.23.12 for debian bullseye. Is there a way to replace the older version mpd with newer one in homeassistant mpd addon?

Duplicate of #376


Fix animation editor's bottom panel button not being pressed on certain occasions

When switching from a scene with the animation editor closed to one with an AnimationPlayer selected, while the editor will be opened, the bottom panel button will not be pressed. This commit fixes that.
It also fixes the "Node not found:" error when switching scenes when the animation editor is opened.

Thanks!


This demo was not finished! And doesn't work!

Hello,
I tried to run demo
It doesn't work (https://github.com/fido-alliance/webauthn-demo/issues/18#issuecomment-565380986)
I saw sources and found that this demo was not finished. This demo was made from a "password login" demo but after a password-related code was commented (https://github.com/fido-alliance/webauthn-demo/blob/master/static/js/password.auth.js) but "webauthn" code was not written (https://github.com/fido-alliance/webauthn-demo/blob/master/routes/webauthn.js). I don't understand why to publish this code which not finished completely and doesn't work?

I can confirm gregbenner is right.
just do git checkout completed-demo and the demo will work.
The problem is that both javascriptfiles webauthn.js and webauthn.auth.js is missing content.

Is this project still maintained or actively developed? I can +1 what @Avec112 said, that both, webauthn.js and webauthn.auth.js are missing content.

A working and improved version (with Windows hello and android support) available at http://github.com/hexagon/webauthn-skeleton


Flowchart for Transcriber registration

Should be the same as FreeREG.

To include automated emails (or need for them).

Pat to check with coords whether one or multiple options training pathway - e..g. starting off the spreadsheet with first two pages, and first line of third page, or not having a start.

Draft shared with Brenda and developers 9/11/2017


when using docker run --initialBuckets arg has no effect

started docker with:
docker run -p 9090:9090 -p 9191:9191 -t adobe/s3mock:latest --initialBuckets=test --debug=true

ran the code below:
import pandas as pd
import boto3
bucket = 'test'
ENDPOINT_URL = "http://localhost:9090"
# s3_client.create_bucket(Bucket=bucket)

storage_opts = {'client_kwargs': {'endpoint_url': ENDPOINT_URL}}
df = pd.DataFrame([{"a": 1, "b": 2},
                   {"a": 2, "b": 3}])
df.to_parquet(f"s3://{bucket}/test.csv", storage_options=storage_opts)
df2 = pd.read_parquet(f"s3://{bucket}/test.csv", storage_options=storage_opts)
print(df2.info())

received error in the client:
botocore.errorfactory.NoSuchBucket: An error occurred (NoSuchBucket) when calling the PutObject operation: The specified bucket does not exist.

on the s3mock side I got:
2022-12-06 21:24:42.938 DEBUG 1 --- [qtp689602108-23] o.s.web.servlet.DispatcherServlet        : PUT "/test/test.csv", parameters={}
2022-12-06 21:24:42.967 DEBUG 1 --- [qtp689602108-23] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to com.adobe.testing.s3mock.ObjectController#putObject(String, ObjectKey, String, String, List, String, String, String, String, HttpHeaders, InputStream)
2022-12-06 21:24:43.095  INFO 1 --- [qtp689602108-23] MockConfiguration$S3MockExceptionHandler : Responding with status 404: The specified bucket does not exist.

if I uncomment the create_table function of boto3 all works fine

I am seeing the same thing (however I am using docker compose):
version: "3.9"
services:

  locals3:
    image: "adobe/s3mock:2.10.1"
    ports:
      - 9090:9090
    environment:
      - initialBuckets=localbucket


Ability to generate different filename.swift files from directories of .graphql files

Is your feature request related to a problem? Please describe.
Yes, https://github.com/aws-amplify/amplify-cli/issues/2122
Describe the solution you'd like
amplify codegen --max-depth --input=MySubAPIDirectory --output=MySubAPIDirectory.swift
would produce an api using just the .graphql files in MySubAPIDirectory and save it as MySubAPIDirectory.swift
Basically, I don't want to create the massive namespace polluting API.swift that has everything in it. I want nice clean sub apis with just the queries, mutations, and subscriptions that I use in my app.
Describe alternatives you've considered
See the bug report for how I'm doing it now. It produces an error and is a hack.

Close this issue since this is duplicate of #39

Close this issue since this is duplicate of #39


Link Zenodo community from webpage?

I don't think our Zenodo community at https://zenodo.org/communities/heliopython/ is linked from the website...maybe put a link under Documents and/or Projects? We could then also update the project addition instructions to include information on linking GitHub to Zenodo and asking to be put in the Zenodo community. (Or maybe that's an Informational PHEP...)

Thanks for the suggestion! It shouldn't have taken me this long but I finally did it. Our Zenodo is now linked to in the Documents page.
I'm not too keen on mentioning Zenodo in the project addition instructions yet, even though it's a good idea and getting every PyHC package in Zenodo is on my roadmap. However, this is the best use case for an Informational PHEP I've seen yet, so I think it'd be neat to try to make it one.


Reference Issue

I am unable to reference this addin...
There appear to be two issues:
(1) Adding the reference in this way:
#addin "Cake.ISO"
yields this error:
Unable to find package 'Cake.ISO'
NuGet exited with 1
An error occured while installing package Cake.ISO.
Error: Failed to install addin 'Cake.ISO'.

(2) Adding the reference in this way:
#addin nuget:?package=Cake.ISO&prerelease
yields this error:
Error: The assembly 'Cake.ISO, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'
is referencing an older version of Cake.Core (0.21.1).
This assembly need to reference at least Cake.Core version 0.22.0.
Another option is to downgrade Cake to an earlier version.
It's not recommended, but you can explicitly opt-out of assembly verification
by configuring the Skip Verification setting to true
(i.e. command line parameter "--settings_skipverification=true",
environment variable "CAKE_SETTINGS_SKIPVERIFICATION=true",
read more about configuration at https://cakebuild.net/docs/fundamentals/configuration)

Any guidance would be appreciated...

I think this is because I neglected to update to support Cake 0.23, pushing an update now that should fix it.

Ok, can you please try again? Use #addin "nuget:?package=Cake.ISO&version=0.1.4-alpha" to specifically target the new version. Let me know how it goes!

@austinlparker - thank you very much; all good now!


Added option to spaceship to be able to release version to all users

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
There is no way to release a version to all users after phased release has started without doing it manually on iTunesConnect or waiting for the phased release to be completed.
https://github.com/fastlane/fastlane/issues/13940
Description
I've added the necessary code to be able to release a live version to all users. I didn't need to modify existing code, so there should be no breaking changes. I've based my code on the existing release! methods.
I've tested that this new feature is working by actually releasing an app version which was currently on phased release to all users by using the locally modified version of fastlane.

I signed it!


Ghost roles create new minds, better tracking of roles at round end screen

About the PR
A side effect of this is that traitor objectives should break less (they're mind-keyed like they should be)
Recommended testing procedure:

Join two clients
pAI client A (activate, ghost, accept role)
Restart Round, read report, check all 3 entries present (client A, client A pAI, client B)
Disconnect either client
Restart Round, both clients should still be visible in full (including OOC names)

Recommended testing procedure 2:

Ensure that lobby is enabled --cvar game.lobbyenabled=true
Join two clients ASAP during server startup
ready up both clients
forcepreset Traitor
hopefully one client got a kill objective, if not you can add it via addobjective
do whatever you think will break things, etc
end round

Screenshots

Changelog
:cl:

fix: Much more accurate tracking of ghost roles.
tweak: Ghost roles can no longer be revived as the original player.

 /home/runner/.dotnet/sdk/5.0.100/NuGet.targets(131,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/runner/work/space-station-14/space-station-14/SpaceStation14.sln]
/home/runner/.dotnet/sdk/5.0.100/NuGet.targets(131,5): error :   Response status code does not indicate success: 301 (Moved Permanently). [/home/runner/work/space-station-14/space-station-14/SpaceStation14.sln]

testing services doing their usual thing today

In the interest of at least attempting to ensure this PR has a good test record, I ran the tests myself. The results were crashes in some sort of pathfinding test.
As it is you'll just have to deal with that.

fixes #4994

also fixes #4724 i guess (?

afaik #4724 was already fixed before this PR
what this PR does is account for disconnected clients

Didn't realize there was a formal button for that. Oh. Merge conflicts. That wasn't there five seconds ago. Hold on.

Rebased and actually ready

Ok, so you know the many, many, many reports of pAI roles not working because you have to return-to-body?
A side-effect of the mind transfer is that this fixes that.


feat: introduce support for Angular version 5

Fix https://github.com/mgechev/codelyzer/issues/409

><EMAIL_ADDRESS>build:links /home/niko/WebstormProjects/deps/codelyzer
> ts-node build/links.ts --src ./dist

Error: Cannot find module '../../style-guide-links/all.json'
    at Function.Module._resolveFilename (module.js:513:15)
    at Function.Module._load (module.js:463:25)
    at Module.require (module.js:556:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/niko/WebstormProjects/deps/codelyzer/build/links.ts:3:15)
    at Module._compile (module.js:612:30)
    at loader (/home/niko/WebstormProjects/deps/codelyzer/node_modules/ts-node/src/index.ts:290:14)
    at Object.require.extensions.(anonymous function) [as .ts] (/home/niko/WebstormProjects/deps/codelyzer/node_modules/ts-node/src/index.ts:307:14)
    at Module.load (module.js:531:32)
    at tryModuleLoad (module.js:494:12)

[niko@arch-desktop angularcli-graphql]$ git diff package.json
diff --git a/package.json b/package.json
index 35e31f9..b41c1a6 100644
--- a/package.json
+++ b/package.json
@@ -12,27 +12,27 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/animations": "^4.2.4",
-    "@angular/common": "^4.2.4",
-    "@angular/compiler": "^4.2.4",
-    "@angular/core": "^4.2.4",
-    "@angular/forms": "^4.2.4",
-    "@angular/http": "^4.2.4",
-    "@angular/platform-browser": "^4.2.4",
-    "@angular/platform-browser-dynamic": "^4.2.4",
-    "@angular/router": "^4.2.4",
+    "@angular/animations": "^5.0.0-rc.7",
+    "@angular/common": "^5.0.0-rc.7",
+    "@angular/compiler": "^5.0.0-rc.7",
+    "@angular/core": "^5.0.0-rc.7",
+    "@angular/forms": "^5.0.0-rc.7",
+    "@angular/http": "^5.0.0-rc.7",
+    "@angular/platform-browser": "^5.0.0-rc.7",
+    "@angular/platform-browser-dynamic": "^5.0.0-rc.7",
+    "@angular/router": "^5.0.0-rc.7",
     "core-js": "^2.4.1",
     "rxjs": "^5.4.2",
     "zone.js": "^0.8.14"
   },
   "devDependencies": {
     "@angular/cli": "1.5.0-rc.5",
-    "@angular/compiler-cli": "^4.2.4",
-    "@angular/language-service": "^4.2.4",
+    "@angular/compiler-cli": "^5.0.0-rc.7",
+    "@angular/language-service": "^5.0.0-rc.7",
     "@types/jasmine": "~2.5.53",
     "@types/jasminewd2": "~2.0.2",
     "@types/node": "~6.0.60",
-    "codelyzer": "~3.2.0",
+    "codelyzer": "file:../deps/codelyzer/codelyzer-3.2.1.tgz",
     "jasmine-core": "~2.6.2",
     "jasmine-spec-reporter": "~4.1.0",
     "karma": "~1.7.0",
@@ -44,6 +44,6 @@
     "protractor": "~5.1.2",
     "ts-node": "~3.2.0",
     "tslint": "~5.7.0",
-    "typescript": "~2.3.3"
+    "typescript": "~2.4.2"
   }
 }
[niko@arch-desktop angularcli-graphql]$ npm install
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >=4.0.0-beta <6.0.0 but none is installed. You must install peer dependencies yourself.

Also, why do I get the following warnings despite using Angular 5.0.0-rc.7?

@darkbasic removed one task, now you should be able to run npm run release.

I think you forgot to publish to npm?

Yes please publish the updated version.

Not published yet, will do in this week.


Bundle notifications experiment in privacy_config.json

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

develop

#4129   👈

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @nalcalag and the rest of your teammates on  Graphite


could directly set the root directory of WSL to another separate partition?

Can we directly set the root directory of WSL to another separate partition.Then we can start the Linux system independently and use it as WSL when I want.File system may be a big problem,can we use fat32 instead?

No,you can't.
WSL is using NTFS extended attributes for filesystem.
This is WSL specification.


Use FOUNDATION_FRAMEWORK on linux

The linux job started failing after ubuntu-latest was updated
from: https://github.com/actions/runner-images/blob/ubuntu22/20240908.1/images/ubuntu/Ubuntu2204-Readme.md
to: https://github.com/actions/runner-images/blob/ubuntu22/20241006.1/images/ubuntu/Ubuntu2204-Readme.md
https://github.com/swiftlang/swift-foundation/blob/main/Sources/FoundationEssentials/PropertyList/PlistDecoder.swift#L173
"The openStep format is unsupported on this platform"

Ah, I was wondering about this. Did this not work, hence the close?

@yonaskolb yea took a bit of a blind guess there before actually trying to build on linux. My assumption at the moment is that with the ubuntu-latest runner update from Swift 5.10.1 to Swift 6.0.1 we got the new swift foundation framework by default and it's likely failing to validate the plist xml files correctly here and marking them as openStep which doesn't seem to be supported in Linux.


Error while executing R Plugin Defined Function Sheet in provided sample app

Hello,
What steps need to be taken to execute R Plugin Defined Function.
Also, What is Load * extension
It is showing error in my script.
Regards,
max

Hi,
Regarding defined functions you can read about it here: https://github.com/qlik-oss/sse-r-plugin/blob/master/GetStarted.md#defining-and-using-your-own-functions
You also need to enable that functionality by changing one line in the SSEtoRserve.exe.config file, where you have to point out the functionDefinitionsFile to point to the ".\FuncDefs.json" file. You can read about the config options here: https://github.com/qlik-oss/sse-r-plugin/blob/master/GetStarted.md#configure-ssetorserve
Regarding Load * extension: You need to have the Qlik Sense Feb 2018 release, otherwise it will not work. If you have that version or a preview, there exists a known limitation regarding that the DLE (Data Load Editor) is complaining about the syntax but if the script is executed it will pass anyway.
I hope this helps you forward.

Hi,
I am facing same issue regarding the Custom defined fuctions in FuncDefs.json
In my case theSSE is reading the file & Adding the functions , BUTthese are NOT recognized in the Qlik Expression editor.
log file: <<<
FunctionType:Tensor, ReturnType:String
2018-03-20 06:17:07.5746 INFO Added defined function, Name:ConcatStringsAggr, Id:1, FunctionType:Aggregation, ReturnType:String
2018-03-20 06:17:07.5746 INFO Added defined function, Name:CurrentTimeCached, Id:2, FunctionType:Tensor, ReturnType:String
2018-03-20 06:17:07.5746 INFO Added defined function, Name:CurrentTimeNotCached, Id:3, FunctionType:Tensor, ReturnType:String
2018-03-20 06:17:07.5746 INFO Added defined function, Name:SumOfRow, Id:4, FunctionType:Tensor, ReturnType:Numeric
2018-03-20 06:17:07.5746 INFO Added defined function, Name:SumOfCol, Id:5, FunctionType:Aggregation, ReturnType:Numeric
2018-03-20 06:17:07.5746 INFO Added defined function, Name:SumAndMulOfRow, Id:6, FunctionType:Tensor, ReturnType:Numeric
2018-03-20 06:17:07.5746 INFO Added defined function, Name:STSCorelation, Id:7, FunctionType:Aggregation, ReturnType:Numeric
2018-03-20 06:17:07.5902 INFO Capabilities created: identifier (Qlik SSEtoRserve plugin), version (v1.2.0), allowScript (True), defined functions (8 Functions defined)

But in my Expression editor none of these functions are recognized.
Please comment & help

If you have not done it already, restart Qlik Sense since that is the only way to pick up the new functions in Qlik.
If you already have tried that, are any R methods available (like the scripteval...)? If not then I think you have a general connection problem between Sense and SSE plugin and in that case check if the defined port is correct and so on.


[bug] moon query task in case of an error shall report which task causing the error and allow @in to be used in command and scripts with another token defined inputs and outputs

Describe the bug
Having illegal task definition like this one:
# yaml-language-server: $schema=https://moonrepo.dev/schemas/project.json

language: "yaml"
stack: "backend"
type: "configuration"

fileGroups:
  rest: [src/!(root.yaml)]
  root: [src/root.yaml]
  all: [src/*.yaml]
  srcConfig: [redocly.src.yaml]
  genConfig: [redocly.gen.yaml]
  outSchema: [dist/schema.yaml]

platform: system
tasks:
  lint:
    script: npx redocly lint --config @in(0) @in(1)
    inputs:
      - "@files(srcConfig)"
      - "@files(sources)"
  build:
    script: >
      npx redocly join @in(0) @in(1) -o @out(0) --without-x-tag-groups --lint-config off &&
      echo \"security:\n  - bearerAuth: []\" >> @out(0)
    inputs:
      - "@files(root)"
      - "@files(rest)"
    outputs:
      - dist
    deps:
      - "~:lint"

And then running moon query tasks, I have an error message saying
app % moon query tasks
Error: token_expander::invalid_index_reference

  × Token @in(0) is referencing another token or an invalid value. Only file paths or globs can be referenced by index.

Steps to reproduce

Use the moon.yaml definition above and run moon query tasks

Expected behavior

When error is reported it shows which line/command/yaml path caused the error.
E.g.

app % moon query tasks
Error: token_expander::invalid_index_reference

  × app - tasks.lint.script: Token @in(0) is referencing another token or an invalid value. Only file paths or globs can be referenced by index.

@in, @out tokens can be used in command/script definitions, when inputs or outputs themselves defined via token.

I don't think that 2 is really hard to achieve, in the end it's a recursive resolution, and taking that files group can't have recursive tokens definition, then we have here maximum 2 levels recursion resolving the actual substitution value.
Environment
  System:
    OS: macOS 14.4.1
    CPU: (12) arm64 Apple M3 Pro
    Memory: 79.88 MB / 36.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.1 - ~/.nvm/versions/node/v20.11.1/bin/node
    npm: 10.2.4 - ~/.nvm/versions/node/v20.11.1/bin/npm
    pnpm: 8.15.6 - /opt/homebrew/bin/pnpm
  Managers:
    Homebrew: 4.3.9 - /opt/homebrew/bin/brew
    pip3: 24.0 - ~/Projects/backend/.venv/bin/pip3
    RubyGems: <IP_ADDRESS> - /usr/bin/gem
  Utilities:
    Bazel: 7.1.2 - /opt/homebrew/bin/bazel
    Make: 3.81 - /usr/bin/make
    GCC: 15.0.0 - /usr/bin/gcc
    Git: 2.39.3 - /usr/bin/git
    Clang: 15.0.0 - /usr/bin/clang
    Curl: 8.4.0 - /usr/bin/curl
    OpenSSL: 3.3.1 - /opt/homebrew/bin/openssl
  Servers:
    Apache: 2.4.58 - /usr/sbin/apachectl
  Virtualization:
    Docker: 25.0.4 - /opt/homebrew/bin/docker
    Docker Compose: 2.24.6 - /usr/local/bin/docker-compose
  IDEs:
    VSCode: 1.91.1 - /usr/local/bin/code
    Vim: 9.0 - /usr/bin/vim
    Xcode: /undefined - /usr/bin/xcodebuild
  Languages:
    Bash: 3.2.57 - /bin/bash
    Perl: 5.34.1 - /usr/bin/perl
    Python: 3.10.14 - /Users/artsiommiksiuk/Projects/backend/.venv/bin/python
    Python3: 3.10.14 - /Users/artsiommiksiuk/Projects/backend/.venv/bin/python3
    Ruby: 2.6.10 - /usr/bin/ruby
  Databases:
    PostgreSQL: 14.11 - /opt/homebrew/bin/postgres
    SQLite: 3.43.2 - /usr/bin/sqlite3
  Browsers:
    Chrome: 126.0.6478.128
    Safari: 17.4.1

moon 1.27.2

When error is reported it shows which line/command/yaml path caused the error.

This isn't possible. Token expansion happens during project graph creation, which happens way after config is loaded/validated. We can probably get the task name in there though.

@in, @out tokens can be used in command/script definitions, when inputs or outputs themselves defined via token.

This may now be possible after some recent rewrites. Let me check.

Well, task name I think will do. At least something to localize the problem.
Good, would be nice.  😊

Good news, it is possible. Will patch soon.


[Metal] Fix depth camera sensor

🦟 Bug fix
Follow up to #498
Summary
This fix adds default parameters to the Metal fragment shader definitions in the depth camera and selection buffer materials.
A depth camera would not render correctly (black screen) on macOS using Metal shaders. This can be reproduced either using the depth_camera example or by including a depth_camera sensor in a SDF model and displaying the image in Gazebo.
After the PR the depth_camera example and Image display are working correctly.

Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

This pull request has been mentioned on Gazebo Community. There might be relevant details there:
https://community.gazebosim.org/t/new-ignition-releases-2022-03-01-citadel-edifice-fortress/1313/1


GitOps deployment with GitLab

Hi!
Would you be open to a contribution on how to do GitOps with the GitLab Agent for Kubernetes?
I am a product manager from GitLab. We are developing the Agent, and would love to contribute (and maintain) this example if you are open to it.
Let me know what you think!

Yes, very welcome

Thanks @nagyv, the more examples the better.


consolidate python indent config

The current python indent plugin relies on 5 global variables for its config:
g:pyindent_continue
g:pyindent_disable_parentheses_indenting
g:pyindent_nested_paren
g:pyindent_open_paren
g:pyindent_searchpair_timeout

This PR consolidates all of them inside a single g:pyindent dictionary variable.

Also, the current plugin indents a multiline dictionary such as:
dict = {
'a': 1,
}

Like this:
dict = {
    'a': 1,
    }

Some people might prefer this:
dict = {
    'a': 1,
}

This is given as an alternative in PEP8.
It seems to be the only way in the Google python style guide.
And it seems to be the default way for the black Python formatter.
This PR adds a new key inside g:pyindent: closed_paren_align_last_line.  By default it's true to preserve the old way of aligning closing parens.  But when reset to false, the user can get the other type of alignment.
The help is updated, and a test is included.
I'm not sure how reliable it is yet.

Unrelated, but why is the Vim comment leader used inconsistently in html.in?
In particular, there are 2 START_INDENT lines in this file; one is commented with ", the other with %.  To be consistent, I think every " used as a comment leader should be replaced with a % character:
diff --git a/runtime/indent/testdir/html.in b/runtime/indent/testdir/html.in
index b62c67ddb..4783a096d 100644
--- a/runtime/indent/testdir/html.in
+++ b/runtime/indent/testdir/html.in
@@ -1,7 +1,7 @@
-" vim: set ft=html sw=4 ts=8 :
+% vim: set ft=html sw=4 ts=8 :

-" START_INDENT
+% START_INDENT
 <html>
     <body>
 <style>
@@ -50,7 +50,7 @@ text
     </body>
 </html>

-" END_INDENT
+% END_INDENT

 % START_INDENT
 % INDENT_EXE let g:html_indent_style1 = "inc"

It might be a good idea to take this opportunity to change the prefix to use the filetype prefix as is generally done for these config variables.  Both the syntax file and ftplugin are using the python_ prefix.  So, pyindent becomes python_indent.

Unrelated, but why is the Vim comment leader used inconsistently in html.in?
In particular, there are 2 START_INDENT lines in this file; one is
commented with ", the other with %.  To be consistent, I think
every " used as a comment leader should be replaced with a %
character:

It should not matter, but keeping it consistent is nicer.
--
I'm sure that I asked CBuilder to do a "full" install.  Looks like I got
a "fool" install, instead.		Charles E Campbell, Jr, PhD
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

It might be a good idea to take this opportunity to change the prefix to the filetype name as is generally done for these config variables. Both the syntax file and ftplugin are using the python_ prefix. So, pyindent becomes python_indent.

OK, I replaced the pyindent_ prefix with the python_indent dictionary.

It should not matter, but keeping it consistent is nicer.

Maybe it doesn't matter here, but I think I was confused and thought it was OK to use " as a comment leader in the python tests.  It turns out that we can't because then the syntax – which the indent plugin sometimes inspects – gets wrong (synIDattr() might unexpectedly return pythonQuotes instead of pythonString).

I have no idea how to resolve the conflicts which started after the latest update of the runtime files.  I'll open a new PR later.

The current python indent plugin relies on 5 global variables for its config:
g:pyindent_continue
g:pyindent_disable_parentheses_indenting
g:pyindent_nested_paren
g:pyindent_open_paren
g:pyindent_searchpair_timeout

This PR consolidates all of them inside a single g:pyindent
dictionary variable.

That sounds good.  I see backwards compatibility is also taken care of.
Just one thing that might be a problem for (very few) users: if one of
the old variables is changed after the first invocation, then the new
value won't be picked up.  Perhaps it's better to not modify the
g:pyindent variable, and instead fill s:pyindent each time it is used.
--
DENNIS:  Listen -- strange women lying in ponds distributing swords is no
basis for a system of government.  Supreme executive power derives
from a mandate from the masses, not from some farcical aquatic
ceremony.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


An error in BinnedData class using a list for the time bin

When I defined time_bins as a list in the input yaml file for the dataIO class, I received the following error. How can I set min_time? Maybe it should be self.min_time?
---------------------------------------------------------------------------
UnboundLocalError                         Traceback (most recent call last)
File <timed exec>:5

File ~/Work/Exp/COSI/cosipy-2/soft/cosipy/copy/data_io/BinnedData.py:66, in BinnedData.get_binned_data(self, unbinned_data, output_name, make_binning_plots, psichi_binning, psichi_old)
     62     time_bin_edges = np.linspace(min_time,max_time,num_bins+1)
     64 if type(self.time_bins).__name__ == 'list':
     65     # Check that bins correspond to min and max time:
---> 66     if (self.time_bins[0] > min_time) | (self.time_bins[-1] < max_time):
     67         print()
     68         print("ERROR: Time bins do not cover the full selected data range!")

UnboundLocalError: local variable 'min_time' referenced before assignment

Hi @hiyoneda, Indeed this is a bug. I fixed it now in PR #114. Until this PR is merged, can you just comment out the lines 66-70 in BinnedData.py (linked below)?
https://github.com/cositools/cosipy/blob/f9b2cba4c08f92b13e924bd0a37aee3f79631f89/cosipy/data_io/BinnedData.py#L66C1-L70C27.


Continuation annotations not saved

It looks like annotations with "Annotation is continuation of previous argument" are not saved.

No, rather the annotationComment failed to synchronize even though the annotation was. May have been just a delay.


Triplet loss with classification

Hi Nan,
really helpful blogpost!
I am trying to extend your code and add classification to the triplet problem. In my case I am trying to learn a classifier for two MNIST digits.
First I am generating triplets of 1s and 2s like this:
# Load and prepare MNIST data
mnist <- dataset_mnist()
x_train <- mnist$train$x
y_train <- mnist$train$y
x_test <- mnist$test$x
y_test <- mnist$test$y

dim(x_train) <- c(nrow(x_train), 784)
dim(x_test) <- c(nrow(x_test), 784)
x_train <- x_train / 255
x_test <- x_test / 255

ok <- which(y_train %in% c(1,2))
x_tmp <- x_train[ok,]
y_tmp <- y_train[ok]

ones <- which(y_tmp == 1)
ones <- sample(ones)
twos <- which(y_tmp == 2)
twos <- sample(twos)

tmp_one <- do.call(rbind, lapply(ones[1:5000], function(x){
  anchor <- x
  positive <- sample(setdiff(ones, x), 1)
  negative <- sample(twos, 1)
  c(anchor, positive, negative)
}))

tmp_two <- do.call(rbind, lapply(twos[1:5000], function(x){
  anchor <- x
  positive <- sample(setdiff(twos, x), 1)
  negative <- sample(ones, 1)
  c(anchor, positive, negative)
}))

triplets <- rbind(tmp_one, tmp_two)
triplets <- triplets[sample(1:nrow(triplets)), ]

Next, I tried to adapt your implementation to my scenario:
# Define keras triplet model ####
loss_identity <- function(y_true, y_pred) k_mean(y_pred - 0 * y_true)

# margin-based triplet loss
loss_margin_triplet <- function(x) {
  embed_user <- x[[1]]
  embed_item_positive <- x[[2]]
  embed_item_negative <- x[[3]]

  loss <- k_maximum(
    0.0,
    k_sum(embed_user * embed_item_negative, axis = -1, keepdims = TRUE) -
      k_sum(embed_user * embed_item_positive, axis = -1, keepdims = TRUE) +
      10.0
  )

  loss
}

# input layers for items (positive and negative)
input_item_anchor <- layer_input(shape = c(784), name = "input_item_anchor")
input_item_positive <- layer_input(shape = c(784), name = "input_item_positive")
input_item_negative <- layer_input(shape = c(784), name = "input_item_negative")

layer_embed_item <- layer_embedding(
  input_dim = 10000, output_dim = 2, name = "embed_item")

embed_item_anchor <- input_item_anchor %>%
  layer_embed_item() %>%
  layer_flatten()
embed_item_positive <- input_item_positive %>%
  layer_embed_item() %>%
  layer_flatten()
embed_item_negative <- input_item_negative %>%
  layer_embed_item() %>%
  layer_flatten()

# margin-based triplet loss is the output
loss <- list(embed_item_anchor, embed_item_positive, embed_item_negative) %>%
  layer_lambda(loss_margin_triplet, output_shape = c(2))

# define model inputs/outputs
model <- keras_model(
  inputs = c(input_item_anchor, input_item_positive, input_item_negative),
  outputs = loss
)

model %>% compile(loss = loss_identity, optimizer = optimizer_nadam())

However, I am not quite sure how to continue. Why do we use the loss_identity() function in the compilation step? Dont we want the triplet loss?
Also, how would I add another classification layer to the network?

Hi @lkmklsmn -thanks for the questions!
The identity loss is only an engineering workaround for Keras to use the custom triplet loss: having this identity loss as a "decoy", we can just minimize the margin-based triplet loss (called in the lambda layer) or any custom loss we want to learn the embeddings. I'm not sure if there are more elegant solutions for this now, but this is probably the quickest one I can think of.
Conceptually, I'm not sure if such (Siamese) networks can be adapted to build a classifier. The prediction result will not be about which number category an image belongs to -- depending on the type of triplets you define, it's probably more about if two images represent the same number or not, and that is not strictly "classification".
For the prediction itself, there's probably no need to add extra layers. Remember our goal here is merely to learn the embeddings. After getting the embeddings, you'll be able to do predictions (on if two images are similar or not): https://github.com/road2stat/deep-learning-recipes/blob/master/triplet-loss-keras/metric-auc.R#L3-L13

Thx for the reply!
I guess training a RF on the learned embedding would be one way to "add" classification to it, no?
However, any testing data will have to come in triplets, correct?
How would I construct those triplets? Take one test sample and compare with two classes (2 class classification) from the training data? Would this be overfitting?

I think that may depend on the specific problem and essentially, your definition of "classification". Take face recognition as an example, the face database has many classes (different people's registered faces), you trained the model with a triplet loss on this data. The testing input is a new face, and the output is: for each existing face, we predict the probability if the input face is the same face as the existing face (class). This can be considered as "classification" under the context of image recognition.
Only the training data is in the form of triplets. On testing data, for recommender systems, depending on what you have and you want to predict, the testing data can come in as a user, an item, or a user-item pair (or generally speaking, a user-item pair eventually). For face recognition, the testing data is usually a face image (as the "user", and the "item" would be all the existing faces in the database).
You can construct triplets offline or online, it can be as simple as random sampling, or as complicated as solving a standalone optimization problem. Here are some examples: https://omoindrot.github.io/triplet-loss
Again, if you only have two classes (or even many more classes) of images and their labels, then (I believe) the CNN would be a much more effective way to build a model for classification (also learning the layered representation for images), since it doesn't have the "hard negative mining" issue like the triplet loss models do.


Address book. Looks broken without matrixID.

Description
without matrixID column, Address Book looks broken:

The second item with matrix ID should be deleted and the first item with account should be a full container.  The size of the row should stay the same.
Example

Status verification: ❌
What has been verified:

Hover state for edit button too slim

Status verification: ✅


Add method_missing to Maybe, which delegates to #fmap

Definitely opinionated and the lack of explicitness could be a bad idea, but I like it as it makes your code cleaner. I completely understand if you don't want to merge this, just an idea.
This change adds method_missing to Maybe which delegates calls to #fmap.
Instead of writing:
thing.fmap { |t| t.some_method('with', 'args') }.fmap { |t| t.another_method(123) }

You can do:
thing.some_method('with', 'args').another_method(123)

The problem is it has nothing to do with monads. I'm not particularly against something like this in a statically typed language but in ruby it could be misleading for the user and that's why I don't want to have it in the library. You can always monkey patch Maybe in your code, it'll be fine, nothing in the gem relies on respond_to?.


Exception Handling for Apihandler

Frequently finding myself doing things like this:
var response = Apihandler.DoStuff();
if( response.HasException ) {
//log message
}
We can find a better way to do this. Some way to specify a callback and optional message to allow different logging methods.

We should at least leave it as optional. It's a bit better than
try{
   ApiHandler.DoStuff();
} catch(Exception e) {
   //let's pretend we'll log this in the future
}

I could see this being helpful with tight loops doing the same thing over and over, in an attempt to limit code stink. Something like:
ApiHandler.OnException(() => {
   //log
   continue;
});

for(var i = 0; i < 1000; i++) {
   var accountId = i;
   var Account = ApiHandler.GetAccount(accountId);

   //exceptions would happen since it'd be empty or null, but we want the loop to continue
   Account.DoMoreStuff();
}

Not sure if the continue would even work there, and not particularly impressed with how it looks. Wouldn't throwing an Exception be a more ideal method to get what you are aiming for?

I'm starting to like syntax like so:
'''
ApiHandler.Ticket.GetList(credentials,
onFail: (apiResponse) => {
//handle failure
});
'''
What do you suggest doing after the onFail callback though? Won't you still have to check the returned message?
Tempted to close this, since I don't think the code stink is too massive with the if-then. Can always extract to a method as necessary, which would happen anyways when there's a lot to do in the failure scenario.
I definitely see a point to being able to specify a global error handler (for logging or otherwise). This coincides with a possible shift to a "Service" object rather than passing the credentials around on each call. Thoughts?

@AdamHong, an option would be adding a global PostRequest handler, similar to what we do before requests (see the ApiRequestSettings.GlobalPreRequest delegate).


Confusion on the configuration in Training

Hi authors,
Thanks for the great work! I was wondering that do you always feed two images to the MI-BART backbone in the implementation? Thanks!

Hi, thanks for exploring our work.
Earlier we had a generic version where we use an additional parameter k (<=4) to let the model know the number of images so that it could differentiate features of different images. In this case, for those samples which have less than 4 images, we pad zeros in their place.
However, after conducting few experiments, owing to our dataset restrictions, K=2 yielded better results.
For RETVQA, we always have multiple-images (i.e., 2), for WebQA training we do not have multiple images for all samples, in such cases we pad with zeros (in place of extra image features).


RabbitMQ message properties cannot be read

(This issue was originally filed by @Fresa at https://github.com/elastic/logstash/issues/2069)

There does not seem to be a way to include the message properties from a RabbitMQ message into logstash? Headers, message id and correlation id for example.

I'm not a ruby expert but it seems that the march_hare plugin used by logstash-input-rabbitmq can't retrieve message properties to consumers (like original routing key).

Yes, it can. Small nit pick: routing key is not a message property, it's a part of the delivery metadata.

This has been fixed in https://github.com/logstash-plugins/logstash-input-rabbitmq/pull/65


chore(package): update rollup to version 1.2.0

:tada: This PR is included in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Support] Challenge failed for domain docker.xyz.com

Steps Which I performed

Create a new instance
Added IP of that instance to A record
Opened ports for 80,22,443
Cloned project
installed docker and docker-compose
Ran ./init-letsencrypt.sh file
throws error Challenge failed for domain docker.xyz.com

please guide I am stuck here and do let me know for any of your findings

What I found that, suppose I manually install Nginx and hit the Url then I am able to see the Nginx default page

I've got the same problem. I'm running on a clean VPS with Docker installed, using this repository exclusively to test.
I've made a 'test' file using echo test >> index.html within ./data/certbot/www to test http://***.com/.well-known/acme-challenge/test which seems to be working fine.
error running ./init-letsencrypt.sh:
IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: ***.com
   Type:   unauthorized
   Detail: Invalid response from
   http://***.com/.well-known/acme-challenge/_nj6tMpsn9POrHsXoa91UqPcpldhEB0pb88KuMN3_sM
   [2a02:2268:ffff:ffff::4]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD
   HTML 2.0//EN\">\n\n<title>404 Not
   Found</title>\n\n
Not Found
\n<p"

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

app.conf:
server {
    listen 80;
    server_name ***.com;
    server_tokens off;

    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name ***.com;
    server_tokens off;

    ssl_certificate /etc/letsencrypt/live/***.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/***.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass  http://***.com;
        proxy_set_header    Host                $http_host;
        proxy_set_header    X-Real-IP           $remote_addr;
        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    }
}

Did you make any progress @abhilashshettigar?


Correct things

PR Checklist
Please check if your PR fulfills the following requirements:

[X] The commit message follows our guidelines:
[] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[ ] No

Other information

@oliuz
Can you please add What is the new behavio

Hi @getspooky
For some reason, when I was working on some changes in my fork of the package ... I deleted the last changes that you had made, they were recovered again!


False compile errors after some editing

Tested with VS Code.
After some editing I start getting these non-sense (there is no error of course) messages:

This didn't appear earlier, so I think it's somehow connected with latest commits.

Facing the same issue.
The setup:

OS - macOS Mojave 10.14.3
Go - 1.11.5
GO111MODULE - not set
Client - VS Code 1.31
vscode-go - 0.9.2
Project uses go modules

Bingo Config:

Version - latest

"go.languageServerFlags": [
    "-format-style=gofmt",
    "-cache-style=on-demand",
],

Having same issue. If I set --cache-style=none it goes away.

same issue, in my case it's context.Context

It seems this is the same issue as #89

duplicated witch #89


[Test] Storage Manager Unit Tests

Some more unit tests about the storage Manager.
New Test Cases:

Low Row Count Unit Tests (triggers different data encoding)
0 chunks to be written (should only write header to file, might be useful later on for managing files)

If anyone has more ideas about other test cases, feel free to share them with me! :)

generate_segment_offset_ends: Used by map_chunk_from_disk. Therefore, I'd say its covered.
persist_chunks_to_disk: Tested in PersistencyWriteMaxNumberOfChunksToFile, PersistencyWriteEmptyListOfChunks, PersistencyWriteSmallNumberOfRows
read_chunk_header: Used by map_chunk_from_disk. Therefore, I'd say its covered.
map_chunk_from_disk: Tested in PersistencyWriteMaxNumberOfChunksToFile, PersistencyWriteSmallNumberOfRows.
read_file_header: Tested in PersistencyWriteMaxNumberOfChunksToFile, PersistencyWriteEmptyListOfChunks, PersistencyWriteSmallNumberOfRows.


73 wrong route for sidebar general tab

Coverage remained the same at 85.246% when pulling 9eba7a0b8babe221275a57fc5ea9caa4dd1f553d on dmitrymalakhov:73-wrong-route-for-sidebar-general-tab into e9e29e8de491428dcc08f6444d0146ec3a2006f3 on bcrumbs:master.


Support for none reference projects

Hi, we need support for generating ts files in a project without adding a reference to another project.
Example, in Project 2 we need to generate ts files for content in Project1 WITHOUT having a reference to Project1:
${
import "Project1";
}
This import would simply include the Project1's file in the generation without needing a project reference.

Hi @cannehag,
Great idea! I'm currently working on a settings API similar to your solution, and this could definetly be included there.

Cool, let me know when you have something working then :)

@cannehag, I just released Typewriter 1.2 which resolves this issue. You can now add a template constructor to configure settings om the template.
${
    Template(Settings settings)
    {
        settings
            .IncludeProject("Project1")
            .IncludeProject("Project2");
    }
}


Error in build test

When I build the test with
bazel test //tcmalloc/...
It throws
ERROR: /home/anzz/.cache/bazel/_bazel_anzz/915384a0ef4d78473a63d7e16d3b9c02/external/abseil-cpp~/absl/status/BUILD.bazel: no such target '@@abseil-cpp~//absl/status:status_matchers': target 'status_matchers' not declared in package 'absl/status' defined by /home/anzz/.cache/bazel/_bazel_anzz/915384a0ef4d78473a63d7e16d3b9c02/external/abseil-cpp~/absl/status/BUILD.bazel ERROR: /home/anzz/tcmalloc/tcmalloc/internal/BUILD:809:8: no such target '@@abseil-cpp~//absl/status:status_matchers': target 'status_matchers' not declared in package 'absl/status' defined by /home/anzz/.cache/bazel/_bazel_anzz/915384a0ef4d78473a63d7e16d3b9c02/external/abseil-cpp~/absl/status/BUILD.bazel and referenced by '//tcmalloc/internal:profile_builder_no_tcmalloc_test' ERROR: Analysis of target '//tcmalloc/internal:profile_builder_no_tcmalloc_test' failed; build aborted: Analysis failed INFO: Elapsed time: 0.284s, Critical Path: 0.00s INFO: 0 processes. ERROR: Build did NOT complete successfully ERROR: No test targets were found, yet testing was requested
I am confused why it can't find status_matchers?

I got the same question. The reason is that the abseil-cpp that declared in MODULE.bazel is a little outdated.
change corresponding line to
bazel_dep(name = "abseil-cpp", version = "20240722.0", repo_name = "com_google_absl")
`
will solve it.


Fix billboards when clamped to ground with depthTestAgainstTerrain

Fixes #2694
Before:

After:

This only changes billboards using HeightReference.CLAMP_TO_GROUND
When the camera is greater than 2000m away from the billboard, use normal depth test against terrain

2000 was picked arbitrarily through testing to see what looked reasonable

When the camera is closer than 2000m to the billboard, check if the top left, top right and anchor points are behind terrain.  If all 3 points are behind terrain, hide the billboard.  Otherwise, show the billboard.

This can cause the billboard to show through terrain in some edge cases, but I think overall it's a vast improvement to what we have and brings us closer to enabling terrain by default.

Test code:
var viewer = new Cesium.Viewer('cesiumContainer', {
    terrainProvider: Cesium.createWorldTerrain()
});
viewer.scene.globe.depthTestAgainstTerrain = true;

var e = viewer.entities.add({
    position : Cesium.Cartesian3.fromDegrees(-122.1958, 46.1915),
    billboard : {
        image : '../images/Cesium_Logo_overlay.png',
        heightReference : Cesium.HeightReference.CLAMP_TO_GROUND,
        verticalOrigin: Cesium.VerticalOrigin.BOTTOM
    }
});

viewer.trackedEntity = e;

Thanks for helping me with this @bagnell!
What's the best way to write tests for this kind of thing?

I haven't seen the code yet, but I imagine you need to mock the globe so the clamp to ground just returns some constant height value. Also, see the ground primitive tests
and classification tests. They change the primitive commands to execute during the globe pass which will be written into the globe depth texture.

@bagnell I tried to write some tests, but everything breaks down trying to do a render test with height referenced billboards because it relies on the QuadtreePrimitive for adjusting the heights.  I'm guessing we don't have a good way to mock that and that's why we don't have any render tests for billboards using a height reference.
I think this is ready for review.  If you had other ideas for how to add tests let me know

@bagnell ready for another look.
Any ideas for what we can do for labels? I guess each letter is a separate billboard, which doesn't work well with this approach.

var viewer = new Cesium.Viewer('cesiumContainer', {
    terrainProvider: Cesium.createWorldTerrain()
});
viewer.scene.globe.depthTestAgainstTerrain = true;

var e = viewer.entities.add({
    position : Cesium.Cartesian3.fromDegrees(-122.1958, 46.1915),
     label : {
        text : 'Clamped to ground',
        heightReference : Cesium.HeightReference.CLAMP_TO_GROUND,
        horizontalOrigin : Cesium.HorizontalOrigin.CENTER,
        verticalOrigin : Cesium.VerticalOrigin.BOTTOM,
        fillColor : Cesium.Color.BLACK,
        showBackground : true,
        backgroundColor : new Cesium.Color(1, 1, 1, 0.7),
        backgroundPadding : new Cesium.Cartesian2(8, 4)
    }
});

viewer.trackedEntity = e;

Look for translate in the vertex shader. It is the pixel offset to move each billboard in a label.
Did you test this with all of the other billboard options? You'll have to account for pixelOffset, sizeInMeters, *ByDistance, and others.

@bagnell as far as I can tell, this is working correctly with things like scale, pixelOffset *ByDistanceandsizeInMeters`.
The problem with the label is that each letter is checking the bounds of that letter instead of checking the bounds of the entire label.  That's why each letter flickers individually.

Can you add another attribute for the size of the whole label?

CHANGES.md.

@bagnell this is ready for another review

You can get the background to disappear but not the glyphs. I used the code you posted above but changes the horizontal origin to be LEFT and the text is just 'Clamped'.

The code looks good to me. The biggest thing would be executing that code in the vertex shader when possible.
Does anyone else want to test?

You can get the background to disappear but not the glyphs.

This was happening because of a slight discrepancy in the eyeDepth value of for the label glyphs and the background.  I fixed it by making the epsilon value I added to eyeDepth larger.  I'm not sure if that's the best solution, but the results were good

@bagnell I think this is ready now

I can still get the background to disappear and some of the label glyphs disappear before others. This is with the vertical origin at the top and horizontal origin at he left.

This crashes in IE since it doesn't have depth texture support.

@bagnell thanks for catching that.  I changed IE so it has the behavior currently in master.  I also tested Firefox and Edge and they both work great.  And all the tests pass locally.
Anything else?

I still see the missing glyphs when the origin is left center. I also see all the glyphs disappear but the background is still visible when the origin is right center.

This is with the scale set to 1.5:

I'm seeing some strange behavior with rotated billboards. This has an origin at the bottom center and a rotation of pi/4.

Dagnabbit.  I thought I checked all the weird properties but I guess I missed some stuff 😓

@bagnell I fixed scale and rotation/alignedAxis.  I'm a little stuck on sizeInMeters though

To fix sizeInMeters, multiply anything that has units in pixels with czm_metersPerPixel(eyeCoordinates).

@bagnell This should be ready for another look
I do still occasionally see blinking letters because of what I mentioned in this comment: https://github.com/AnalyticalGraphicsInc/cesium/pull/6621#issuecomment-398516724
The PR you submitted made it better, but it didn't fix it completely.  I'm going to play around with adding floor to different pixel calculations to see if that fixes it.  Right now the way we compute translate has all kinds of fractional values and I think things like that are causing the lookup to be 1px off every now and then.
But I believe I've fixed everything that was really wrong.  I tested a combination of different origins, scale, rotation and it seems to have pretty good behavior.

I'm going to play around with adding floor to different pixel calculations to see if that fixes it.

Be careful with this, clamping pixels can lead to very undesired behavior (especially when the text is moving).  That's the main reason we stopped clamping to screen space.  Not saying it applies here, just something to be aware of.

Be careful with this, clamping pixels can lead to very undesired behavior (especially when the text is moving)

@mramato thanks for noting that.  I should be able to make the location of the depth lookup consistent without effecting the position of the billboards.

@bagnell nope, that didn't seem to help with the label letters.  Do you have any ideas?  I feel like it only happens if you're trying really hard and might not be a huge issue in normal application use.  Regardless, the behavior here is way better than what's in master now.

This looks good to me. I wasn't able to reproduce the missing letters at all where the last time I commented I could reproduce it reliably.
I'm merging this but don't forget about #6699.

Is there a reason that this change only affects billboards with HeightReference.CLAMP_TO_GROUND? I'm having the same issues with billboards that are very close to (but not clamped to) the ground, so I had hoped that those would be fixed by this change.
On a side note, in my specific case, I was looking for a way to hide billboards based on ONLY the anchor point's visibility. Perhaps that could be an option in the future!

@esparano good point, this would also be useful for labels "on" 3D buildings, etc.
@hpinkos how hard is it to make this a separate boolean?  If easy, maybe do this soon; otherwise, submit an issue.  Should it default to true?  Is there ever a case when it should be false...hmm, might not need a flag at all if everyone likes the new depth testing...I dunno.


refactor Cargo project analysis into its own crate

which is shared with the cargo stack-sizes subcommand

bors r+


Create presentation on Python packages guidance

This issue focuses on creating a presentation on Python packages to be given to a Krishnan Lab audience on Tuesday 1/30/2024. Duration: ~30min-1hour max. ~50minutes is common, with ~10 minutes for Q&A.

Closing with the merge of #18


Will you add writing tags functions?

As like the topic

@SilvesterLi I did this project as a freelancer but a writing tag was not needed that's why I didn't add it


lorri: set version correctly

Motivation for this change
Currently the lorri version is always reported as "1" because the result of fetchFromGitHub does not have a revCount field. This is a problem when we're trying to support lorri users because we don't know which version they are on.
More context: https://github.com/target/lorri/issues/219.
Before this change:
$ ~/Code/nixpkgs/result/bin/lorri info
lorri version: 1
Lorri Project Configuration

expression: <path>/shell.nix

After this change:
$ ~/Code/nixpkgs/result/bin/lorri info
lorri version: 310
Lorri Project Configuration

expression: <path>/shell.nix

Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

We'll do this a different way. I'll link to the relevant lorri ticket to describe follow-up work.


[JENKINS-32827] Add possibility to hide form elements

added new script option to configure the visibility of parameters
visibility script must return a boolean value, true by default
allow to use referenced parameters for cascade updates
added some unit tests

wrong repo, will create new PR in jenkinsci


Implement 404 Page

when user puts incorrect url at browser (s)he should be forwarded to this page.

implemented


Tado-AC-Control

I added a Tado-AC-Control - since that I see new error in my logfile corresponding with the tado adapter. See screenshot attached. These errors occur every time the adapter pulls data from the tado cloud.

logfile.txt

double entry to https://github.com/iobroker-community-adapters/ioBroker.tado/issues/30?

PR-Merged, 0.2.0 will be released today .... Thank you @HGlab01 !


New property for getting a specific point of a view

First, a new struct that stores the target view and the target point.
Getters like someView.nal.top or someView.nal.safeArea.top, someView.nal.viewArea.top
As a result, current methods like pinTop(to: someView, s: .top, safeAreaOnly: true) can also be written as pinTop(to: someView.nal.safeArea.top), which is much easier to read.

Maybe getters should be like someView.nal.properties.safeTop

This fix contains fundamental changes to the library, so unfortunately this should be fixed in next major release

Closed by !60


chore: remove API and private keys from .env file

Few things:

I don't think we want to expose any etherscan API keys we use. We also don't want to expose any private keys.
Not sure where this private key comes from, likely a ganache/anvil generated account, but nonetheless, I think the .env.example file is meant to be copied to .env and then changes are done there.

@rymnc unable to add you as reviewer here, so pinging via comments.

They're boilerplate, as mentioned in https://github.com/vacp2p/rln-contract/pull/23 we can merge this though


Updated Version of #93

Updated Version of #93
Fixed Conflicts
All Submissions:

[x] I have read the CONTRIBUTING document.
[x] My code is written in Python3 and is ending with .py
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] I have checked that my submission does pass the test on LeetCode.com
[x] Does your filename follow the naming Conventions?
[x] Have you linked your PR to an Issue?

@adityaarakeri please look into it

@adityaarakeri this has no conflicts