fix: clear duplicated report data

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/45035
PROPOSAL: https://github.com/Expensify/App/issues/45035#issuecomment-2219829082
Tests

Pre-requisite: In Onyx we should have different duplicated report record (report.preexistingReportID is not empty). Some of the duplicated report record should be shown in the LHN

Go to NewDot
Observe LHN

Verify that: All reports or IOU displayed with username and message. When clicking on these report it won't show not found page.

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

Offline tests

QA Steps

Pre-requisite: We should have different duplicated report records (report.preexistingReportID is not empty). Some of the duplicated report record should be shown in the LHN

Go to NewDot
Observe LHN

Verify that: All reports or IOU displayed with username and message. When clicking on these report it won't show not found page.

[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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[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:

[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 grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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 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(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[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.

Screenshots/Videos

Android: Native

N/A

Android: mWeb Chrome

https://github.com/Expensify/App/assets/165644294/64678237-120a-41db-ba0d-31e9ac38861b

iOS: Native

N/A

iOS: mWeb Safari

https://github.com/Expensify/App/assets/165644294/dcd96e4d-ffc1-4ba9-8572-c8b21db81ded

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/165644294/f00430a4-f540-47d7-879a-83870073f63e

MacOS: Desktop

https://github.com/Expensify/App/assets/165644294/f00430a4-f540-47d7-879a-83870073f63e

Excellent! Give me a couple of days to test this PR well.

Excellent! Give me a couple of days to test this PR thoroughly.

Excellent! Give me a couple of days to test this PR thoroughly.

@dominictb will you be able to address the feedback today?

Thank you very much @dominictb, I'll continue testing, I haven't tested it in native yet, I'll come back with the checklist ASAP.

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
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[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 grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[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 reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/a88cf3cd-0a0b-4aa2-97fa-f45f0bc70fc4

MacOS: Desktop

https://github.com/user-attachments/assets/2dc4294a-c271-431f-b7db-f3ed0b9f5589

: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.

Awesome! It's all good then :D

🚀 Deployed to staging by https://github.com/puneetlath in version: 9.0.7-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/thienlnam in version: 9.0.7-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

@puneetlath How can we create Duplicate report to validate this TC?

@mvtglobally there's not really a way, but I QA'd it with my account which had some of these reports and it seems to have fixed it.

🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.7-8 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 9.0.8-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Full Micron markdown and field support, dark mode

This PR includes a rewrite of micron-parser.js to provide complete Micron markdown support, including input fields for submitting data to nodes hosting Micron pages. micron-parser.js is now a 1:1 reference implementation of MicronParser.py from NomadNet.
Additionally dark mode support has been added for all TailwindCSS classes

This is looking so good!

Thank you very much for your work on this :) Merged in!
I will need to look into reworking how the internal links for nomad network page downloads are handled in MeshChat, as some sites are using the link id to determine if a user is logged in.
For example, the etux node app template files:
https://codeberg.org/etux/Node_App_Template/src/branch/main/login.mu#L23
f166946957ffb27d92b196df868cc20c:/page/index.mu
However, since MeshChat establishes a new link for every page that loads, the link id changes, which breaks that functionality.
Just a side note on dark mode, I personally use light mode 😂, so you will likely notice as new features are added, dark mode support might be lacking. I'll try to extract any new UI into separate component files, but it's possible I will forget some dark mode classes here and there...
Thanks again!


Ghostscript.app

Chocolatey Version
1.3.1
Chocolatey License
None
Package Version
10.01.1
Current Behaviour
The Ghostscript.app is not installing silently and presents a GUI that must be walked through interactively.
Expected Behaviour
I would expect an automatic/ silent installation process without a GUI.
Steps To Reproduce

choco install Ghostscript.app -y
Installation GUI pops up and prompts user to click "next"

Environment
- Operating System: Windows Server 2022
- PowerShell Version: 5.1.20348.1366
- Shell: PowerShell

Chocolatey Log
https://gist.github.com/RyanLehms/ff83901d056accbc0c3f7c6ab88f1a3d

Anything else?
No response

I've just installed this, and I can't reproduce the issue as I don't get any prompt.

I've just noticed that you are installing 10.01.1 which has not passed Package Verifier. This would indicate it's broken so the behaviour you're experiencing is likely expected, until it's fixed.

The package is not available for normal install or upgrade from the Chocolatey Community Repository. Are you explicitly upgrading to that version (using the --version option) or have you internalized the package and installing from your internal source?

It looks like the 10.01.1 version was probably released at some point

That package version has never been approved. It was submitted on 27 March, failed Package Verification on 27 March and on 16 April a final message was sent to the maintainer as 20 days had elapsed with no updates.

got cached to my local repository

If you are using a caching repository, somebody may have tried to install it using the explicit version number.

and it pulled down the <IP_ADDRESS>30317 version.

That makes sense as it's the latest approved version.

So, apologies for the non-issue here. Do I need to close this out? (I'm not too familiar with the GitHub process.)

No problem. Glad you got to the bottom of it. I'll close the issue.


Enhancements to Pagination and Other Fixes

This pull request includes enhancements to pagination in the codebase. It improves the pagination functionality in various components and fixes some UI issues related to pagination.
Also adds pagination to test suite questions list page

@Ashesh3 can you make the changes? 😀

@Ashesh3 can you make the changes? 😀

Done!


Replace SceneAdder 100ms sleeps with sleeps only as long as needed

Adding scenes is slow. At the current rate (100ms), we can only add 10 scenes per second. This makes it seem very slow when adding tons of small scenes.

Instead of using an arbitrary amount of time to wait. Just have the target tell the thread after it has added the instance. This seems to work great for the shader cache.


[Feature] internal k8s error messages are actionable for general users

Motivation: Why do you think this is important?
When an error occurs with k8s starting or running a task, the resulting error message in Flyte Console is often cryptic and unactionable.
Some examples -

Pod reported success despite being OOMKilled, when a process in the task pod was OOMKilled but not pyflyte so task still completes. Reporting success despite a bad condition like OOMKilled is confusing - did the task succeed or not? What were the memory request/limits set? Which process was OOMKilled?
containers with unready status: [execution_id]|context deadline exceeded, generally when a container image cannot be pulled from the registry. This is a combination of an unclear k8s message (why is the container unready?) and a Go specific error that a general user wouldn't understand (context deadline exceeded, i.e. timed out waiting). What should the user do?
[3/3] currentAttempt done. Last Error: SYSTEM::object [execution_id] terminated in the background, manually, generally when the task pod was on an instance that was spot pre-empted or otherwise removed. What does 'currentAttempt done' mean, what does 'terminated in the background, manually' mean - what manually terminated it? This error is actually benign in most cases because the retry should succeed, but the message gives no indication of that

Goal: What should the final outcome look like, ideally?
The error message should strike a balance between -

being understandable for the general user (little k8s knowledge)
contain enough info for an engineer to troubleshoot
be actionable without being too prescriptive and eliminating other causes

For example, the first error message above could be -
Task ended with one or more processes killed due to lack of memory. Current memory request is X, limit is Y. Process killed was Z. Consider increasing the memory request/limit of this task.

Alternatively, maybe an error code that a user can look up elsewhere with more info would be a better way to keep the necessary k8s detail in one place, and the general user explanation in another.
Flyte component

[ ] Overall
[ ] Flyte Setup and Installation scripts
[x] Flyte Documentation
[ ] Flyte communication (slack/email etc)
[ ] FlytePropeller
[ ] FlyteIDL (Flyte specification language)
[ ] Flytekit (Python SDK)
[ ] FlyteAdmin (Control Plane service)
[x] FlytePlugins
[ ] DataCatalog
[ ] FlyteStdlib (common libraries)
[x] FlyteConsole (UI)
[ ] Other

Additional context
See https://flyte-org.slack.com/archives/CNMKCU6FR/p1611329101012800 for some further discussion. Also seems like https://github.com/lyft/flyte/issues/512 and https://github.com/lyft/flyte/issues/535 are similar issues.
Is this a blocker for you to adopt Flyte
Nope, already a user :)

@slai thank you for this. I think the aim of Flyte should be to simplify the messaging so that a complicated technology is more approachable. I really appreciate this feedback, but I think this is a feature not a bug?

@slai thank you for this. I think the aim of Flyte should be to simplify the messaging so that a complicated technology is more approachable. I really appreciate this feedback, but I think this is a feature not a bug?

@kumare3 good point, I've updated the title and description to a feature request.

@kumare3 good point, I've updated the title and description to a feature request.

k8s event reporting is now available in the UI as of https://github.com/flyteorg/flytepropeller/pull/600


support rename attribute in FromRow macro

supports #[sqlx(rename = "xxx")] attribute in a FromRow macro

Thanks. I updated our tracking issue to mark this piece as done: https://github.com/launchbadge/sqlx/issues/156

Ohh cool this is already done! Fantastic, and it's documented here must have missed it.


Test Issue created at Thu, 25 Nov 2021 12:04:11 GMT

Test issue body  Thu, 25 Nov 2021 12:04:11 GMT

Comment on issue at Thu, 25 Nov 2021 12:04:13 GMT


API Routing refactor needed

API routes need a good ol refactor as they are pretty messy.

oo.refavtor?

oo.refavtor?

Fixed!


Cannot reproduce results from the original papers

Hello @gemcollector
I have been trying to reproduce SGQN and PIEG results for DMC. For SGQN, for walker walk environment in hard settings, I get the results about 380. For train settings, I get the results about 750. If we look at the paper https://arxiv.org/pdf/2209.09203.pdf in Table 2 (page 9), the results must be much much higher. For PIEG, the results are similar.
I know those papers work on DMC-GB from Hansen (you also mentioned in the paper), but I don't see the major difference in both the environments from the eval videos (especially for DMC case). Can you please try to replicate and see if you get the same results, or can you explain what creates the difference.
If you need log files or any further explanation, please let me know.

I again tested PIEG for walker walk environment. It gets around 540 for evaluation on hard video. It is a bit lower but comparable as per its paper (which mentions around 600).

hi, there! I uploaded some trained SGQN models, you can evaluate these models on your machine. https://drive.google.com/drive/folders/1QrwzkFPYGi5gxKUfCZHN5A8Z0LTfKLqd?usp=drive_link  I can obtain approximately ~650 scores on average in walker-walk in my Tesla A40 machine. SGQN  is a little bit sensitive to the hyper-parameters. So when I unify this framework, I adjust the hyper-parameters for about a month.  In terms of PIE-G, have you changed the feature_dim to 256 as I mentioned in the Appendix? I think if you run more seeds, the average performance will be close to 600. By the way, I run the SGQN also with 25 feature dims, you can check whether it can achieve better performance. Feel free to ask me if you have further questions!

I have trained another 2 seeds for SGQN. You can check the results here: https://drive.google.com/file/d/1gvEBWhEli_emXwSTKSpXsVn7-ENRCFFa/view?usp=drive_link. All the hyper-parameters are listed in config.yaml, and the log files are contained as well.  The generalization results are also around 650 scores.


Support for 32-bit architectures?

Hi.  I'm packaging this for Debian (because the Tillitis TKEY has it as a dependency) and ran into a self test failure on i386:
https://salsa.debian.org/jas/golang-github-ccoveille-go-safecast/-/jobs/6578765
# github.com/ccoveille/go-safecast_test [github.com/ccoveille/go-safecast.test]
src/github.com/ccoveille/go-safecast/conversion_test.go:732:43: cannot use math.MaxInt32 + 1 (untyped int constant<PHONE_NUMBER>) as int value in struct literal (overflows)
src/github.com/ccoveille/go-safecast/conversion_test.go:733:43: cannot use math.MinInt32 - 1 (untyped int constant -2147483649) as int value in struct literal (overflows)
src/github.com/ccoveille/go-safecast/conversion_test.go:886:43: cannot use math.MaxUint32 + 1 (untyped int constant<PHONE_NUMBER>) as int value in struct literal (overflows)
src/github.com/ccoveille/go-safecast/conversion_test.go:943:43: cannot use math.MaxUint32 + 1 (untyped int constant<PHONE_NUMBER>) as uint value in struct literal (overflows)
src/github.com/ccoveille/go-safecast/conversion_test.go:1083:43: cannot use math.MaxInt64 + 1 (untyped int constant<PHONE_NUMBER>854775808) as uint value in struct literal (overflows)
src/github.com/ccoveille/go-safecast/conversion_test.go:1375:43: cannot use math.MaxInt64 + 1 (untyped int constant<PHONE_NUMBER>854775808) as uint value in struct literal (overflows)
FAIL	github.com/ccoveille/go-safecast [build failed]

Could you fix this, so the package works on 32-bit platforms too?  Or is this package only for 64-bit architectures?
/Simon

Hi
I initially planned to support it.
Thanks for reminding me I should work on this.

It's a duplicate of

#6

Thank you!  Closing to avoid duplicates.

because the Tillitis TKEY has it as a dependency

For reference, is it the project you are talking about?
https://github.com/tillitis/tkeyclient


⚠ GitHub has degraded performance

In eb71d15, GitHub (https://www.githubstatus.com/api/v2/status.json) experienced degraded performance:

HTTP code: 200
Response time: 87 ms

Resolved: GitHub performance has improved in 37cdd09 after 46 minutes.


How to communicate features?

I have the feeling that a lot of features are not well explained to the users. For example did you know that the linking also works in Pull request? There is a list in the readme which outlines roughly what kind of languages and files are supported, but that's not enough.
Do you have an idea of how we could do this? I was thinking about videos / images and gifs, but they aren't easy to maintain. Any suggestions are swarml welcome.

What about adding a short animation to visualize the link replacement. On the settings page the user can turn off/on this hint.

I think ideally you shouldn't need to communicate the features. It should just work wherever you'd expect it to work. Knowing the premise, ie 'click to navigate through any import', should suffice.

I agree with you @dasilvacontin, but since we don't have full coverage for all languages and every single reference it can be confusing. I think the dot is a good midway solution.

Fair enough. I'll let you know if it ever conflicts with some other extension.


envoy-oidc-hmac not created when envoy-gateway exists

Description:

What issue is being seen? Describe what should be happening instead of
the bug, for example: Envoy should not crash, the expected value isn't
returned, etc.

After upgrading to 1.0.0-rc1 envoy-oidc-hmac is not generated because envoy-gateway secret already exists, steps to fix are:

delete all envoy secrets
redeploy

hmac secret is then properly generated.
When envoy-oidc-hmac does not exists it should be created - but flow seems to stop after checking the first secret.

cc @zhaohuabing

We should add upgrade tests :-)


Fix cost excess amount calculation

Hey, I just made a Pull Request!

Fixes calculation of comparedChange between the comparison metric and daily cost data. This was causing incorrect excess/savings amounts in the daily cost panel. The savings/excess amount is based on the amount difference between the actual cost incurred during the current period vs the expected cost if costs had grown at the same rate as the comparison metric.

:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)

A few minor comments, needs a changeset too (remember to prefix with cost-insights-) 👍


Regression or a request to add a --relaxed flag

Attached is a mac .rsrc file (Appearance Extension.rsrc.zip) file that resource_dasm (compiled with latest code as of today) is not able to parse:
$ resource_dasm --data-fork Appearance\ Extension.rsrc out
>>> Appearance Extension.rsrc
failed on Appearance Extension.rsrc: corrupt resource index

However, at some point in the past, probably in early to mid 2022, resource_dasm was able to process it.
The results of this processing can be seen here: http://discmaster.textfiles.com/browse/639/Ducks Unlimited Ducks & Dogs Screen Saver & Wallpaper.iso/mac/Ducks and Dogs Installer/Ducks and Dogs Installer/Appearance Extension.rsrc
Thus this is technically a regression, as resource_dasm used to be able to extract 700+ things from this file, and now is unable to extract anything.
If this isn't a bug, my guess is in the past 2 years, resource_dasm must have gotten more strict about what it would and wouldn't parse and now rejects this file as invalid?
If that's the case would it possible to add a --relaxed flag that would allow resource_dasm to extract as much as it 'can' from a mac .rsrc file, even if it's not formed perfectly?

These files are AppleDouble encoded. resource_dasm used to handle this automatically but it now requires the index format to be explicitly set, since a valid AppleSingle/AppleDouble header could technically also be a valid resource fork header, so it doesn't suffice to just check the first couple of fields for signature values. You can extract resources from these files with the option --index-format=as/ad. I'm not opposed to adding an option that tries to automatically detect the index format, which would make the behavior more like it used to be; I'll do this if you think it's worth it.

Ahhh, that totally makes sense. Thanks for letting me know about that flag. I'll modify my side to send the appropriate index-format flag.
Thanks again for creating resource_dasm, it's awesome :)


Support for markdown messages

It would probably be nice if we could auto-html markdown now we can send HTML messages.

What could be the use case here?
As we run skills it could just produce html itself...

Actually, thinking about it a little more, I think this should wait until the opsdroid/opsdroid#536 is resolved, so we can differentiate between plain text messages and markdown ones.


Node version not detected correctly on WSL2

I'm trying to install rust analyzer vscode extension from WSL2 (Ubuntu 18.04), but I get an error message about needing node > 10.x.
will run: code-insiders --list-extensions
Ignoring option list-extensions: not supported for code-insiders.
Error: install client

Caused by:
    Could not install the Visual Studio Code extension. Please make sure you have at least NodeJS 10.x installed and try again.

however I have node v12.13.1 in my Windows path and v13.3.0 in WSL.
Full output;
me@DESKTOP-V0B6ATR:~/builds/rust-analyzer$ cargo xtask install
    Finished dev [unoptimized] target(s) in 0.08s
     Running `target/debug/xtask install`

will run: cargo --version
cargo 1.39.0 (1c6ec66d5 2019-09-30)

will run: cargo install --path crates/ra_lsp_server --locked --force
  Installing ra_lsp_server v0.1.0 (/home/tpb/builds/rust-analyzer/crates/ra_lsp_server)
    Updating crates.io index
    Finished release [optimized] target(s) in 1.20s
   Replacing /home/tpb/.cargo/bin/ra_lsp_server
    Replaced package `ra_lsp_server v0.1.0 (/home/tpb/builds/rust-analyzer/crates/ra_lsp_server)` with `ra_lsp_server v0.1.0 (/home/tpb/builds/rust-analyzer/crates/ra_lsp_server)` (executable `ra_lsp_server`)

will run: npm --version
6.13.1

will run: npm install
audited 451 packages in 1.517s

6 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

will run: npm run package --scripts-prepend-node-path

><EMAIL_ADDRESS>package /home/tpb/builds/rust-analyzer/editors/code
> vsce package

Executing prepublish script 'npm run vscode:prepublish'...

><EMAIL_ADDRESS>vscode:prepublish /home/tpb/builds/rust-analyzer/editors/code
> npm run compile

><EMAIL_ADDRESS>compile /home/tpb/builds/rust-analyzer/editors/code
> rollup -c && shx cp src/utils/terminateProcess.sh bundle/terminateProcess.sh

./src/extension.ts → ./bundle/extension.js...
(!) Circular dependencies
src/server.ts -> src/config.ts -> src/server.ts
src/server.ts -> src/highlighting.ts -> src/server.ts
src/utils/diagnostics/rust.ts -> src/utils/diagnostics/SuggestedFix.ts -> src/utils/diagnostics/rust.ts
created ./bundle/extension.js in 2.9s
 DONE  Packaged: /home/tpb/builds/rust-analyzer/editors/code/ra-lsp-0.0.1.vsix (8 files, 240.67KB)
 INFO
The latest version of vsce is 1.71.0 and you have 1.70.0.
Update it now: npm install -g vsce

will run: code --version

will run: code-insiders --version
1.41.0-insider
bef029a9d21904c0085c4e8ef1335d9c33a28fa4
x64

will run: code-insiders --install-extension ./ra-lsp-0.0.1.vsix --force
Ignoring option install-extension: not supported for code-insiders.

will run: code-insiders --list-extensions
Ignoring option list-extensions: not supported for code-insiders.
Error: install client

Caused by:
    Could not install the Visual Studio Code extension. Please make sure you have at least NodeJS 10.x installed and try again.

will run: code-insiders --list-extensions
Ignoring option list-extensions: not supported for code-insiders.

That sounds like a Code (--list-extensions works in 1.40), not node.js problem.

cc https://github.com/microsoft/vscode-remote-release/issues/385
Not sure what's going on here, we probably need to either change our installation instructions, or to provide a better error message. The relevant code is here:
https://github.com/rust-analyzer/rust-analyzer/blob/ee904594af174866cfa10474fd8fd3f23580b6af/xtask/src/main.rs#L173-L234
I personally won't be able to look into this anytime soon

I see now I just missed the existing instructions for installing on vscode on a remote host. A relevant error message for someone using the wrong install method would be great though.

Presumably fixed in #3389.


Improve NIP07 encrypt prompt

Feature description
The current encrypt prompt only asks you to allow the client to encrypt things, but it doesn't show any details:

Describe the solution
There are 2 things that could be added here:

The message that is being encrypted
Which public key this will be encrypted for

Have in mind that it might be a bit confusing, whether you 'remember choice' to encrypt any messages or just this message, like here

@itstomekk "Remember" is currently per API-call, so you can allow certain actions (signEvent, encrypt, decrypt) to be performed automatically, without prompting you every time.


[stable/suitecrm] Add ingress

Using other helm charts as a reference I've added in an Ingress template.

enabled pattern with default to false
standard annotations + tls values

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @sameersbn

@tompizmor or @carrodher any chance for a review? I've tested this change in a dev cluster with nginx-ingress + cert-manager + external-dns successfully.

Thanks for the contribution! Changes LGTM, but I would add more information to the NOTES.txt. I mean, some explanation in the ingress if like we are doing in the NodePort or ClusterIP, what do you think?

Damn, it's like you knew where I was struggling. I only quickly patched the NOTES.txt because of the number of if statements. My brain got a little lost.
After reviewing what I wrote. I'm believe it could be made better if we treated Ingress as an unconditional extra instead of an if/else. I.E. If ingress is enabled.. you get a list of the ingress host names and all the Service information.
Let me change it quickly. Sorry about this message, it came to me writing this comment.


Add --disableProductStyleUrl in docker default config in next major release

To follow the request  https://github.com/Azure/Azurite/issues/1039#issuecomment-951844319

already released


Add Symbol.observable to interpreter.

Fixes #1997

I opened #2361 with some extra changes to include in this branch. It builds and tests fine now, but Typescript still fails to infer the correct type of the resulting observable, always thinking it is an Observable<never>, and thus errors when trying to use its emissions. However, this seems to be easily overcome by explicitly stating the typings of the call from<ObservableInput<State<TContext, TEvent, TStateSchema, TTypeState>>>(interpreter).

When would this be merged/released?

Does this need another review, or when could we expect this be merged/released?

@woutermont please be patient. If this is blocking you anyhow please consider using patch-package or similar until this gets released
We still have one unresolved issue with this PR (see https://github.com/statelyai/xstate/pull/2370 ). It's really minor - although I would prefer fixing it. I think it's somewhat OK to fix this later though if @davidkpiano agrees on that.

@Andarist I think we can fix that issue later, if it doesn't cause any actual problems.

@Andarist, my bad, hadn't noticed your other PR. I can also take a look at that.


Add cloudtrail_logging_disabled query Closes #1575

Closes #1575
This query checks if the logging has been enabled

Scan submitted to Checkmarx

Checkmarx SAST - Scan Summary & Details
Cx-SAST Summary
Total of 4 vulnerabilities 0 High 3 Medium 1 Low 0 Info
Violation Summary
 3 Medium
View more details on Checkmarx UI
Cx-SAST Details

Lines
Severity
Category
File
Link

30
Medium
Path_Traversal
cmd/builder/main.go
Checkmarx

83
Medium
Denial_Of_Service_Resource_Exhaustion
test/main_test.go
Checkmarx

52
Medium
Denial_Of_Service_Resource_Exhaustion
pkg/kics/service.go
Checkmarx

Scan not submitted to Checkmarx due to existing Active scan for the same project.


Error during invoking "& crc oc-env | Invoke-Expression" on Windows with PowerShell

It is not possible to invoke crc oc-env on Windows 10 systems with:
PS C:\Users\testuser> crc oc-env
$Env:PATH = "C:\Users\testuser\.crc\bin\oc;$Env:PATH"
# Run this command to configure your shell:
# & crc oc-env | Invoke-Expression

PS C:\Users\testuser>  **& crc oc-env | Invoke-Expression**
Invoke-Expression : Cannot bind argument to parameter 'Command' because it is an empty string.
At line:1 char:17
+  & crc oc-env | Invoke-Expression
+                 ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:PSObject) [Invoke-Expression], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.InvokeExpressionCommand

The workaround: Invoke-Expression -Command "crc oc-env" Looks like working correctly.
Version:
PS C:\Users\testuser> oc version
Client Version: 4.5.0-202005291417-9933eb9
Server Version: 4.4.8
Kubernetes Version: v1.17.1+3f6f40d

PS C:\Users\testuser> crc oc-env
$Env:PATH = "C:\Users\testuser\.crc\bin\oc;$Env:PATH"
# Run this command to configure your shell:
# & crc oc-env | Invoke-Expression

Not sure what causes this as the code hasn't been changed. Looks like a
regression due to a Windows update
On Tue, Jul 7, 2020 at 6:00 PM Radomir Ludva<EMAIL_ADDRESS>wrote:

It is not possible to invoke crc oc-env on Windows 10 systems with:
PS C:\Users\testuser> crc oc-env
$Env:PATH = "C:\Users\testuser.crc\bin\oc;$Env:PATH"
Run this command to configure your shell:
& crc oc-env | Invoke-Expression
PS C:\Users\testuser>  & crc oc-env | Invoke-Expression
Invoke-Expression : Cannot bind argument to parameter 'Command' because it is an empty string.
At line:1 char:17

& crc oc-env | Invoke-Expression

            ~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (:PSObject) [Invoke-Expression], ParameterBindingValidationException
FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.InvokeExpressionCommand

The workaround: Invoke-Expression -Command "crc oc-env" Looks like
working correctly.
Version:
PS C:\Users\testuser> oc version
Client Version: 4.5.0-202005291417-9933eb9
Server Version: 4.4.8
Kubernetes Version: v1.17.1+3f6f40d
PS C:\Users\testuser> crc oc-env
$Env:PATH = "C:\Users\testuser.crc\bin\oc;$Env:PATH"
Run this command to configure your shell:
& crc oc-env | Invoke-Expression
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/code-ready/crc/issues/1364, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAOZXD6WX5XRCUX5FESBDR2LW5VANCNFSM4OSUYDTA
.

--
Gerard Braad | http://gbraad.nl
STEM is the source, but BUILD is how you develop!
[ Better Understanding Involves Learning and Doing ]

Hmm, the suggested work around doesn't throw an error but it doesn't add oc to path, whereas the existing command throws an error but it successfully adds oc to path!
PS C:\Users\Anjan\Desktop> oc
oc : The term 'oc' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ oc
+ ~~
    + CategoryInfo          : ObjectNotFound: (oc:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS C:\Users\Anjan\Desktop> Invoke-Expression -Command ".\crc.exe oc-env"
$Env:PATH = "C:\Users\Anjan\.crc\bin\oc;$Env:PATH"
# Run this command to configure your shell:
# & Invoke-Expression -Command "crc oc-env"

PS C:\Users\Anjan\Desktop> oc
oc : The term 'oc' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ oc
+ ~~
    + CategoryInfo          : ObjectNotFound: (oc:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS C:\Users\Anjan\Desktop> .\crc.exe oc-env | Invoke-Expression
Invoke-Expression : Cannot bind argument to parameter 'Command' because it is an empty string.
At line:1 char:20
+ .\crc.exe oc-env | Invoke-Expression
+                    ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:PSObject) [Invoke-Expression], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.Invo
   keExpressionCommand

PS C:\Users\Anjan\Desktop> oc
OpenShift Client

This client helps you develop, build, deploy, and run your applications on any
OpenShift or Kubernetes cluster. It also includes the administrative
commands for managing a cluster under the 'adm' subcommand.

To familiarize yourself with OpenShift, login to your cluster and try creating a sample application:

    oc login mycluster.mycompany.com
    oc new-project my-example
    oc new-app django-psql-example
    oc logs -f bc/django-psql-example


Remove duplicated test

Duplicated go_tests can result in compilation actions failing due to https://github.com/bazelbuild/rules_go/issues/3558.

@fweikert Could you review?
@meteorcloudy This has caused some failures in the downstream pipeline (https://buildkite.com/bazel/bazel-at-head-plus-downstream/builds/3035#0188343c-c91d-4305-866f-aabf6f5e5a9d).


columns are hard coded.

https://github.com/timescale/python-vector/blob/34e51abff2f401f0e8aea71d5537b193a6fe34cb/timescale_vector/client.py#L768
    query = '''
    SELECT
        id, metadata, contents, embedding, {distance} as distance
    FROM
       {table_name}
    WHERE
       {where}
    {order_by_clause}
    LIMIT {limit}
    '''.format(distance=distance, order_by_clause=order_by_clause, where=where, table_name=self.table_name, limit=limit)
    return (query, params)

Can we select which column we need? or pass different column names?

@srinivas-gurani what's the use-case here? Are all the same columns present and just have different names or is there a different schema altogether?
The library creates the tables as well and assumes a certain layout of the tables. It's easy to make the names configurable but I am wondering if you actually need some deeper changes.

@cevian I agree here with @srinivas-gurani, it would be better if these things were a lot more customizable. This library assuming a layout of the tables it operates on honestly makes it pretty unusable for many real world scenarios. It would be great if the different parts were more modularized so people could fit them into their existing applications.

I think this library overall is taking a much too high level approach that while might make it easy for some people, hurts its usability in a production dev environment. I think overall it would be nice if it provided a more isolated minimal and clean interface for the relevant things for vectorscale, which is mainly around creating the specific indexes and creating queries with some tuning nobs for searching. It shouldn't include things like adding where filters, predicates, table schemas, ect. I think a nice library to look to is python pgvector, which provides just the basics and additionally some nice interfaces for the common python DB libraries (sqlalchemy, asyncpg, ect).
I'd like to use this library mainly so I know what the different parameters are of the indexes, and make sure I know if any of those change or there are enhancements, but I think instead I will just copy and paste some code because unfortunately psycopg2 is a pain in the ass to install on a mac and I would not like to introduce that dependency. Our current setup uses pgvector and sqlalchemy and have had success with that.
I do think the code around automatically adding new embeddings and general management of embedding tables is nice, but if it is built upon the assumption that we are structuring our tables in a specific way it is not going to be useful. Just my 2 cents.


Libdoc spec files: Change value of namedargs from yes/no to true/false

We are going to create a schema for Libdoc spec files. XSD schema allows specifying that an attribute is a Boolean and then its values are limited to true/false and 1/0. We should change Libdocs's namedargs attribute to use true/false instead of yes/no that it currently uses.
This isn't strictly necessary in order to be able to create a schema but certainly makes a lot of sense. The change also removes inconsistency between namedargs and the recently introduced deprecated that uses true/false (#3498).
The change itself is a trivial change but unfortunately backwards incompatible. In my opinion it's still OK before RF 3.2, even though we very close to the first release candidate. It is unlikely that many external tools use this attribute in the first place, and those who do can be easily updated to handle both true/false and yes/no.

Ping @michalanglart and @HelioGuilherme66. RED and RIDE should be updated if they use the namedargs attribute in Libdoc spec files.

Scrap that. namedargs is actually an element, not an attribute, and a Boolean value works better with attributes. There's no reason why namedargs should be an element so lets to that instead. We can preserve the old namedargs element as-is for the time being to avoid all backwards compatibility issues. Issue #3522 covers that.


[ENHANCEMENT] - Grant-PnPAzureADAppSitePermission doesn't work with multi-geo

Reporting an Issue or Missing Feature
Grant-PnPAzureADAppSitePermission doesn't work with multi-geo.  Non default geos produce an error and can't grant sites.selected permissions to sites outside default geo.
Expected behavior
Please describe what output you expect to see from the PnP PowerShell Cmdlets
Expect permission to be set with this result:
#Works with default GEO
commands
Grant-PnPAzureADAppSitePermission -AppId $appid -DisplayName $appname -Site $site -Permissions Write
PS C:\Scripts\AzureAppScripts> Grant-PnPAzureADAppSitePermission -AppId $appid -DisplayName $appname -Site $site -Permissions Write
Result
Id    : aTowaS50fG1zLnNwLmV4dHwyOTcwMjJiYy0wOWNmLTRiZTQtYThlZi00ZWM4ZmM1MDhmNDBANDQ1M2UwNDAtNzRhOS00MGIzLTkwMDAtNTYwNjliNGFiMzA5
Roles : {write}
Apps  : {BrittneyTest, 297022bc-09cf-4be4-a8ef-4ec8fc508f40}
Actual behavior
Please describe what you see instead. Please provide samples of output or screenshots.
Result:
Grant-PnPAzureADAppSitePermission : {"error":{"code":"itemNotFound","message":"Item not
found","innerError":{"date":"2023-02-10T13:33:20","request-id":"cab7bc77-2cf7-4656-acd8-70823f920c4f","client-request-id":"cab7bc77-2cf7-4656-acd8-70823f920c4f"}}}
At line:1 char:1

Grant-PnPAzureADAppSitePermission -AppId $appid -DisplayName $appname ...

  + CategoryInfo          : InvalidOperation: (:) [Grant-PnPAzureADAppSitePermission], PSInvalidOperationException
  + FullyQualifiedErrorId : InvalidOperation,PnP.PowerShell.Commands.Apps.GrantPnPAzureADAppSitePermission

Steps to reproduce behavior
Please include complete script or code samples in-line or linked from gists
#my graph api app
$appid = "297022bc-09cf-4be4-a8ef-4ec8fc508f40"
$appname = "BrittneyTest"
$site = "https://bcgdev01.sharepoint.com/sites/BNTest"
$site1 = "https://bcgdev01asp.sharepoint.com/sites/bntest"
$site2 = "https://bcgdev01eur.sharepoint.com/sites/BrittneyTest"
#tenant urls
$devtenant = "https://bcgdev01-admin.sharepoint.com/" #default geo
$devEmea = "https://bcgdev01eur-admin.sharepoint.com/" #asp geo
$devAsiaP = "https://bcgdev01asp-admin.sharepoint.com/" #eur geo
Connect-PnPOnline -Url $devAsiaP -Interactive
#Works with default GEO
Grant-PnPAzureADAppSitePermission -AppId $appid -DisplayName $appname -Site $site -Permissions Write
#Doesn't work with other GEOS in tenant
#ASP geo
Connect-PnPOnline -Url $devAsiaP -Interactive
Grant-PnPAzureADAppSitePermission -AppId $appid -DisplayName $appname -Site $site1 -Permissions Write
#EUR geo
Connect-PnPOnline -Url $devEmea-Interactive
Grant-PnPAzureADAppSitePermission -AppId $appid -DisplayName $appname -Site $site2 -Permissions Write
Result for ASP and EUR
Grant-PnPAzureADAppSitePermission : {"error":{"code":"itemNotFound","message":"Item not
found","innerError":{"date":"2023-02-10T13:33:20","request-id":"cab7bc77-2cf7-4656-acd8-70823f920c4f","client-request-id":"cab7bc77-2cf7-4656-acd8-70823f920c4f"}}}
At line:1 char:1

Grant-PnPAzureADAppSitePermission -AppId $appid -DisplayName $appname ...

  + CategoryInfo          : InvalidOperation: (:) [Grant-PnPAzureADAppSitePermission], PSInvalidOperationException
  + FullyQualifiedErrorId : InvalidOperation,PnP.PowerShell.Commands.Apps.GrantPnPAzureADAppSitePermission

What is the version of the Cmdlet module you are running? 1.12.0
(you can retrieve this by executing Get-Module -Name "PnP.PowerShell" -ListAvailable)
Which operating system/environment are you running PnP PowerShell on?
- [ ] Windows

Thanks Verica and Gautam.  Any ideas if and when you will work on this as an enhancement?

I'm encountering the same issue and as @KoenZomers already mentioned it seems to be an issue with Graph, as I have the same issue when directly invoking the graph endpoint.
The workaround that helps me is to first requesting the site via graph like this:
Invoke-PnPGraphMethod https://graph.microsoft.com/v1.0/sites/<siteid>
and afterwards it's all working fine.

Btw. while invoking the permission endpoint with the site ID to reference to the site, only works after once getting the site.
Invoke-PnPGraphmethod "/sites/<siteId>";
Invoke-PnPGraphMethod "/sites/<siteId>/permissions";

Invoking the permissions endpoint while referencing the site by its URL, works fine from the start.
Invoke-PnPGraphMethod "/sites/<uriHost>:<uriLocalPath>:/permissions";

Therefor seems to be an issue only when referencing to the site with the id in the URL.

@gautamdsheth I'm pretty sure that the error lies with the Graph API.
We can't fix it in the cmdlet, but we can implement a workaround by requesting the page first everytime via the "/sites/" route.

@KoenZomers adding Invoke-PnPGraphMethod https://graph.microsoft.com/v1.0/sites/ works like nicely in multigeo.
thank you @reusto for the tip: (Get-PnPSite -Includes Id).Id
I put a link to a script as example with all the command if anyone interested.
[https://gist.github.com/christopheLDCL/3acae4a190c40ad5cb994804eeadf8de]


[Fix #8771] Fix an error for Style/OneLineConditional

Fixes #8771.
This PR fixes an error for Style/OneLineConditional when using if-then-elsif-then-end.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Another bug bites the dust! :-)


mitmproxy certificate directory not found and --set cadir not working on Windows

Steps to reproduce the problem:
1.Install latest version of mitmproxy
2. Try to run mitmdump without any arguments

Any other comments? What have you tried so far?
In order to use mitmproxy and adapt it to my use, I did all the steps to start the development.
I managed to make it work last Friday but now mitmdump says that it can't find the .mitmproxy repertory.
It might be a problem from my PATH or my environment, but then I tried to put directly the path to the file with the option "--set cadir", I tried to put directly in the command line the path and I got the same error.

Because of this error, I'm unable to see the --options display since it crashes before (Which can make it difficult to correct that issue).

So then, I went into the "mitmproxy/options.py" directly to put the path in the variable "CA_DIR", making it working.

I used the working state of mitmdump to use the --options and put the output in a config file. In this config file, I modified directly the "cadir" line with the exact same path I wrote in the command line with --set.

Then, reverted my modifications to "options.py" to return back to the initial state and gave my config file to the command line with --conf and made it work.

So I wondered that maybe the --set option wasn't working properly, but maybe I'm wrong. And I wondered too if any troubles with the Windows PATH handling got into the new updates of mitmproxy
UPDATE 1
After getting through to understand better what's going on, I realized that on start, the proxy is initiated first with default values from options.py, and then some lines after, the options are modified accordingly to the --set commands.
So, it may not be an issue here, but the thing is that if mitmproxy's default configuration of path to .mitmproxy is incorrect for the current system, it is not possible to put "--set cadir='...'" because it will crash before.
System information

Misc
I use that issue to thank you for that amazing tool I will be using in my apprenticeship, you're doing an amazing work and I'm really grateful for giving us that tool.

Thanks for the report. What's the output of the following command on your system?
python -c "import os; print(os.path.expanduser('~'))"

(you may need to use python3 instead of python)

Thanks again. This is still a bit confusing to me - Does C:\Users\<your username> not exist on your system?
If it does exist, can you apply the changes in https://github.com/mitmproxy/mitmproxy/pull/2950 and report the error message you get then?


docs: Fix CLI docs

Checklist:

[x] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
[x] The title of the PR is (a) conventional, (b) states what changed, and (c) suffixes the related issues number. E.g. "fix(controller): Updates such and such. Fixes #1234".
[x] I've signed the CLA.
[x] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
[x] My builds are green. Try syncing with master if they are not.
[x] My organization is added to USERS.md.

I've re-enabled up-to-date with master check.


username / pw in the article don't seem to work?

Here's a little video: https://s.tape.sh/s4wnO5w8

So sorry about that. The correct password is "kalel2000"


getgrav.org down?

  Cleaned up now, and site is back up again.


Improvements to the list of recently finished jobs

Add Remaining column to finished job list
Clean up Responses column code

Merging this without waiting hours for Travis CI because the test suite doesn't run the dashboard anyway.


feat: transfer cl position to new owner

Closes: #6541
What is the purpose of the change

Add a description of the overall background and high level changes that this PR introduces

(E.g.: This pull request improves documentation of area A by adding ....
Testing and Verifying
(Please pick one of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added unit test that validates ...
Added integration tests for end-to-end deployment with ...
Extended integration test for ...
Manually verified the change by ...

Documentation and Release Note

[ ] Does this pull request introduce a new feature or user-facing behavior changes?
[ ] Changelog entry added to Unreleased section of CHANGELOG.md?

Where is the change documented?

[ ] Specification (x/{module}/README.md)
[ ] Osmosis documentation site
[ ] Code comments?
[ ] N/A

@devbot-wizard help

Hi! I'm DevBot, a bot that helps with common tasks in the development process. Commands:

devbot fix: Fix basic errors in the PR. (e.g. imports, changelog conflicts, go mod conflicts)
devbot merge base: Merge the base branch into the PR branch.
devbot add changelog [misc/feat/bug/api/sec] [message]: Add a changelog entry to the PR. (e.g. devbot add changelog feat Added a new feature)

If message is blank, defaults to PR title.

devbot re-pr: Re-PR the PR, useful for external contributors where we have no edit perms.

devbot add changelog feat

Added transfer position to fuzz test https://github.com/osmosis-labs/osmosis/pull/6623/commits/0b8367a3a9abf08a5be5345cd137743610e31af9


🚧 Add helm chart for deploying proxless easily

automatically create the role or cluster role

Inactive.
Merging...


Made it work on more sites, also no more redirect.

^ what the title says

Thank you for your contribution.


Electromagnetic skin effect in different wire shapes, in 2D.

I looked at the examples but I do not find any that compute the current density distribution in a wire according to frequency. When AC current circulate in a wire, the current has a tendency to concentrate on the perimeter of the wire, this is the skin effect. My goal is to use a 2D section of the wire and compute the current density distribution for various frequencies and then of various section shapes.
Is there an example that I can start from? If not can I have some guidance?
Thank you,
Denis

Maybe use J=σE. Get the E from the cross section and multiply by the sigma.

You can take a look at ex22. It only needs some minor modifications to get exactly what you need.

Thank you for your help,
In the heading comments of ex22 it is written: "In each case the field is driven by a forced oscillation, with angular frequency omega, imposed at the boundary or a portion of the boundary."
This sentence seems to implied ex22 is simulating in time and the boundary are driven by a sine wave. In the code the boundary are set to 1. I am confused.
For skin effect I was expecting the boundary be fix as example 1 for the current density.
I deducted the equation for the current density in 2D (div grad Jz - i w mu sigma Jz + w^2 eps mu Jz = 0) and it look like problem #1 (case 0), so I will start from there.
Thank you again,
Denis

I succeeded, you can close the issue.
Thank you very much,
Denis


React Communication example - bug fix

The example given for the communication from unity to react does not work as such because the function DllImport is not recognized.
Please add this to your description for the GameController.cs script
using System.Runtime.InteropServices;
Then all will work.

Thanks, I've updated the Wiki.


Frameit title_min_height has incorrect behaviour

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description

According to documentation title_min_height parameter specifies minimum height for the title. And when specified as a percentage, it calculates it as the percentage of height.
Looking at this code though, it uses a minimum of width and height and then uses that to calculate the minimum height. This results in weight being used every time, therefore, causing the title_min_height to be the same for every device. In my case, it causes height to be the same for iPhone 8 and 11 Max screenshots. I tested this with different percentages and the height from the top of the screen to the frame always stays the same. This seems wrong to me because the final height of the screenshots is different per device.
Notice same height (311) on both screenshots.

I might be misunderstanding something, but if someone can confirm that this is the issue I can fix it.
Also, I believe that this issue is partly related to this one: https://github.com/fastlane/fastlane/issues/11160
Command executed
bundle exec frameit
Framefile.json:
{
    "device_frame_version": "latest",
    "default": {
      "title": {
        "color": "#FFFFFF",
        "font": "../../Resources/fonts/BrownPro-Bold.otf"
      },
      "background": "./background.jpg",
      "padding": 50,
      "show_complete_frame": true,
      "stack_title" : false,
      "frame": "WHITE",
      "font_scale_factor": 0.09,
      "title_min_height": "25%"
    },

    "data": [
      {
        "filter": "01"
      },
      {
        "filter": "02"
      },
      {
        "filter": "03"
      },
      {
        "filter": "04"
      }
    ]
  }

That is possible. Really no one understand the full feature set and configuration options of frameit and what side effects they might have, so this very well might be unintentional or a bug.

Sent from Yahoo Mail for iPhone
On Friday, February 21, 2020, 2:13 PM, fastlane bot<EMAIL_ADDRESS>wrote:
It seems like you have not included the output of fastlane env
To make it easier for us help you resolve this issue, please update the issue to include the output of fastlane env 👍
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Sent from Yahoo Mail for iPhone
On Saturday, February 22, 2020, 3:28 PM<EMAIL_ADDRESS>wrote:
Sent from Yahoo Mail for iPhone
On Friday, February 21, 2020, 2:13 PM, fastlane bot<EMAIL_ADDRESS>wrote:
It seems like you have not included the output of fastlane env
To make it easier for us help you resolve this issue, please update the issue to include the output of fastlane env 👍
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

If you take "percentage of the height" as "percentage of the total image height", isn't your result not exactly what you would expect?

Not really. The height of the iPhone 8 Plus and iPhone 11 Pro Max is different, but the title_min_height persists the same.
The screenshot sizes are 1242 x 2208 for 8 Plus and 1242 x 2688 for 11 Pro Max. If I specify title_min_height in percentage, I expect frameit to use 2208 and 2688 as the numbers to take the percentage from. Currently, the code uses width. 25% of 1242 = 310.5 is what you see on my screenshots.

Oh right, the "percentage of the total image height" should actually be different for these as the "total image height" depends on the device. Good point. Hmm...

Yes, looks like an issue to me and can be easily fixed, but would be nice to have a bit more confidence. It might be a breaking change if some implementations depend on current behaviour.
@bvirlet I noticed that you made the original change in PR https://github.com/fastlane/fastlane/pull/11014, maybe you can help us understand the behaviour? Any input would be much appreciated 🙌

@okalentiev I believe you are correct. It seems that this logic from title_min_height was copied over from the scale_padding method below, but it doesn't make sense. While the padding needs to take in account both the width and the height, title_min_height only depends on the height. Can you submit a PR?
frameit could really use some unit tests (that would require splitting some logic out of the editor into some kind of layout_manager, and it could use regression tests as well…) I have found the time to start working on any of these yet.


Incompatible with Google Colaboratory

Bug Description
As stated here, Autokeras kills the Google Colaboratory kernel, in CPU or GPU mode.
Reproducing Steps
Run the following notebook, which is a simple copy-paste of the AutoKeras tutorial, with a slight modification: in the AutoKeras API, the package autokeras.image_classifier seems to have been renamed to autokeras.image_supervised, and the documentation is not yet up to date.
Expected Behavior
It should run, since Colaboratory runs Python 3.6
Additional context
Colaboratory seems incompatible with the Python multiprocessing API.
I modified the code of search.py/Searcher in order to remove it, and it worked.
More clearly, I replaced this:
 multiprocessing.set_start_method('spawn', force=True)
pool = multiprocessing.Pool(1)
train_results = pool.map_async(train, [(graph, train_data, test_data, self.trainer_args,                                                 os.path.join(self.path, str(model_id) + '.png'),                                                 self.metric, self.loss, self.verbose)])
By this:
        train_results = train((graph, train_data, test_data, self.trainer_args,                                                 os.path.join(self.path, str(model_id) + '.png'),                                                 self.metric, self.loss, self.verbose))
Maybe AutoKeras could have an option in order to desactivate the use of that API ?

I encounter the same issue.

@PositronBeam Thank you for your report.
We haven't tested with Google Collaboratory yet.
Will come back to this soon.
Thanks.

Hi @jhfjhfj1 , would you mind telling us whether you tested with Google Collaboratory?
Thank a lot

@vincent-hui , Thank you for your follow up.
We have changed the multiprocessing into torch.multiprocessing.
But we haven't tested with the Google Colaboratory yet.

@jhfjhfj1 I just tried autokeras-0.2.7 with the Google Colaboratory
Google Colaboratory runtime dies when I run
from keras.datasets import mnist
from autokeras import ImageClassifier

if __name__ == '__main__':
    (x_train, y_train), (x_test, y_test) = mnist.load_data()
    x_train = x_train.reshape(x_train.shape + (1,))
    x_test = x_test.reshape(x_test.shape + (1,))

    clf = ImageClassifier(verbose=True, augment=False)
    clf.fit(x_train, y_train, time_limit=12 * 60 * 60)
    clf.final_fit(x_train, y_train, x_test, y_test, retrain=True)
    y = clf.evaluate(x_test, y_test)
    print(y * 100)

Here is the output message
Using TensorFlow backend.

Downloading data from https://s3.amazonaws.com/img-datasets/mnist.npz
11493376/11490434 [==============================] - 2s 0us/step
Initializing search.
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43]
Initialization finished.
Training model  0

@jhfjhfj1 I just tried autokeras-0.2.11 with the Google Colaboratory
Google Colaboratory runtime dies when I use autokeras-0.2.11
Here is the output message
Using TensorFlow backend.
/usr/local/lib/python3.6/dist-packages/tqdm/autonotebook/__init__.py:14: TqdmExperimentalWarning: Using `tqdm.autonotebook.tqdm` in notebook mode. Use `tqdm.tqdm` instead to force console mode (e.g. in jupyter console)
  " (e.g. in jupyter console)", TqdmExperimentalWarning)

Initializing search.
Initialization finished.

╒==============================================╕
|               Training model 0               |
╘==============================================╛

This would be really neat to have working. As Google Colab gives free GPUs, this would let a lot more people try out Autokeras...

I tried autokeras-0.2.13 with the Google Colaboratory. Google Colaboratory runtime dies when running autokeras.

Help needed.
Does anyone know why it cannot work with Google Collaboratory and how to fix it?
Thanks

Add google colab check to @PositronBeam
search.py line175 - 180
BEFORE==============================================================
mp.set_start_method('spawn', force=True)
pool = mp.Pool(1)
try:
train_results = pool.map_async(train, [(graph, train_data, test_data, self.trainer_args,
os.path.join(self.path, str(model_id) + '.png'),
self.metric, self.loss, self.verbose)])
AFTER===============================================================
import sys
if "google.colab" in sys.modules:
gcolab = True
else:
gcolab = False
mp.set_start_method('spawn', force=True)
pool = mp.Pool(1)
    try:
       if gcolab:
          train_results = train((graph, train_data, test_data, self.trainer_args,
                                          os.path.join(self.path, str(model_id) + '.png'),
                                          self.metric, self.loss, self.verbose))
       else:
          train_results = pool.map_async(train, [(graph, train_data, test_data, self.trainer_args,
                                                	          os.path.join(self.path, str(model_id) + '.png'),
                                                                      self.metric, self.loss, self.verbose)])

Hi @compassNS ,
Would you mind telling me how to run autokeras with Google Colaboratory ?
Thank a lot.

I tried making the change @compassNS suggested but I got this error:
local variable 'pool' referenced before assignment

@chencc6566193 Since this issue is kind of urgent, @jhfjhfj1 reassigned it to me. Please feel free to let me know if you had any progress, then we two can co-work on this one. Thanks!

Help needed.
Does anyone know why it cannot work with Google Collaboratory and how to fix it?
Thanks

In my case, it seems that lack of memory was the problem when I use google Colab.
So I think that, some kind of batch generator such as fit_generator something could be useful to handel with the problem.
Do you have any plan to implement this idea?
By the way, autokeras is really easy, and powerful for me to do NAS for image classification!
Thank you so much for your kindness and effort for this :)
Now I'm gonna also try to use autokeras for other data types, such as time-series neuronal / behavior data - convert them into kind of 2-d array or text data.
I saw that module for audio data is also being considered, and it will be really nice for them too!

I am using colab and already !pip install helper , but I facing the error AttributeError: module 'helper' has no attribute 'imshow' and also
AttributeError: module 'helper' has no attribute 'view_classify'
What is wrong with helper??

Support GPU on Google Colab
Solution

Disable multiprocessing

Reason

Google Colab doesn't support multiprocessing "spwan" start method. However, cuda only support "spawn" start method. Thus, to enable GPU accelaration on Google Colab, we must run autokeras in sigle process.

Support GPU on Google Colab
Solution
Disable multiprocessing
Reason
Google Colab doesn't support multiprocessing "spwan" start method. However, cuda only support "spawn" start method. Thus, to enable GPU accelaration on Google Colab, we must run autokeras in sigle process.


Student License

Northrise Student license

@teckno northrise.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


ARVideoKit Module compiled with Swift 4.0.2 cannot be imported in Swift 4.0

Can you please specify how you include the framework into your project?

me too， how to resolve this?

@CoderTian, do you mind specifying how you're including ARVideoKit.framework into your project?
Would appreciate detailed explanations of the the issue to help me resolve it!
-Ahmed


Fix issue #949: Clone DateTimes before returning them from temporal column getters.

DateTime class is mutable, so if returned without cloning, it might be modified without the ActiveRecord object ever noticing the change.

Mh, there are failing tests? Would you mind to fix those? :)

ping @rimas-kudelis

Uhm, not really. I haven't worked with Propel for years now.

Closing as different way needs to be done here.


Project workflow links

While testing zooniverse/Panoptes-Front-End#3235, I found that my test project in production, id 1761 has workflow 2111 in its links, but 404s. This is causing an issue with the workflow exports UI since it is written currently to use a project resource's workflow links. I would presume at some point in the past I deleted workflow 2111 via the UI. Should that workflow still be in the project resource's links?

Keeping them linked isn't a bug. But maybe deactivated workflows should be filtered out of a project's links in the project serializer.

Duplicate of #1861

Fixed in #2073.


Rename repo when ready

Rename "quick-labs" to "cloud-hosted-guides" when ready to be consistent with formal name and other repo(s).

Repo renamed, closing.

Repo renamed, closing.


SCP-4323 Skeleton for Marlowe Purescript Spec

Pre-submit checklist:

Branch

[ ] Tests are provided (if possible)
[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages
[ ] Relevant tickets are mentioned in commit messages
[ ] Formatting, materialized Nix files, PNG optimization, etc. are updated

PR

[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reviewer requested

Sorry about this, before going into holiday I wrote the pertinent documentation as part of the PR instead of the Readme as this is still not very mature, but it seems that I forgot to save and the documentation was lost 🤦🏻 .
This is meant to be the skeleton of a client that the test suite will call to see if it is compliant. The generator is not implemented yet, but the main idea was to provide a way to keep the test suite blockchain agnostic and to allow each implementation to generate a valid address, token, etc.
The spec client reads from the stdin for request enclosed by delimitators. For the moment the beginning and ending delimitator is hardcoded to the triple backtick ``` <valid json request> ```, but eventually this could be configured via a command line parameter. The json request needs to have a request  key which is used to discriminate the particular request, and then some additional keys per request type.
Currently the spec client has two commands
test-roundtrip-serialization
This request test if a particular entity can be decoded and re-encoded.
A value
    {
    "request": "test-roundtrip-serialization",
    "typeId": "Extended.Value",
    "json":
        { "add": 1
        , "and": 2
        }
    }

Another value
{
  "request": "test-roundtrip-serialization",
  "typeId": "Extended.Value",
  "json": {
    "multiply": {
      "add": "time_interval_start",
      "and": {
        "amount_of_token": { "currency_symbol": "ABC", "token_name": "abc" },
        "in_account": { "role_token": "party" }
      }
    },
    "times": {
      "value_of_choice": { "choice_name": "name", "choice_owner": { "role_token": "party" }}
    }
  }
}

A module
{
  "request": "test-roundtrip-serialization",
  "typeId": "Extended.Module",
  "json": {
    "metadata": {
      "valueParameterInfo": [
        [
          "Amount of Ada",
          {
            "valueParameterFormat": {
              "contents": [0, "₳"],
              "tag": "DecimalFormat"
            },
            "valueParameterDescription": "Amount of Ada to be exchanged for dollars."
          }
        ],
        [
          "Amount of dollars",
          {
            "valueParameterFormat": {
              "contents": [0, "$"],
              "tag": "DecimalFormat"
            },
            "valueParameterDescription": "Amount of dollar tokens to be exchanged for Ada."
          }
        ]
      ],
      "timeParameterDescriptions": [
        ["Timeout for Ada deposit", "Deadline by which Ada must be deposited."],
        [
          "Timeout for dollar deposit",
          "Deadline by which dollar tokens must be deposited (must be after the deadline for Ada deposit)."
        ]
      ],
      "roleDescriptions": [
        ["Ada provider", "The party that provides the Ada."],
        ["Dollar provider", "The party that provides the dollar tokens."]
      ],
      "contractType": "Swap",
      "contractShortDescription": "Atomically exchange of Ada and dollar tokens.",
      "contractName": "Swap of Ada and dollar tokens",
      "contractLongDescription": "Waits until one party deposits Ada and the other party deposits dollar tokens. If both parties collaborate it carries the exchange atomically, otherwise parties are refunded.",
      "choiceInfo": []
    },
    "me_version": 1,
    "contract": {
      "when": [
        {
          "then": {
            "when": [
              {
                "then": {
                  "token": {
                    "token_name": "",
                    "currency_symbol": ""
                  },
                  "to": {
                    "party": {
                      "role_token": "Dollar provider"
                    }
                  },
                  "then": {
                    "token": {
                      "token_name": "dollar",
                      "currency_symbol": "85bb65"
                    },
                    "to": {
                      "party": {
                        "role_token": "Ada provider"
                      }
                    },
                    "then": "close",
                    "pay": {
                      "constant_param": "Amount of dollars"
                    },
                    "from_account": {
                      "role_token": "Dollar provider"
                    }
                  },
                  "pay": {
                    "times": {
                      "constant_param": "Amount of Ada"
                    },
                    "multiply": 1000000
                  },
                  "from_account": {
                    "role_token": "Ada provider"
                  }
                },
                "case": {
                  "party": {
                    "role_token": "Dollar provider"
                  },
                  "of_token": {
                    "token_name": "dollar",
                    "currency_symbol": "85bb65"
                  },
                  "into_account": {
                    "role_token": "Dollar provider"
                  },
                  "deposits": {
                    "constant_param": "Amount of dollars"
                  }
                }
              }
            ],
            "timeout_continuation": "close",
            "timeout": {
              "time_param": "Timeout for dollar deposit"
            }
          },
          "case": {
            "party": {
              "role_token": "Ada provider"
            },
            "of_token": {
              "token_name": "",
              "currency_symbol": ""
            },
            "into_account": {
              "role_token": "Ada provider"
            },
            "deposits": {
              "times": {
                "constant_param": "Amount of Ada"
              },
              "multiply": 1000000
            }
          }
        }
      ],
      "timeout_continuation": "close",
      "timeout": {
        "time_param": "Timeout for Ada deposit"
      }
    }
  }
}

compute-transaction
This request prints the output of computing a transaction on a given contract and state
Useless transaction
{
  "request": "compute-transaction",
  "state": {
    "accounts": [],
    "choices": [],
    "boundValues": [],
    "minTime":<PHONE_NUMBER>985
  },
  "transactionInput": {
    "tx_interval": { "from":<PHONE_NUMBER>000, "to":<PHONE_NUMBER>100 },
    "tx_inputs": []
  },
  "coreContract": {
    "when": [
      {
        "then": {
          "when": [
            {
              "then": {
                "token": { "token_name": "", "currency_symbol": "" },
                "to": { "party": { "role_token": "Dollar provider" } },
                "then": {
                  "token": {
                    "token_name": "dollar",
                    "currency_symbol": "85bb65"
                  },
                  "to": { "party": { "role_token": "Ada provider" } },
                  "then": "close",
                  "pay": 20,
                  "from_account": { "role_token": "Dollar provider" }
                },
                "pay": { "times": 10, "multiply": 1000000 },
                "from_account": { "role_token": "Ada provider" }
              },
              "case": {
                "party": { "role_token": "Dollar provider" },
                "of_token": {
                  "token_name": "dollar",
                  "currency_symbol": "85bb65"
                },
                "into_account": { "role_token": "Dollar provider" },
                "deposits": 20
              }
            }
          ],
          "timeout_continuation": "close",
          "timeout":<PHONE_NUMBER>985
        },
        "case": {
          "party": { "role_token": "Ada provider" },
          "of_token": { "token_name": "", "currency_symbol": "" },
          "into_account": { "role_token": "Ada provider" },
          "deposits": { "times": 10, "multiply": 1000000 }
        }
      }
    ],
    "timeout_continuation": "close",
    "timeout":<PHONE_NUMBER>985
  }
}

Transaction success
{
  "request": "compute-transaction",
  "state": {
    "accounts": [],
    "choices": [],
    "boundValues": [],
    "minTime":<PHONE_NUMBER>985
  },
  "transactionInput": {
    "tx_interval": { "from":<PHONE_NUMBER>000, "to":<PHONE_NUMBER>100 },
    "tx_inputs": [
      {
        "input_from_party": { "role_token": "Ada provider" },
        "that_deposits": 10000000,
        "of_token": { "token_name": "", "currency_symbol": "" },
        "into_account": { "role_token": "Ada provider" }
      }
    ]
  },
  "coreContract": {
    "when": [
      {
        "then": {
          "when": [
            {
              "then": {
                "token": { "token_name": "", "currency_symbol": "" },
                "to": { "party": { "role_token": "Dollar provider" } },
                "then": {
                  "token": {
                    "token_name": "dollar",
                    "currency_symbol": "85bb65"
                  },
                  "to": { "party": { "role_token": "Ada provider" } },
                  "then": "close",
                  "pay": 20,
                  "from_account": { "role_token": "Dollar provider" }
                },
                "pay": { "times": 10, "multiply": 1000000 },
                "from_account": { "role_token": "Ada provider" }
              },
              "case": {
                "party": { "role_token": "Dollar provider" },
                "of_token": {
                  "token_name": "dollar",
                  "currency_symbol": "85bb65"
                },
                "into_account": { "role_token": "Dollar provider" },
                "deposits": 20
              }
            }
          ],
          "timeout_continuation": "close",
          "timeout":<PHONE_NUMBER>985
        },
        "case": {
          "party": { "role_token": "Ada provider" },
          "of_token": { "token_name": "", "currency_symbol": "" },
          "into_account": { "role_token": "Ada provider" },
          "deposits": { "times": 10, "multiply": 1000000 }
        }
      }
    ],
    "timeout_continuation": "close",
    "timeout":<PHONE_NUMBER>985
  }
}

To test, enter the directory, do a spago install, spago build, and then execute node index.js. Eventually we will add a nix-shell command

Sorry about this, before going into holiday I wrote the pertinent documentation as part of the PR instead of the Readme as this is still not very mature, but it seems that I forgot to save and the documentation was lost 🤦🏻 .
This is meant to be the skeleton of a client that the test suite will call to see if it is compliant. The generator is not implemented yet, but the main idea was to provide a way to keep the test suite blockchain agnostic and to allow each implementation to generate a valid address, token, etc.
The spec client reads from the stdin for request enclosed by delimitators. For the moment the beginning and ending delimitator is hardcoded to the triple backtick ``` <valid json request> ```, but eventually this could be configured via a command line parameter. The json request needs to have a request key which is used to discriminate the particular request, and then some additional keys per request type.
Currently the spec client has two commands
test-roundtrip-serialization
This request test if a particular entity can be decoded and re-encoded.
A value
    {
    "request": "test-roundtrip-serialization",
    "typeId": "Extended.Value",
    "json":
        { "add": 1
        , "and": 2
        }
    }

Another value
{
  "request": "test-roundtrip-serialization",
  "typeId": "Extended.Value",
  "json": {
    "multiply": {
      "add": "time_interval_start",
      "and": {
        "amount_of_token": { "currency_symbol": "ABC", "token_name": "abc" },
        "in_account": { "role_token": "party" }
      }
    },
    "times": {
      "value_of_choice": { "choice_name": "name", "choice_owner": { "role_token": "party" }}
    }
  }
}

A module
{
  "request": "test-roundtrip-serialization",
  "typeId": "Extended.Module",
  "json": {
    "metadata": {
      "valueParameterInfo": [
        [
          "Amount of Ada",
          {
            "valueParameterFormat": {
              "contents": [0, "₳"],
              "tag": "DecimalFormat"
            },
            "valueParameterDescription": "Amount of Ada to be exchanged for dollars."
          }
        ],
        [
          "Amount of dollars",
          {
            "valueParameterFormat": {
              "contents": [0, "$"],
              "tag": "DecimalFormat"
            },
            "valueParameterDescription": "Amount of dollar tokens to be exchanged for Ada."
          }
        ]
      ],
      "timeParameterDescriptions": [
        ["Timeout for Ada deposit", "Deadline by which Ada must be deposited."],
        [
          "Timeout for dollar deposit",
          "Deadline by which dollar tokens must be deposited (must be after the deadline for Ada deposit)."
        ]
      ],
      "roleDescriptions": [
        ["Ada provider", "The party that provides the Ada."],
        ["Dollar provider", "The party that provides the dollar tokens."]
      ],
      "contractType": "Swap",
      "contractShortDescription": "Atomically exchange of Ada and dollar tokens.",
      "contractName": "Swap of Ada and dollar tokens",
      "contractLongDescription": "Waits until one party deposits Ada and the other party deposits dollar tokens. If both parties collaborate it carries the exchange atomically, otherwise parties are refunded.",
      "choiceInfo": []
    },
    "me_version": 1,
    "contract": {
      "when": [
        {
          "then": {
            "when": [
              {
                "then": {
                  "token": {
                    "token_name": "",
                    "currency_symbol": ""
                  },
                  "to": {
                    "party": {
                      "role_token": "Dollar provider"
                    }
                  },
                  "then": {
                    "token": {
                      "token_name": "dollar",
                      "currency_symbol": "85bb65"
                    },
                    "to": {
                      "party": {
                        "role_token": "Ada provider"
                      }
                    },
                    "then": "close",
                    "pay": {
                      "constant_param": "Amount of dollars"
                    },
                    "from_account": {
                      "role_token": "Dollar provider"
                    }
                  },
                  "pay": {
                    "times": {
                      "constant_param": "Amount of Ada"
                    },
                    "multiply": 1000000
                  },
                  "from_account": {
                    "role_token": "Ada provider"
                  }
                },
                "case": {
                  "party": {
                    "role_token": "Dollar provider"
                  },
                  "of_token": {
                    "token_name": "dollar",
                    "currency_symbol": "85bb65"
                  },
                  "into_account": {
                    "role_token": "Dollar provider"
                  },
                  "deposits": {
                    "constant_param": "Amount of dollars"
                  }
                }
              }
            ],
            "timeout_continuation": "close",
            "timeout": {
              "time_param": "Timeout for dollar deposit"
            }
          },
          "case": {
            "party": {
              "role_token": "Ada provider"
            },
            "of_token": {
              "token_name": "",
              "currency_symbol": ""
            },
            "into_account": {
              "role_token": "Ada provider"
            },
            "deposits": {
              "times": {
                "constant_param": "Amount of Ada"
              },
              "multiply": 1000000
            }
          }
        }
      ],
      "timeout_continuation": "close",
      "timeout": {
        "time_param": "Timeout for Ada deposit"
      }
    }
  }
}

compute-transaction
This request prints the output of computing a transaction on a given contract and state
Useless transaction
{
  "request": "compute-transaction",
  "state": {
    "accounts": [],
    "choices": [],
    "boundValues": [],
    "minTime":<PHONE_NUMBER>985
  },
  "transactionInput": {
    "tx_interval": { "from":<PHONE_NUMBER>000, "to":<PHONE_NUMBER>100 },
    "tx_inputs": []
  },
  "coreContract": {
    "when": [
      {
        "then": {
          "when": [
            {
              "then": {
                "token": { "token_name": "", "currency_symbol": "" },
                "to": { "party": { "role_token": "Dollar provider" } },
                "then": {
                  "token": {
                    "token_name": "dollar",
                    "currency_symbol": "85bb65"
                  },
                  "to": { "party": { "role_token": "Ada provider" } },
                  "then": "close",
                  "pay": 20,
                  "from_account": { "role_token": "Dollar provider" }
                },
                "pay": { "times": 10, "multiply": 1000000 },
                "from_account": { "role_token": "Ada provider" }
              },
              "case": {
                "party": { "role_token": "Dollar provider" },
                "of_token": {
                  "token_name": "dollar",
                  "currency_symbol": "85bb65"
                },
                "into_account": { "role_token": "Dollar provider" },
                "deposits": 20
              }
            }
          ],
          "timeout_continuation": "close",
          "timeout":<PHONE_NUMBER>985
        },
        "case": {
          "party": { "role_token": "Ada provider" },
          "of_token": { "token_name": "", "currency_symbol": "" },
          "into_account": { "role_token": "Ada provider" },
          "deposits": { "times": 10, "multiply": 1000000 }
        }
      }
    ],
    "timeout_continuation": "close",
    "timeout":<PHONE_NUMBER>985
  }
}

Transaction success
{
  "request": "compute-transaction",
  "state": {
    "accounts": [],
    "choices": [],
    "boundValues": [],
    "minTime":<PHONE_NUMBER>985
  },
  "transactionInput": {
    "tx_interval": { "from":<PHONE_NUMBER>000, "to":<PHONE_NUMBER>100 },
    "tx_inputs": [
      {
        "input_from_party": { "role_token": "Ada provider" },
        "that_deposits": 10000000,
        "of_token": { "token_name": "", "currency_symbol": "" },
        "into_account": { "role_token": "Ada provider" }
      }
    ]
  },
  "coreContract": {
    "when": [
      {
        "then": {
          "when": [
            {
              "then": {
                "token": { "token_name": "", "currency_symbol": "" },
                "to": { "party": { "role_token": "Dollar provider" } },
                "then": {
                  "token": {
                    "token_name": "dollar",
                    "currency_symbol": "85bb65"
                  },
                  "to": { "party": { "role_token": "Ada provider" } },
                  "then": "close",
                  "pay": 20,
                  "from_account": { "role_token": "Dollar provider" }
                },
                "pay": { "times": 10, "multiply": 1000000 },
                "from_account": { "role_token": "Ada provider" }
              },
              "case": {
                "party": { "role_token": "Dollar provider" },
                "of_token": {
                  "token_name": "dollar",
                  "currency_symbol": "85bb65"
                },
                "into_account": { "role_token": "Dollar provider" },
                "deposits": 20
              }
            }
          ],
          "timeout_continuation": "close",
          "timeout":<PHONE_NUMBER>985
        },
        "case": {
          "party": { "role_token": "Ada provider" },
          "of_token": { "token_name": "", "currency_symbol": "" },
          "into_account": { "role_token": "Ada provider" },
          "deposits": { "times": 10, "multiply": 1000000 }
        }
      }
    ],
    "timeout_continuation": "close",
    "timeout":<PHONE_NUMBER>985
  }
}

I see, so we will only ask the client to generate random parties and things like that, right? Not generate a random Value, for example. Cause having the client provide the generators seems like a vulnerability, because they could just pass the tests by providing bad generators. For example, if all values generated are Constant 0 or all contracts generated are Close then it is very easy to pass the benchmark.
Also, if the test suite calls the client, then it is not a client, it is a server :)

Sorry, I forgot to also include npm install

Yes, after including npm install, I was able to successfully send a request. Thanks!

Please reopen against purescript marlowe.


Go get fetches v3.4.0 if using go modules

Describe the bug
If working with a project with Go modules, go get will always fetch v3.4.0 as the latest version.
To Reproduce
Steps to reproduce the behavior:

Setup a new go project outside the Go path

Run go mod init

Run go get -u periph.io/x/periph

You should see a similar output below

go: finding periph.io/x/periph v3.4.0+incompatible
go: downloading periph.io/x/periph v3.4.0+incompatible
go: extracting periph.io/x/periph v3.4.0+incompatible

Expected behavior
The latest version should be fetched, which at the time of writing is v3.6.1.
Platform (please complete the following information):

OS: Windows 10 x64 1903
Go: 1.12.7

👍


Add logic for ORDERED_CLASSES at EvmDatabase

Use new logic for RssFeed and MiqWidget.
First discussed here
Note: ORDERED_CLASSES are not tested for having a seed method, just like PRIMORDIAL_CLASSES and RAILS_ENGINE_MODEL_CLASS_NAMES.

@Fryguy please review

@moolitayer What is the rationale behind this PR?  What problem is this trying to solve?

@chessbyte it was discussed here I will add it to the commit message once I am home

@Fryguy please review


translation issue in chapter_linear-networks/linear_regression_scratch

Job d2l-zh/PR-754/1 is complete.
Check the results at http://preview.d2l.ai/d2l-zh/PR-754/