Keydown event on input gets cancelled

Created a blazor project from default template. Then modifed the index.cshtml as the below code. Then type something in the input box. The browser console prints the pressed key, but the keyboard event seems cancelled. Nothing gets printed in the input field.
Also the arg.Key property gives me a string. Can I get a integer specifying as to which key was pressed (27 for escape key for example)
@page "/"
<input onkeydown="@HandleKeyDown" />
@functions{
    void HandleKeyDown(UIKeyboardEventArgs arg) {
        Console.WriteLine(arg.Key);
    }
}

Thanks for logging this, @neerajbharti. We'll make sure to add arg.KeyCode or similar, and not to prevent the default action for the keydown event. Added to backlog.

We should have a way to say that event was fully handled in our code or not

Unfortunately that might not be possible in general. The only way it could be possible is if the event raising code is synchronous. But longer term one of our goals is to support running Blazor across a boundard such as in a WebWorker. In that case, all JS-->.NET calls have to be async (even if the .NET->JS ones can be synchronous).

Let's assume I have an input field where I want to enter date in ISO format (YYYY-MM-DD). I want to attach my code to keyboard events and handle Plus and Minus keys to increment or decrement date. Those keys are fully handled in my code - I don't want to see something like this: 2018-05-12+++ in my input box after a few key press events. Will it be possible or not to implement similar functionality after the bug will be fixed?

@Andrzej-W Ultimately it's always possible to implement low-level things like a special keyboard event override in JS and encapsulate that in a component. Hopefully it's also possible to do nicely purely within the Blazor .NET model but would have to try it to determine any rough spots.

Make sure that after the fix this will still work
@page "/"

<div onclick="@ClickInDiv" onkeypress="@KeyPressInDiv" style="background-color:aqua;width:300px;height:100px">
    <input onclick="@ClickInInput" onkeypress="@KeyPressInInput" type="text"/>
</div>

@functions{
    int divClicks;
    int inputClicks;

    void ClickInDiv() => Console.WriteLine($"Click in div: { ++divClicks }");
    void ClickInInput() => Console.WriteLine($"Click in input: { ++inputClicks }");
    void KeyPressInDiv(UIKeyboardEventArgs ev) => Console.WriteLine($"KeyPress in div: { ev.Key }");
    void KeyPressInInput(UIKeyboardEventArgs ev) => Console.WriteLine($"KeyPress in input: { ev.Key }");
}

Currently it works as expected - I can handle event first in child component (HTML element) and then in parent component.

Will we have this fixed in 0.4?

@neerajbharti This isn't currently slated for 0.4. We'll look at it in a future release.


Create weapon stats page

Create the layout and styles for the weapon's stat page.

It has been completed and merged into main


[GSK-3367] Adding brier score + monotonicity + smoothness tests

Description

Related Issue

Type of Change

[ ] 📚 Examples / docs / tutorials / dependencies update
[ ] 🔧 Bug fix (non-breaking change which fixes an issue)
[ ] 🥂 Improvement (non-breaking change which improves an existing feature)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

Checklist

[ ] I've read the CODE_OF_CONDUCT.md document.
[ ] I've read the CONTRIBUTING.md guide.
[ ] I've written tests for all new methods and classes that I created.
[ ] I've written the docstring in Google format for all the methods and classes that I used.
[ ] I've updated the pdm.lock running pdm update-lock (only applicable when pyproject.toml has been
modified)

I added the brier test to the catalog, and updated also the API reference


raised campfire/soul campfire causing crash

I've tried solving on my own, but I don't understand how blacklisting works or if that would even help in this case. double slabs worked fine when we first started the server two days ago, but now i cant even connect to the other players server because of a registry sync failure being caused by those raised campfires/soul campfires. we tried older and newer versions of doubleslabs, but im honestly not sure whats going onI linked the debug below, thanks for any help you can provide.
debug.log

Thank you for the bug report. Firstly may I apologise in the delayed response. I'm not too sure about what is causing this issue but will take a look as soon as I can. Thank you for your patience.

Hi there! Apologies for the delay, can I check that double slabs was also installed on the server please?


Create a new pull request by comparing changes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.0007%) to 98.176%

Totals

Change from base Build<PHONE_NUMBER>:
-0.0007%

Covered Lines:
1759

Relevant Lines:
1759

💛  - Coveralls


Data driven reef components

Hi - reef looks really cool. I am just getting into it so this may already be possible. Be gentle...
I have a query / enhancement request around creation of complex HTML layouts.
My use case is a data-driven form. Lets say I get my form definitions from a server, and in the first case I have a title, four inputs and a submit button in the form, but the next form definition might have 5 inputs and 2 buttons.
Following your documentation for nested components,  the initial reef object would need to reference the id's of each of the objects that the form definition requires me to produce.  However, I do not know ahead of the execution what those id's will be.
As a parallel, in jquery, I would use .after(), .before(), .append() and .appendTo() to target new elements into the DOM in such a case.
I realise reef is intended to be kept skinny but I think maybe adding those 4 jquery-like functions, or at least .append() and .appendTo() would allow sophisticated component build-up via programmatic and therefore data-driven means.
A potential solution would be to parse the form definition and create speculative placeholder divs in the html for the initial reef object. However, my long term goal is to allow the form spec to be richer and allow nesting, in which case the optimum approach is the full append/appendTo method.
Sorry I am not skilled enough to fork the code and make my own attempt at a solution.
Regards.

To be honest, I'm not 100% sure what you're trying to do, but... it sounds like the kind of thing that you could use the attach() method for.
You would create your form, and then when the data you need comes in you, you can create a new Reef instance and attach it to the parent component.

Yep sorry that wasn't a very granular description. After sleeping on it and re-reading the doc on the github page I have decided that I do not grok attachTo().
What confuses me is the fact that I can pass it an array of reefs. This is outlined in the Nested components section of the docs.
I am probably thinking about it in the wrong direction, but my initial expectation is that when nesting components and because I read attachTo() as being in the context of the child, that you would attach a child to its parent. So a parent can have many children but a child only has one parent - kind of the standard tree-root structure we know from the html DOM, for example.  Which implies that attachTo() would take as its sole parameter the parent reef object.
So - could you explain a bit more about the intention of passing an array to attachTo().
I am attempting to illustrate the intended HTML structure and code it using reef in this codepen https://codepen.io/JEE42/pen/MWWepBX?editors=1010. It is embryonic in terms of the reef/js code but the hard coded html will give an explanation of a use case.
Appreciate you taking the time to respond.

@VanquishedWombat You've got it reversed. It's parent.attach([childElems, ...]).
You call attach() on the element you want to attach your sub-components to, and pass those components in. A parent element could have multiple sub-components, hence the array support. If you only need to attach a single element, you can pass it in without the array.

ok - that makes sense thanks. Could I beg your indulgence for a little longer and ask the same question on the use of attachTo which is a parameter passed into the new Reef() function. In the Github doc the example shows an array with a single reef member being passed in, example:
// Nested component
var todos = new Reef('#todos', {
	data: app.data,
	template: function (props) {
		var html = '
Todo List

';
		props.todos.forEach(function (todo) {
			html += '
' + todo + '
';
		});
		html += '
';
		return html;
	},
	attachTo: [app]  // <---- why the array ?
});

@VanquishedWombat In a word: flexibility.
It's a less common use case, but imagine that you had a component that was inside another component (in this case, app). Then imagine that instead of using the app.data as it's data source, it used a lagoon as its source of truth.
There are two times when you would want this component to re-render:

If app was re-rendered
If the lagoon (or external data source) was updated

Allowing you to attach a sub-component to multiple Reef objects supports that kind of flexibility in a way that a single attachment could not.
Admittedly a bit of an edge case, but trivial to support, so...


Add support for icon_url and icon_emoji

We all want to get a pretty icon in Slack, so I added support for icon_url and icon_emoji.

Almost forgot about this project, will check it out and get things updated and pushed to NPM as soon as I have a bit of free time

Closing, as this PR is getting too old.


Getting "manifest parsing has failed" when uploading to Teams

zip package attached. Any ideas?
package.zip
Thanks

Hi @kstario. The reason why the manifest failed parsing is because the websiteUrl, privacyUrl and termsOfUseUrl are invalid. I have updated them for you but feel free to replace them. Also, check out this link for reference: https://docs.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema
package.zip

Thank you for taking the time to respond. I originally had “company.com” but that did not work either, so I am glad it was just a syntax issue.
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
From: Thulani<EMAIL_ADDRESS>Sent: Saturday, March 6, 2021 8:21 AM
To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: Re: [OfficeDev/microsoft-teams-apps-icebreaker] Getting "manifest parsing has failed" when uploading to Teams (#141)
Hi @kstariohttps://github.com/kstario. The reason why the manifest failed parsing is because the websiteUrl, privacyUrl and termsOfUseUrl are invalid. I have updated them for you but feel free to replace them. Also, check out this link for reference: https://docs.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema
package.ziphttps://github.com/OfficeDev/microsoft-teams-apps-icebreaker/files/6095575/package.zip
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/OfficeDev/microsoft-teams-apps-icebreaker/issues/141#issuecomment-791970747, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALIKTGKBHGPP36PLXSXZ2T3TCJB6ZANCNFSM4YWAAXOA.


display owned plots list on YOUR PLOTS link click

fixed this

This does not work as I tested. can u check?


RNPM seems not supporting this plugin

Hi, I run "rnpm link" but failed to link react-native-spinkit's iOS dependencies.
I am still investigating why, because I am not familiar with RNPM yet.

Oh interesting, I've never used rnpm yet but we should support it of course.
Let me know if you find the issue

I found out the reason I could not link this library.
https://github.com/rnpm/rnpm/issues/109
It is not related to your plugin.


Rules and Regulations

Make a list of medicines which doesn't require any prescription and those that must need a prescription

Here's a list of all the medicines:
https://www.drugs.com/drug_information.html


👌 IMPROVE: updated plugin versions to stable (latest) versions

Thank you for the PR. Can you sign the CLA?

@googlebot I signed it!

Thank you for the PR. Can you sign the CLA?

I signed the CLA

This PR is outdated as dependencies have been upgraded (and some removed) since migrating Sunflower to Compose


Nearit-Integration-Pt1

NearIt dependency done with dagger and interfaces.
Wrapped async listener in observable.
NOTE: Since the on-boarding is still to be discussed, I don't ask for the proper permission yet, I just start the radar. In my test I granted the permission manually in the app settings.

As we found out the travis build will fail for PR from forks. When the changes are approved we should work around the issue (with another PR)


NVRInteractibleItem follow latency

Hi guys, excellent work on the library, We are using it for our Multiplayer shooter.
I have tried to modify the FixedUpdate to get it to follow more quickly but no luck, have you have any progress in this matter?

Hey, the way I solved better 1:1 tracking on grabbed objects is to use a fixed joint on the controller to the object instead of updating its position via update.
This works well for tracking, but it's not without its draw backs as it's creates other issues in collision physics (which I solve by just breaking the joint if the collisions go crazy)

Cool, will have to look into that, you dont have a branch of NewtonVR you wanna share? :D

No sorry. I have my own toolkit, but I think Newton vr does some things in a cool way so I'm using it for inspiration

InteractGrab from the SteamVR toolkit can be a good starting point if you guys want to go down the joint path
https://github.com/thestonefox/SteamVR_Unity_Toolkit/blob/master/Assets/SteamVR_Unity_Toolkit/Scripts/SteamVR_InteractGrab.cs

Fixed :D


Have only one placeholder in the compose box

Details

Have only placeholder in the compose box to avoid complication
Fixed Issues

Part of https://github.com/Expensify/App/issues/11471
PROPOSAL: https://expensify.slack.com/archives/C01GTK53T8Q/p1669139038234749
Tests

Have an account with some good number of chats between accounts A and B
From account A, go to any other chat except B
Signout from A
Sign in into A again
From + button, Request Money from B (Keep an eye on the compose box)
It should read "Write Something"

Test 2

From any account
From + button, create a completely new chat
The compose box should read "Write Something"

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

Offline tests

QA Steps

Have an account with some good number of chats between accounts A and B
From account A, go to any other chat except B
Signout from A
Sign in into A again
From + button, Request Money from B (Keep an eye on the compose box)
It should read "Write Something"

Test 2

From any account
From + button, create a completely new chat
The compose box should read "Write Something"

[ ] 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] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

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

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

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

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

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

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

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The reviewer will copy/paste it into a new comment and complete it after the author checklist is completed

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

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

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

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

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

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

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

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

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

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

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://user-images.githubusercontent.com/32012005/203776263-caef2e1c-0eff-4c52-9f04-d22686bc44ca.mov

Mobile Web - Chrome

Mobile Web - Safari

Desktop

https://user-images.githubusercontent.com/32012005/203781871-379c9b81-fc1d-440d-aa19-4d8fbd69244d.mov

iOS

Android

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] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

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

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

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

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

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

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

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/3069065/204149988-3c5c4b01-dee0-4675-97fc-812c3e8d01ae.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/3069065/204150020-14c64d61-bc00-4518-aee0-b469791a1294.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/3069065/204150256-fc5cb024-626a-4b05-b1fe-f1a3935ff4b3.mov

Desktop
https://user-images.githubusercontent.com/3069065/204150271-738814ad-4baa-4b8c-a044-0052f8ab86db.mov

iOS
https://user-images.githubusercontent.com/3069065/204150290-a04b9f38-a861-4ffe-b01b-66a1748fb6fe.mov

Android
https://user-images.githubusercontent.com/3069065/204150338-f7e01d2d-33a8-42f0-b988-6dcc9b298fc4.mov

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

🚀 Deployed to staging by @techievivek in version: 1.2.33-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by @techievivek in version: 1.2.33-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

Haven't confirmed, but I suspect this PR may have caused a regression: https://github.com/Expensify/App/issues/13111

I can confirm this PR didn't cause the linked regression.
With the current PR reverted in main local

With the current PR intact in the main local

Thanks for testing. Looks like the root cause has been identified

Sorry for the false alarm

🚀 Deployed to staging by @techievivek in version: 1.2.33-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by @luacmartins in version: 1.2.33-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by @luacmartins in version: 1.2.33-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


SCHEMA: Encode requirement levels for dataset_description and genetic_info

Two open questions I see:

How do we want to encode, e.g. NO_AUTHORS, where we effectively promote dataset_description.Authors from OPTIONAL to REQUIRED?
Do we want to specify nested fields, such as Genetics.Database directly? Or have some way of specifying a nested structure as its own object?

How do we want to encode, e.g. NO_AUTHORS, where we effectively promote dataset_description.Authors from OPTIONAL to REQUIRED?

I think since NO_AUTHORS is a warning, it would be upgrading from OPTIONAL to RECOMMENDED, right? In any case, what if we had a "publication" level for the validator? The checks in this level wouldn't have to be derived from the specification, but would be necessary for data sharing.


Add database indices to the event store

Ponder uses a SQL database to cache blocks, logs and transactions. We should add indices to speed our queries up (this is very low hanging fruit 😄).
Some thoughts:

There might be an automated way to determine which indices should exist.
All of the SQL queries are in this file.
Ponder uses Kysely as a query builder, which has helper methods for adding indices.
I'm guessing we can add these indices as a new migration in this file.
We'll need to do this for both SQLite and Postgres.
I'm guessing most of the indices we add will be related to the getLogEvents method/query.

Fixed in #226


Annotates messages for audit logging

Annotates gRPC messages that need to collected by our audit logs system. I picked messages based on the mutability of objects in Modal: if an RPC mutates a Modal object (e.g. creating an App or a Volume) then we create an audit log entry.

@prbot approve


Hello Microverse Beginner Project

Hello Microverse Beginner Project
I did the following:

I added the necessary linter files for html and CSS
Created the .gitignore file and added the node_modules and test.md file
Created the index.html file, with the Hello Microverse text
Added the styles.css file which has links to the index.html file for custom styling
Made use of github flow

Hello @Chimoneg27 👋,
This is an additional review as a result of the second opinion request.
The code reviewer did not intend for you to edit the previous commit messages, as it is not possible to modify the commit message history. The request is simply to correct this behavior in future commits. Please concentrate on implementing the remaining requested changes and submit another review request through your dashboard.
Keep rocking 🚀!


Cal log details

Add isOrganizer and IsRoom, Cleanup unreliable columns

I believe that I am done with the latest round of changes.
Wish I had got the PS Testing done.
Looks like we will be moving a lot of this logic out of PS and into a cmdlet, so the script should get a lot simpler in the future.
Let me know if you have any requests on changing the code, etc.
Shane
From: David Paulson @.>
Sent: Friday, February 23, 2024 10:30 AM
To: microsoft/CSS-Exchange @.>
Cc: Shane Ferrell @.>; Author @.>
Subject: Re: [microsoft/CSS-Exchange] Cal log details (PR #1979)
@dpaulson45 commented on this pull request.

In Calendar/Get-CalendarDiagnosticObjectsSummary.ps1https://github.com/microsoft/CSS-Exchange/pull/1979#discussion_r1501032128:

@@ -188,6 +186,7 @@ function GetCalendarDiagnosticObjects {

 }

 Write-Host "Found $($CalLogs.count) Calendar Logs for [$Identity]"

$script:IsOrganizer = SetIsOrganizer($CalLogs)

This isn't being used still as you are resetting the value to $IsOrganizer.
https://github.com/microsoft/CSS-Exchange/pull/1979/files#diff-c0a17053cc97c9900333ba5ee8350f54a57850310cf6cb5bf2ed9e64fec2de2aR1611

Reply to this email directly, view it on GitHubhttps://github.com/microsoft/CSS-Exchange/pull/1979#discussion_r1501032128, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPSHT5DAKYY2RV6JPXPIQ3YVDN3DAVCNFSM6AAAAABDALMRT2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQOJYG4YDOMBXGA.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

I will try to review it this week.

Thanks for the PR review.  I think I have addressed all comments.
Please let me know if you have any other comments / etc. before this can go in.
Shane

From: David Paulson @.>
Sent: Wednesday, March 20, 2024 6:47 AM
To: microsoft/CSS-Exchange @.>
Cc: Shane Ferrell @.>; Author @.>
Subject: Re: [microsoft/CSS-Exchange] Cal log details (PR #1979)
@dpaulson45 commented on this pull request.

In Calendar/Get-CalendarDiagnosticObjectsSummary.ps1https://github.com/microsoft/CSS-Exchange/pull/1979#discussion_r1532089300:

@@ -257,6 +256,66 @@ function GetMailbox {
}
}

+<#
+.SYNOPSIS
+Checks if a set of Calendar Logs is from the Organizer.
+#>
+function SetIsOrganizer {

param(

   $CalLogs

)
$IsOrganizer = $false

foreach ($CalLog in $CalLogs) {

   if ($CalendarItemTypes.($CalLog.ItemClass) -eq "IpmAppointment" -and

       $CalLog.ExternalSharingMasterId -eq "NotFound" -and

       ($CalLog.ResponseType -eq "1" -or $CalLogs.ResponseType -eq "Organizer")) {

       $IsOrganizer = "True"

This should be a boolean of $true, not a string if we are originally setting $IsOrganizer = $false

In Calendar/Get-CalendarDiagnosticObjectsSummary.ps1https://github.com/microsoft/CSS-Exchange/pull/1979#discussion_r1532089927:

}

Write-Verbose "IsOrganizer: [$IsOrganizer]"
return $IsOrganizer
+}

+function SetIsRoom {

param(

   $CalLogs

)
$IsRoom = $false

Simple logic is if RBA is running on the MB, it is a Room MB, otherwise it is not.

foreach ($CalLog in $CalLogs) {

   if ($CalendarItemTypes.($CalLog.ItemClass) -eq "IpmAppointment" -and

       $CalLog.ExternalSharingMasterId -eq "NotFound" -and

       $CalLog.Client -eq "ResourceBookingAssistant" ) {

       $IsRoom = "True"

Same thing here. Let's be consistent, either a string or a boolean

In Calendar/Get-CalendarDiagnosticObjectsSummary.ps1https://github.com/microsoft/CSS-Exchange/pull/1979#discussion_r1532090444:

}

return $IsRoom
+}

+function SetIsRecurring {

param(

   $CalLogs

)
Write-Host -ForegroundColor Yellow "Looking for signs of a recurring meeting."
$IsRecurring = $false

See if this is a recurring meeting

foreach ($CalLog in $CalLogs) {

   if ($CalendarItemTypes.($CalLog.ItemClass) -eq "IpmAppointment" -and

       $CalLog.ExternalSharingMasterId -eq "NotFound" -and

       $CalLog.CalendarItemType.ToString() -eq "RecurringMaster" ) {

       $IsRecurring = "True"

Same thing here. Let's be consistent, either a string or a boolean

In Calendar/Get-CalendarDiagnosticObjectsSummary.ps1https://github.com/microsoft/CSS-Exchange/pull/1979#discussion_r1532102308:

     if ($cNameMatch[-1] -match "-[\w* -.]*") {

       Write-Verbose "BetterThanNothingCNConversion: Returning : [$($cNameMatch[-1])]"

       return $cNameMatch.split('-')[-1]

       Write-Verbose "BetterThanNothingCNConversion: Matched : [$($cNameMatch[-1])]"

Wouldn't it be better if you just do the last X number of the CN? If we don't want it to be so long, that might be an idea.
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/CSS-Exchange/pull/1979#pullrequestreview-1948896497, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPSHT2LPSHKJHFDN6HOQFLYZGHO5AVCNFSM6AAAAABDALMRT2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTSNBYHA4TMNBZG4.
You are receiving this because you authored the thread.Message ID: @.***>


Can't import an instance export on a clone securely (superset import-dashboards)

Expected results
I want to be able to “clone” a Superset instance via CLI only: first export its configuration (and version-control it), then import and deploy it in another (empty) Superset instance.
I want to do it securely, so that — notably — secrets (I'm thinking of db connection details) are not stored in plain text.
I proceed the following way:

Preparing the export on the instance to be cloned:

superset export-dashboards (note that in the export, databases/*.yaml don't contain the full db URI, but the pw is masked instead).
track the archive on a repo

“Reinstalling” the instance on the clone:

superset set-database-uri  --database_name <> --uri <> (so that secrets — contained in the URI — can be passed securely)
superset import-dashboards -p <the archive tracked on a repo>

I would then expect all databases, data sources, dashboards, and charts to be recreated in the clone just like they are in the original.
Actual results
However, when going through this process, only the db/data sources are created (i.e. superset import-dashboards is not actually  working — nor throwing an error†).
Workarounds
I have found three workarounds, but they are not satisfactory:

Replace the mask (XXXXXX) with the actual password in the databases/*.yaml files (sqlalchemy_uri filed) of the export: this works (and the superset set-database-uri step can then be omitted)… yet isn't satisfactory, as it means that the password is stored in plain text — and if it is rotated frequently, it's a pain as you need to sed the YAML files to replace the pw at the time of the export with the latest password.
Replace the db UUID with the one of the clone back-end db:

Set-up the database connection (using superset set-database-uri) — it's good as this can be done “securely”,
Lookup for the UUID of this record in the dbs table of the back-end database (SELECT uuid FROM dbs WHERE database_name = '<value of the 'database_name' key in the databases/*yaml file you've just imported>';),
Replace the current value of the uuid key in databases/<db_name>.yaml, and of the database_uuid in the datasets/<db_name>/*.yaml files.
Proceed with the import via superset import-dashboards using the tweaked Superset instance export.

Use the GUI: in that case, an error message is displayed, yet without giving much details onto why it failed. Plus I'd like to automate the process, so GUI isn't an option in my case.

my 2 cents
I looks like superset import-dashboards fails to import the charts/dashboards/etc. because the UUID of the db connection record in the back-end database (dbs table) isn't the same in the export vs. in the clone.
I can imagine 2 reasons why (and I assume a quick lookup in the codebase would give me the answer but haven't had time to do it yet):

the UUID is computed using the value of the id column of the record,
the UUID is computed using the value of the created_on or changed_on column of the record.

Because these aren't part of the export (cf. databases/*.yaml), they are — and this makes sense — computed again when reinstantiating the db connection on the clone. Yet this yield to a new UUID that is likely causing the superset import-dashboards to fail..
Environment
(please complete the following information):

superset version: 1.2.0
python version: 3.8.10
any feature flags active:

"VERSIONED_EXPORT": True

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Logs
† Well, I've just tried to reproduce it… and got an error thrown — that's a progress!
(venv) [fedora@my_vm ~]$ superset --version
Loaded your LOCAL configuration at [/opt/superset/superset_config.py]
Python 3.8.10
Flask 1.1.4
Werkzeug 1.0.1
(venv) [fedora@my_vm ~]$ export SUPERSET_CONFIG_PATH=/opt/superset/superset_config.py
(venv) [fedora@my_vm ~]$ export PYTHONPATH=/opt/superset/
(venv) [fedora@my_vm ~]$ export FLASK_APP=superset
(venv) [fedora@my_vm ~]$ superset set-database-uri --database_name foobar --uri postgresql://<username>:<pw>@<url>:5432/<db_name>
Loaded your LOCAL configuration at [/opt/superset/superset_config.py]
logging was configured successfully
2021-08-23 08:31:52,244:INFO:superset.utils.logging_configurator:logging was configured successfully
2021-08-23 08:31:52,251:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/opt/superset/venv/lib64/python3.8/site-packages/flask_caching/__init__.py:201: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
  warnings.warn(
Creating database reference for foobar
2021-08-23 08:31:53,516:INFO:superset.utils.core:Creating database reference for foobar
(venv) [fedora@my_vm ~]$ superset import-dashboards --path dashboard_export_20210819T122937.zip
Loaded your LOCAL configuration at [/opt/superset/superset_config.py]
logging was configured successfully
2021-08-23 08:32:55,694:INFO:superset.utils.logging_configurator:logging was configured successfully
2021-08-23 08:32:55,700:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/opt/superset/venv/lib64/python3.8/site-packages/flask_caching/__init__.py:201: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
  warnings.warn(
Command failed validation
2021-08-23 08:32:56,878:INFO:superset.dashboards.commands.importers.dispatcher:Command failed validation
There was an error when importing the dashboards(s), please check the exception traceback in the log
Traceback (most recent call last):
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/cli.py", line 335, in import_dashboards
    ImportDashboardsCommand(contents, overwrite=True).run()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/dashboards/commands/importers/dispatcher.py", line 65, in run
    raise exc
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/dashboards/commands/importers/dispatcher.py", line 58, in run
    command.run()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/commands/importers/v1/__init__.py", line 63, in run
    self.validate()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/commands/importers/v1/__init__.py", line 147, in validate
    raise exception
superset.commands.exceptions.CommandInvalidError: Error importing dashboard
2021-08-23 08:32:56,878:ERROR:superset.cli:There was an error when importing the dashboards(s), please check the exception traceback in the log
Traceback (most recent call last):
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/cli.py", line 335, in import_dashboards
    ImportDashboardsCommand(contents, overwrite=True).run()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/dashboards/commands/importers/dispatcher.py", line 65, in run
    raise exc
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/dashboards/commands/importers/dispatcher.py", line 58, in run
    command.run()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/commands/importers/v1/__init__.py", line 63, in run
    self.validate()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/commands/importers/v1/__init__.py", line 147, in validate
    raise exception
superset.commands.exceptions.CommandInvalidError: Error importing dashboard

Note: adding --username <username_of_an_existing_user> to import-dashboards doesn't change the outcome.

Here are the logs with Superset 1.3.0:
(venv) [fedora@<my_vm> ~]$ superset import-dashboards --path dashboard_export_20210819T122937.zip --username admin
Loaded your LOCAL configuration at [/opt/superset/superset_config.py]
logging was configured successfully
2021-08-23 17:54:13,418:INFO:superset.utils.logging_configurator:logging was configured successfully
2021-08-23 17:54:13,435:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
/opt/superset/venv/lib64/python3.8/site-packages/flask_caching/__init__.py:201: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
  warnings.warn(
Command failed validation
2021-08-23 17:54:14,747:INFO:superset.dashboards.commands.importers.dispatcher:Command failed validation
There was an error when importing the dashboards(s), please check the exception traceback in the log
Traceback (most recent call last):
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/cli.py", line 328, in import_dashboards
    ImportDashboardsCommand(contents, overwrite=True).run()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/dashboards/commands/importers/dispatcher.py", line 65, in run
    raise exc
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/dashboards/commands/importers/dispatcher.py", line 58, in run
    command.run()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/commands/importers/v1/__init__.py", line 63, in run
    self.validate()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/commands/importers/v1/__init__.py", line 147, in validate
    raise exception
superset.commands.exceptions.CommandInvalidError: Error importing dashboard
2021-08-23 17:54:14,748:ERROR:superset.cli:There was an error when importing the dashboards(s), please check the exception traceback in the log
Traceback (most recent call last):
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/cli.py", line 328, in import_dashboards
    ImportDashboardsCommand(contents, overwrite=True).run()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/dashboards/commands/importers/dispatcher.py", line 65, in run
    raise exc
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/dashboards/commands/importers/dispatcher.py", line 58, in run
    command.run()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/commands/importers/v1/__init__.py", line 63, in run
    self.validate()
  File "/opt/superset/venv/lib64/python3.8/site-packages/superset/commands/importers/v1/__init__.py", line 147, in validate
    raise exception
superset.commands.exceptions.CommandInvalidError: Error importing dashboard

Note that (on 1.3.0) importing the dashboards via the GUI worked just fine (after I manually entered the database password when prompted) — I'm still looking for a CLI-based solution, though.

I believe I have understood where the issue comes from:
Indeed, without prior  superset set-database-uri, I inserted a breakpoint there and could see that the import is failing as follows:
>>> exception.message
'Error importing dashboard'

>>> exception._invalid_exceptions.__repr__()
"[ValidationError({'_schema': ['Must provide a password for the database']})]"

So the issue is the makes pw indeed — and, unlike the GUI, the CLI doesn't prompt for the db pw.
An idea would be to accept another parameter in the form of a YAML/JSON file containing a mapping between database_name and db pw. This file could then be re-created from a list of (encrypted) secrets.
I then ran the following command and checked that the db appeared in <FQDN>/databaseview/list:
superset set-database-uri -d foobar -u postgresql://user:unmasked_pw@fqdn:5432/db_name

(and double-checked that foobar is the value of database_name in the dashboard_export_TS/databases/foobar.yaml file indeed).
… and still got the same error/content of the local variables as above.
I also checked the following:
>>> config["database_name"]
'foobar'

>>> config["sqlalchemy_uri"]
'postgresql://user:XXXXXXXXXX@fqdn:5432/db_name'

>>> config["uuid"]
'4e5cd567-df42-44f2-be0f-c5035eeca290'

>>> db_passwords
{'e2ba605a-6141-4961-8...8bb3d2a57d': "unmasked_pw"}

… so my database password is correctly retrieved from Superset back-end db, and the import works well.
The issue actually happens here: one tries to match the UUID of the already existing db (I understand it has been defined when I ran superset set-database-uri) with… the value of the uuid key in the export.zip/databases/foobar.yaml file.
I haven't dug into how these UUIDs are generated, but they might include runtime inputs (e.g. the db ID of the record? the last_modified timestamp?) that would make comparing those in the new instance with those of the import very unlikely to succeed.

Based on the idea that comparing UUIDs in unlikely to succeed, I've tried to compare database_names instead as follows:
diff --git i/superset/commands/importers/v1/__init__.py w/superset/commands/importers/v1/__init__.py
index b9ea24414..8f6264cbf 100644
--- i/superset/commands/importers/v1/__init__.py
+++ w/superset/commands/importers/v1/__init__.py
@@ -76,9 +76,9 @@ class ImportModelsCommand(BaseCommand):

         # load existing databases so we can apply the password validation
         db_passwords = {
-            str(uuid): password
-            for uuid, password in db.session.query(
-                Database.uuid, Database.password
+            database_name: password
+            for database_name, password in db.session.query(
+                Database.database_name, Database.password
             ).all()
         }

@@ -113,8 +113,8 @@ class ImportModelsCommand(BaseCommand):
                     # populate passwords from the request or from existing DBs
                     if file_name in self.passwords:
                         config["password"] = self.passwords[file_name]
-                    elif prefix == "databases" and config["uuid"] in db_passwords:
-                        config["password"] = db_passwords[config["uuid"]]
+                    elif prefix == "databases" and config["database_name"] in db_passwords:
+                        config["password"] = db_passwords[config["database_name"]]

                     schema.load(config)
                     self._configs[file_name] = config

(with, obviously, the "VERSIONED_EXPORT": True feature flag)
… and this works!
@betodealmeida I'm still a little worried of the possible unforeseen consequences that such approach could have — do think it could cause some security issues? If not, would you like me to submit a PR?

This looks like my exact issue!
I'm on the cusp of doing the string replace of the password in the URI.
Is there a better work around / approach / resolution?

If anyone is looking for larger scale asset migration patterns, this might help:
https://preset.io/blog/version-control-superset-charts-dashboards-superset/
Closing this since we don't support Superset prior to 3.x any more, and the thread has been silent again for about a year. If people are still encountering this in current versions (currently 3.x) please re-open this issue, open a new Issue with updated context, or raise a PR to address the problem. Thanks!


#5930 reimplement menu with @phosphor Menu class

Cool that works great for the column menus, but the main table menu is still cropped.
It has to be converted as well.  However I am going to merge this as it is to lock in these gains so you can switch to https://github.com/twosigma/beakerx/issues/5970


Create separate Maven modules for standard lib packages

Currently, most of the Ballerina standard lib packages reside in the ballerina-builtin module. Need to move these packages from there to their own Maven modules. The packages are put into separate modules in PR #8719. The PR was close temporarily since this work needs to be in sync with the balo changes. Once balo support is completed, this PR needs to be synced with it and complete the refactoring.

This issue was addressed in PR #9272


The game is crushed when it is loading 'adapting history' ?

I have just installed New World Order mod v1.03 for Victoria 2, After I choose a country, the game would crush to desktop when it is loading 'adapting history'. How to solve this problem?

Do you have the right version of Victoria 2 herat of darknes 3.0.3?
Have you downloaded the complete NWO zip file?
Do this;
1 .Remove the old NWO installation (mod/NWO folder mod/NWO.mod)
2. Redownload the mod
3. Unzip to tne mod folder. You will have a mod/NWO folder mod/NWO.mod file.

I use Victoria 2 heart of darkness 3.03.
I download the mod from this website:
https://github.com/simsulla/nwomod/archive/v1.0.3.zip
is the nwo mod that I download correct? is it a complete one?

Yes the zip is correct. And vic2 version is correct.

I've remove the mod and download and install it again. But the game is still crushed when it is loading 'adapting history'

Did you clear the cache? I.e remove the C:\Users???\Documents\Paradox Interactive\Victoria II\NwO\gfx and map folders.
(??? is your windos user name)
In the logs (C:\Users???\Documents\Paradox Interactive\Victoria II\NwO\logs) what does the setup.log say (the last lines)?

Also try to verify the game files by steam, so you have NSPY as checksum.

For the setup files in logs, The last line is:
[provincemanager.cpp:737]: Finished creating province collision data.

Yes, you have Vic2 v3.01, it should be v3.03. You need to patch your Vic2.


[Dev] 0x Trading Support

[x] Need local mesh node support (in docker)

https://0x-org.gitbook.io/mesh/getting-started/deployment

[x] Once Gnosis Safe used implement wallet signing

This will be done with a different signing method, relevant docs:
https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#wallet
https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#signature-types
Will maybe just be a change from type 0x3 to 0x4 when signing for Wallets.

[x] Need support for liquidity sorting from 0x orders DB in the market DB
[x] Once filtering is available implement that and use on testnets
[x] Once mesh has getOrders functionality make backup behavior where if no connection to client/gateway RPC then browser mesh will be used for the initial syncing
[x] Once Gateway API is available use that instead of client API
[x] If initial sync is too slow: Check if order books are stale (if their last pull time was > a couple minutes ago), and then update the order books with this data.
[x] Add Cancel All -- How do we do this for all orders for this market?

Current Burn Down list

0x cancels batching - Andy
order ticket doesn't account for if I already have some shares used from open orders - Tom
Only count for the liquidity sorts/filters up to 3 orders per side of the book per outcome per user per market, filters aren’t working at all atm either. - Tom
if I update the total order value it doesn't update the quantity to match it anymore
oh also open orders still say this in the estimation box Max cost of 0.00 $ will be escrowed when making like a new open order that'll go on order book
fees don't seem to be right in transaction history, also price and quantity are wrong in tx history, and currency says eth.
We don’t show tx/gas fees on order estimation (should just add it to estimated fee imo)
why is the data in the CurrentOrders table wrong? Maybe it's breaking the tx history stuff and filters
my all time pnl is -$5 but I've gained $45 since making my account, pnl or overall pnl seems to be off somewhere

awww yeah


update to cosmwasm 2.0

https://github.com/CosmWasm/wasmvm/releases/tag/v2.0.0
spawn upgrade cosmwasm2 to perform a migration
also fix capabilities to work after linting

wasm light client probably requires an upgrade as well
This is going to be a state breaking patch. need to figure out a good tagging flow to describe this

update wasmlc to https://github.com/cosmos/ibc-go/pull/5909

blocked on some tokenfactory things. Will tag a v0.50.0-wasmv2 tag or something since it's state breaking but still v50?

official release is out for this
https://github.com/CosmWasm/wasmd/releases/tag/v0.51.0

Was implemented and closed here: https://github.com/rollchains/spawn/pull/100

this can be done now that tf has been updated to support wasmvm2, we can just do in SDK v52 as it is required then. no need for the ticket anymore.


Can we use your library to improve our tool?

Hello,
Congrats on your awesome tool, we're wondering if we can use some of your work inside our tool?
Disclaimer: We've just released a Serp API Tool, and also a Node.js library. We think we can use part of your code to improve a bit both. We know you've released your code under a MIT License, but we rather ask you directly. It's perfectly fine if you rather not.
Thanks!

Of course you can, this is all open source.  You do not have to ask him for permission, move forward as fast as possible!

Close ticket?


Incorrect complex fruchterman layout rendering on Windows when GPU accelerated

Describe the bug
When a Fruchterman layout graph has complex data and is GPU accelerated, the layout is incorrectly rendered.
Sometimes it doesn't show at all and you need to pan and scroll around to see it, and it's all squashed in a diagonal line. See attached screenshot.
This can be replicated with the GPU layout example for complex data.
It doesn't happen on every machine. It runs correctly on other Windows PCs or on a MacBook.
My guess is that it has to do with the actual Graphics Adapter or driver? Nvidia Drivers on Windows?
Tried on different browsers, with no extensions or add-ons, tried replacing direct x with open GL and the issue still persisted.
Your Example Website or App
https://g6.antv.vision/en/examples/net/gpuLayout#fruchtermanComplexData
Steps to Reproduce the Bug or Issue
Go to https://g6.antv.vision/en/examples/net/gpuLayout#fruchtermanComplexData.
See the rendered layout.
Expected behavior
The layout should be rendered correctly and not squashed
Screenshots or Videos

Platform

OS: Windows 10
Browser: Chrome (Edge and Firefox also have the same issue.)
Version: 97.0.4692.71
GPU: Nvidia GeForce 3090 with latest windows 10 drivers

Additional context
Maybe someone with a similar graphics card and setup can try to reproduce and find the issue.

I rewrote it with WebGPU which has native support for compute shader, can you reproduce this bug?
https://antv-g-next.gitee.io/zh/examples/gpgpu#fruchterman
I guess this bug caused by WebGL textures on your device.

We have same issue while using it on Linux, M1 Mac, and some Windows.

Hi, in the link you sent I'm seeing the following (with the same machine that had the issues):

Is that what I'm supposed to be seeing?
The graph looks like just blue lines.

Hi, in the link you sent I'm seeing the following (with the same machine that had the issues):
Is that what I'm supposed to be seeing? The graph looks like just blue lines.

It seems that all the nodes are not rendered correctly.

It looks like the only problem is the layout calculation, not the actual rendering.
Is this being looked at?
To avoid the issue we are forced to use gpuEnabled: false when creating the graph. But for fruchterman it's really slow.

I rewrote it with WebGPU which has native support for compute shader, can you reproduce this bug? antv-g-next.gitee.io/zh/examples/gpgpu#fruchterman
I guess this bug caused by WebGL textures(our current implementation based on WebGL texture mapping) on your device.

Will this WebGPU change be released soon or was it just an experiment to see if it worked?

Had a similar issue over the weekend - disabling gpuEnabled: false is a work around for now but it's also a lot slower so not ideal. Also interested in the progress of this thanks!

How long is the problem expected to be solved?


change secret types example

Change Summary
I was examining https://github.com/samuelcolvin/pydantic/pull/884, which discussed the secret types. I found that the example for secret types could be slightly more clear.
Apologies if I am in error with creating this PR, I do not have experience submitting PR to an open source code base.
Checklist

[x] Unit tests for the changes exist
[x] Tests pass on CI and coverage remains at 100%
[x] Documentation reflects the changes where applicable
[x] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)

Looks good to me

changes/-.md file added describing change
(see changes/README.md for details)

Feel free to do this if you want credit for your contribution!

thank you very much.


Can we get a in memory simple example for Go Newbie's

Would be really useful to know what how to get started with a simple in memory cache for those who aren't full-time gophers.
Good examples in README's are:
https://github.com/gin-gonic/gin/blob/develop/README.md
I'll have a go now (I'm a Golang newbie) and submit a README PR :)

I'm a bonehead.

It sounds like you found it. For posterity (in case others run into this issue), there is already a simple in-memory cache implementation in httpcache.go, it's called *MemoryCache.
The README mentions it as the first entry:

The built-in 'memory' cache stores responses in an in-memory map.


PDF-mode contacts section doesn’t delete

See this video, point 1
Current Behavior
When a user tries to delete a contact in the contacts step of the PDF upload workflow, they are unable to.
Expected Behavior

[ ] Users are able to delete contact info in the contacts step

@wrynearson This is fixed in the staging now

Thanks @frozenhelium, @bwbaker1 this is ready for your review

@wrynearson This is great! I think we can call this ready for production.


base-image, hadoop-run is not properly tagged, so can't push to registry

For example, here's your services-configuration.yaml:
cluster:
 ...
  docker-registry-info:
    docker-namespace: openpai
    docker-registry-domain: docker.io
    docker-tag: your-tag

Then the base-image should be tagged as openpai/base-image:your-tag, but it is base-image:latest.
And the same as hadoop-run.

Should be fixed with #757 .

suggest to close the issue after you verify the fix

I referenced this issue in my PR, when PR merged, this issue closed automatically.
Github must be assuming that we only merge the PR after the verification.


hasura-storage-js: latest version doesn't attach authorization header correctly

For reference:
https://discord.com/channels/552499021260914688/1206985867470569552/1206985867470569552

Fix has been released.


remote sources not working with jquery 3.1.1

When using a remote source with jquery 3.1.1 I get this error:
Uncaught TypeError: this._send is not a function
    at Transport._get (typeahead.bundle.js:397)
    at later (typeahead.bundle.js:113)

It works fine with jquery 1.9.1.

I'm using a remote source with jQuery 3.2.1 and it works for me. I haven't tried 3.1.1 but maybe you can try it with the latest version of jQuery.

@andrewharvey Please try the latest version of Typeahead (1.2.0). It adds support for jQuery 3.
If it's still not working, please provide a jsfiddle we can use to reproduce the problem and test with.

Thanks @jlbooker I'll give this a go next time I use typeahead.

I had the same error. It was because of using slim version of JQuery which does not include ajax functionalities. Switching to default JQuery version will solve the problem, but it is good to have a note in docs or even a runtime check for $.ajax.


feat(jolnir): add --prover.allowance flag

Closed by https://github.com/taikoxyz/simple-taiko-node/pull/158


weave-net hangs - leaking IP addresses?

What you expected to happen?
/status etc to work
What happened?

/status (and all other endpoints) hang
Issuance of IP addresses to pods also seemed to stop on the affected nodes
How to reproduce it?

Unknown. Happened on multiple nodes in our cluster
Anything else we need to know?

Versions:

$ weave --local version
weave 2.5.0
$ docker version
$ uname -a
Linux kubernetes-kubernetes-cr0-17-1547767704 4.14.67-coreos #1 SMP Mon Sep 10 23:14:26 UTC 2018 x86_64 Linux
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.10", GitCommit:"098570796b32895c38a9a1c9286425fb1ececa18", GitTreeState:"clean", BuildDate:"2018-08-02T17:19:54Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.10", GitCommit:"098570796b32895c38a9a1c9286425fb1ececa18", GitTreeState:"clean", BuildDate:"2018-08-02T17:11:51Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Logs:
or, if using Kubernetes:
$ kubectl logs -n kube-system <weave-net-pod> weave

(After triggering a kill -ABRT)
weave-logs-1548156065-weave-net-4mdf6.txt

Network:

$ ip route
$ ip -4 -o addr
$ sudo iptables-save

The leaking IP addresses is continuing. We're leaking around 300 per day.

Is there any way to peek inside weave and find out what IP addresses / IDs they correspond to? The API (as far as I can tell) only gives us the ranges assigned to each node.
I also can't see any way to mitigate this by looking at the real state of which IP addresses are used and remove them from weave - is there an API call for that?

curl <IP_ADDRESS>:6784/ip to see what is "owned"
Send an http DELETE to remove one.  See weave detach in the weave shell script for example.

That's really useful, thanks for the pointer :)

I imagine the way forward is to write a version of PruneOwned that works more like weave ps for the case where we don't talk to Docker (including the weave-kube case).
Maybe there is a corner case where the namespace doesn't exist and/or IP isn't assigned to a namespace now, but it will be shortly?

For info, we've ended up writing and deploying this: https://github.com/ocadotechnology/weave-wiper

Generally we do see kubelet call CNI to remove pods on restart, even dead ones.
I wonder if, given crashes, restarts, etc., Weave Net can get more and more out of sync over time.

I am able to easily reproduce the leaking IP scenario
So I do kubectl delete pods weave-net-bkxln -n kube-system; kubectl delete pods frontend-69859f6796-nq8d6 for the pods running on the same node.
kubelet and CNI interaction fails as expected
May 01 10:13:47 weave-node2 kubelet[1674]: weave-cni: error removing interface "eth0": Link not found
May 01 10:13:47 weave-node2 kubelet[1674]: weave-cni: unable to release IP address: Delete http://<IP_ADDRESS>:6784/ip/8bc16eac402e41046ab40817a4ebd4aa00156824a6156b0c6c5d33b5d3389abb: dial tcp <IP_ADDRESS>:6784: connect: connection refused
May 01 10:13:47 weave-node2 kubelet[1674]: E0501 10:13:47.465731    1674 remote_runtime.go:109] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed to set up sandbox container "8bc16eac402e41046ab40817a4ebd4aa00156824a6156b0c6c5d33b5d3389abb" network
May 01 10:13:47 weave-node2 kubelet[1674]: E0501 10:13:47.465764    1674 kuberuntime_sandbox.go:68] CreatePodSandbox for pod "frontend-69859f6796-ps54z_default(b44a7622-6bcb-11e9-ab4a-08002737ffe1)" failed: rpc error: code = Unknown desc = failed to set up sandbox container "8bc16e
May 01 10:13:47 weave-node2 kubelet[1674]: E0501 10:13:47.465781    1674 kuberuntime_manager.go:693] createPodSandbox for pod "frontend-69859f6796-ps54z_default(b44a7622-6bcb-11e9-ab4a-08002737ffe1)" failed: rpc error: code = Unknown desc = failed to set up sandbox container "8bc16
May 01 10:13:47 weave-node2 kubelet[1674]: E0501 10:13:47.465819    1674 pod_workers.go:190] Error syncing pod b44a7622-6bcb-11e9-ab4a-08002737ffe1 ("frontend-69859f6796-ps54z_default(b44a7622-6bcb-11e9-ab4a-08002737ffe1)"), skipping: failed to "CreatePodSandbox" for "frontend-6985
May 01 10:13:47 weave-node2 kubelet[1674]: E0501 10:13:47.716332    1674 kubelet_pods.go:1093] Failed killing the pod "frontend-69859f6796-nq8d6": failed to "KillContainer" for "php-redis" with KillContainerError: "rpc error: code = Unknown desc = Error: No such container: 835adc9c
May 01 10:13:48 weave-node2 kubelet[1674]: W0501 10:13:48.210269    1674 cni.go:309] CNI failed to retrieve network namespace path: cannot find network namespace for the terminated container "8bc16eac402e41046ab40817a4ebd4aa00156824a6156b0c6c5d33b5d3389abb"
May 01 10:13:48 weave-node2 kubelet[1674]: weave-cni: unable to release IP address: 400 Bad Request: Delete: no addresses for 8bc16eac402e41046ab40817a4ebd4aa00156824a6156b0c6c5d33b5d3389abb

there is no external attempt (from kubelet) to retry CNI DEL command leaking the IP.

write a version of PruneOwned that works more like weave ps for the case where we don't talk to Docker (including the weave-kube case).

@bboreham weave ps uses weaveutil which still uses docker https://github.com/weaveworks/weave/blob/v2.5.1/prog/weaveutil/addrs.go#L17
Does it make sense to add PruneOwned functionality for Kubernete in kube-utils similar to reclaim?

Ah, good point.  I misremembered how that worked.
No, I don't want to base it solely on Kubernetes info; that will miss any non-Kubernetes Docker containers that are running on the machine.
Can we just iterate every network namespace (possibly every process?) and find the in-use addresses that way?  There's code here: https://github.com/weaveworks/scope/blob/master/probe/docker/network_linux.go#L19 to go from a pid.

there is no external attempt (from kubelet) to retry CNI DEL command leaking the IP.

We could do some retrying inside the Weave CNI plugin, if we get a problem that could be transient (i.e. not a 200 or 400 response).

Can we just iterate every network namespace (possibly every process?) and find the in-use addresses that way?

Make sense, it will be more generic and reliable way. Will give it a try.

I remembered a bit more of the history about this: we explicitly return success when the daemon doesn't exist because of https://github.com/kubernetes/kubernetes/issues/44307, but that issue was fixed a couple of years ago so we could go back to returning an error, and then kubelet would retry.

Yes, that worked. If i return the error from the CNI, then kubelet retry would fix the leak. It does seem kubelet is stateful, even if i restart the kublet, it does re-attempt to CNI DEL. It seems we could rely on kubelet instead of implementing PruneOwned that works for non docker.

@mikebryant , could you help us how to use weave-wiper script in kubernetes cluster.

Closed by 3638


[#2035] fix(trino-connector): Fix type conversion about type varhcar and char for PG catalog

What changes were proposed in this pull request?
Remove logic that convert varchar and char to type string.
Why are the changes needed?
Type conversion should be aligned with their definition.
Fix: #2035
Does this PR introduce any user-facing change?
N/A.
How was this patch tested?
new IT cases in trino-ci-testset

@diqiu50 please help to review this.

@jerryshao
I will move this out of release 0.4.0. There is something unsettled about Trino varchar type.

@jerryshao I will move this out of release 0.4.0. There is something unsettled about Trino varchar type.

OK.

No need any more.


Entitlement addition to CustomInfoDto

probably rebase the branch so the diff is more readable

probably rebase the branch so the diff is more readable

Was just waiting for the other PR to wrap up. The diff is clean now and I will change it from draft to a real PR


Refactoring transaction properties

parentTransactionType and operation are now properties of a transaction

Coverage remained the same at 100.0% when pulling 339db94fc14586b4a7d9f5c4edd778c93b2410d3 on Trimnosh:refactoring_transaction_properties into 3ad689162bc2155727fc5fac3f9c260cfedf60ae on wirecard:59-sepa.

Coverage remained the same at 100.0% when pulling aa13b2b93a0e49141603499c414764236b28759e on Trimnosh:refactoring_transaction_properties into 3ad689162bc2155727fc5fac3f9c260cfedf60ae on wirecard:59-sepa.


Allow async user configs

This PR changes how the .happo.js config file is loaded. It allows asynchronous execution within the config file itself to do things such as spinning up a static file server or exposing ports to services like localtunnel or ngrok.
Simple example:
const path = require('path');
const ngrok = require('ngrok');
const { RemoteBrowserTarget } = require('happo.io');

module.exports = new Promise(async (resolve) => {

    const url = await ngrok.connect(9090);

    resolve({
        apiKey: process.env.HAPPO_API_KEY,
        apiSecret: process.env.HAPPO_API_SECRET,

        targets: {
            'chrome-desktop': new RemoteBrowserTarget('chrome', {
                viewport: '1366x768',
            }),
        },
    });
});

Thanks @AllenWilliamson, this makes perfect sense! One change I’d like to discuss before I merge this however is whether it would make more sense to wrap the async stuff in a function? The promise export caught me as a bit unconventional. It works, it’s just different from what I think most people are familiar with.
The logic could be

if the export is an object, use it
if the export is a function, await the result, then use it

Let me know what you think!
Side note — it would be good to capture the new logic in the loadUserConfig test as well.

Yes, you are right. This example should work with the changes:
const ngrok = require('ngrok');
const { RemoteBrowserTarget } = require('happo.io');

module.exports = async () => {
    const url = await ngrok.connect(9090);
    return {
        apiKey: process.env.HAPPO_API_KEY,
        apiSecret: process.env.HAPPO_API_SECRET,
        targets: {
            'chrome-desktop': new RemoteBrowserTarget('chrome', {
                viewport: '1366x768',
            }),
        },
    };
});

I've added a test case for async configs but oddly enough the test suite seems to be failing now.
Any ideas why?

The test failures are coming from Node v6, which at the time I created the client was needed by some projects. Node 6 doesn't support async/await. It's possible that we don't need to support v6 any longer, but for now it will be in the list of versions we're testing. You can get the test passing by switching the async config to something like
module.exports = () => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve({
        type: 'plain',
        targets: {
          foo: {},
        },
        apiKey: 'tom',
        apiSecret: 'dooner',
      });
    }, 10);
  })
};

This should be good to go unless you have any other suggestions. We started evaluating happo last week and this was a crucial change to get things working with our pattern library.


Add version flag

adds -version to print version of binary and exit 0
assuming semver

@chiefy thanks for this! Please mark it as 0.1.0, it's new and there is many things that can be still improved. Also the version should be embedded into the binary during the build (I'm going to do it in 1-2 weeks). For now let's assume it's  going to be 0.1.0 :) (p.s: please rebase on the current commit)
Thanks :+1:

@fatih changed and rebased, thanks!

Thanks @chiefy


[HDInsight] - Support KV URL

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

Contribution checklist:

[-] I have reviewed the documentation for the workflow.
[-] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[-] The OpenAPI Hub was used for checking validation status and next steps.

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-node

Automation for azure-sdk-for-js

Can one of the admins verify this patch?

Automation for azure-sdk-for-go

Automation for azure-sdk-for-java


Importing the generated .ovpn file into OpenVPN Connect mobile app fails

The generated client .ovpn files have the following options set:
ca keys/<client-name>/ca.crt
cert keys/<client-name>/<client-name>.crt
key keys/<client-name>/<client-name>.key

Because the directives are present in the file, the mobile client will not import the .ovpn file due to the files not being present.  Simply removing those three lines from the generated .ovpn file allows it to import successfully since those keys are also contained inline in the .ovpn file itself.  If having those directives is necessary for some other reason, perhaps an option could be introduced to control the generation of those directives.

Unfortunately I am not a user of the .ovpn files. Maybe @elisiano can give us some insights?

Currently I'm using an older version of the module (prior to the ovpn refactoring). I'll try to update and report back.
Although if what @duckpuppy says is true, we have an issue. There should not be any external file reference (that's the whole point of having .ovpn files).

So yeah, this is the issue: https://github.com/luxflux/puppet-openvpn/blob/master/manifests/client.pp#L336
It includes the original config in the ovpn file which contains references to the external files.

@duckpuppy did you have a chance to test the PR I submitted?

I haven't seen that a PR was submitted for this ticket.  I should have some
time tomorrow to try it out.
On Thu, Mar 10, 2016 at 3:46 PM Elisiano Petrini<EMAIL_ADDRESS>wrote:

@duckpuppy https://github.com/duckpuppy did you have a chance to test
the PR I submitted?
—
Reply to this email directly or view it on GitHub
https://github.com/luxflux/puppet-openvpn/issues/187#issuecomment-195039090
.

@duckpuppy did it work out?

I assume this is fixed by #190.


bugfix for Vector#proportions, make it return float value

bugfix for Vector#proportions, make it return float value

Tests aren't passing because you're using èqinstead ofbe_within`. Just make that change and I'll merge.

@v0dro fixed and tests have passed.
But I'm aware that using :gsl will return convert result into a float value even the input value is integer, e.g.:
@dv = Daru::Vector.new [323, 11, 555, 666, 234, 21, 666, 343, 1, 2], dtype: dtype

@v0dro all tests have passed

Merging your PR but can you please open an issue pointing out the behavior displayed by GSL?

@v0dro I'm not using GSL, not sure it's issue or not, although that behavior is unexpected for me.


Fix #2583: Use JSDOMNodeJSEnv by default when requestsDOM is true.

(instead of PhantomJS)

Review by @gzm0

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3377/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/4427/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3378/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/4428/
Test FAILed.

Jenkins, retest this please

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3379/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/4429/
Test PASSed.


Can you add examples for "situation", "instruction", "dialogue_history" like https://github.com/f/awesome-chatgpt-prompts ?

Do you have more examples for "situation", "instruction", "dialogue_history"?
Like https://github.com/f/awesome-chatgpt-prompts
situation_narrative = "Cosmo is having a friendly conversation with a friend."
role_instruction = "You are Cosmo and you are talking to a friend."
dialogue_first = "Hey, how was your trip to Abu Dhabi?"
I tried
situation_narrative = "{{avatarName}} is having a friendly conversation with a friend."
role_instruction = "You are {{avatarName}} and you are talking to a {{humanName}}."
dialogue_first_avatar = "My name is {{avatarName}}."
dialogue_first_human = "My name is {{humanName}}."
Is there a better setup? I can't get "What is my name?" to work. Cosmo-xl thinks that I am Bill Gates. I am not Bill Gates. I am chatting with Bill Gates on www.justlearn.com

Cosmo is a simple dialogue model trained on SODA and ProsocialDialog mainly for academic/research purpose, so we do not encourage to use our model in real-world products as is. It has many practical limitations to be applied directly to services.


Add ability to load a specific section of the PSL

Introduction
This PR resolves #179, a recent post on reddit highlighted that the current library can not distinguish beetwen ICANN and Private Domains, although the PSL contains two distinctive sections to highlight the difference.
Proposal
Describe the new feature
This proposal introduces an optional parameter to PublicSuffixListManager::getList to enable loading each specific section from the PSL:

PublicSuffixListManager::ICANN_SECTION to load the ICANN section
PublicSuffixListManager::PRIVATE_SECTION to cache the PRIVATE section

before:
<?php

use Pdp\PublicSuffixListManager;
use Pdp\Parser;

$manager = new PublicSuffixListManager();
$list = $manager->getList(); //obtain the Full psl
$host = 'thephpleague.github.io';
$parser = new Parser($list);
var_dump($parser->parserHost($host)->toArray());
// returns
// array (
//  'subdomain' => NULL,
//  'registrableDomain' => 'thephpleague.github.io',
//  'publicSuffix' => 'github.io',
//  'host' => 'thephpleague.github.io',
//)

after:
<?php

use Pdp\PublicSuffixListManager;
use Pdp\Parser;

$manager = new PublicSuffixListManager();
$list = $manager->getList(PublicSuffixListManager::ICANN_SECTION);
$host = 'thephpleague.github.io';
$parser = new Parser($list);
var_dump($parser->parserHost($host)->toArray());
// returns
// array (
//  'subdomain' => 'thephpleague',
//  'registrableDomain' => 'github.io',
//  'publicSuffix' => 'io',
//  'host' => 'thephpleague.github.io',
//)

To avoid BC break when using an invalid section name the PublicSuffixListManager::getList will return a PublicSuffixList object containing the full PSL list.
Calling the PublicSuffixListManager::refreshPublicSuffixList will create or update each  section cache file in the cache directory. This means that:

2 new files are added to the cache directory
2 new constants to specify the cache file basename are added

PublicSuffixListManager::ICANN_PSL_PHP_FILE for the ICANN section
PublicSuffixListManager::PRIVATE_PSL_PHP_FILE for the PRIVATE section

Backward Incompatible Changes

None

Targeted release version
next minor version
Open issues
The PublicSuffixListManager::$list protected property is set when using the PublicSuffixListManager::getList method but is never used. What should be its value in this new system ? Should this property be deprecated ?

@jeremykendall I've added a new commit with all the new changes requested. As mentioned the public method PublicSuffixManagerList::parseListToArray is deprecated because the conversion now is rewritten and I don't want to introduce a BC break.

Any news on this PR ??

@nyamsprod Hey there! Sorry to leave you without any news. I've been so busy with work and family that I haven't had any time at all to work on this with you.
I want you to know that I really like what this PR does and I'm super excited about it. As soon as I have time I will get back to you. There are a few things about the implementation that I'd like to tweak (I hope you don't mind), but your PR will be merged into the project. I appreciate your contribution, the hard work you've put into it, and your patience. I'm sorry that I haven't been able to get to it sooner, and I'm sorry that I can't give you any idea when I'll be able to work on it with you.

@jeremykendall thanks for the reply.

There are a few things about the implementation that I'd like to tweak (I hope you don't mind), but your PR will be merged into the project

I don't mind at all I was hoping it would be merged and released before league\uri 5.0 but work and family first 👍 . If there are things I can do to improve the PR don't hesitate to ask.


Fixed es.json

converted remaining english to spanish in file so as to check more html locations.
the formatjs compile for Spanish was failing converted back to english for now. build does the correct thing, so it's more just to keep things correct in source.

Hm, this works for now; I would think it may make sense to leave this file blank for now? We risk misrepresenting things with our google translate version.

Yeah, hopefully we wouldn't hand them our es.json but just feed the en.json into the translation tool.
It's likely all text on the site will be replaced in the next batch of UI changes, so I'll just empty the es.json with those.
Random thought: maybe we should have some mock language code for Ipsum Lorem? Would be fun to have some iplo.json in the language file that jest could sanity check going to /iplo/ replaces all the text correctly.

I would also see if you could add this actually? https://formatjs.io/docs/tooling/linter/ - this way we catch missing translations with our linter itself.

Good thinking. I'll check into it.

Added eslint-plugin-formatjs checking. Think typescript does most of the enforcing we need, but nice to have anyways.


Move text labels onto their own paint layer

Sometimes text appears under a road. Wondering if this is possibly as its text from one tile displayed out of its 'area' ? Then a road appears over the top of it ?
So I think painter has a front and back  thing we could possibly use.

For the moment, I've just made sure all text is done after all tiles, I think this has improved things. Will re-open if it needs a separate layer.


Does aggregate operation supported in avocado?

In what sense?

operations like
db.test.aggregate([
    {
        $group: {
            _id: "id",
            infoArr: {$push: "$info"}
        }
    },
    {
        $project: {
            id: "$_id",
            infoArr: 1,
        }
    }
])

Yes, Avocado doesn't actively hide anything that the underlying MongoDB driver allows one to do. Check out the docs.


🐞[Bug]:  Many sections overlapping in the Patient Portal Section

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Patient portal is overflown
Expected behavior
Everything should be in place and visible
Add ScreenShots

What browsers are you seeing the problem on?
Firefox, Chrome, Microsoft Edge
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

Please review this and assign this to me @Anishkagupta04

Assigning


HIVE-25857: Replication fails in case of Control Character in the table description.

+1

Thanx Anishek for the review!!!
Closing the PR


Integrate content from busiing:master

Replaces #3, which broke the original plotting functionality.

Hello @p-snft! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file oemof_visio/plot.py:

Line 172:80: E501 line too long (118 > 79 characters)
Line 178:28: E231 missing whitespace after ','
Line 181:80: E501 line too long (115 > 79 characters)
Line 183:30: E231 missing whitespace after ','
Line 187:80: E501 line too long (115 > 79 characters)
Line 203:80: E501 line too long (81 > 79 characters)
Line 206:80: E501 line too long (80 > 79 characters)
Line 209:80: E501 line too long (81 > 79 characters)
Line 225:80: E501 line too long (100 > 79 characters)
Line 230:80: E501 line too long (118 > 79 characters)
Line 244:80: E501 line too long (85 > 79 characters)
Line 247:21: E231 missing whitespace after ','
Line 247:26: E231 missing whitespace after ','
Line 250:80: E501 line too long (144 > 79 characters)
Line 418:80: E501 line too long (86 > 79 characters)
Line 493:80: E501 line too long (89 > 79 characters)
Line 496:80: E501 line too long (102 > 79 characters)
Line 502:80: E501 line too long (89 > 79 characters)

@busiing: I tried to integrate this but I am a bit lost. Can you provide an example on how to use this? (As I understand it, it should somehow automatically create plots or many nodes within one figure.)


Update deprecated include statements

Ansible 2.4 issues a warning because the include module is deprecated and will be removed in Ansible 2.8. To keep this module working the includes should be replaced by their recommended counterparts. I've not checked all the possible versions yet but import_playbook might be a fit. For more information see http://docs.ansible.com/ansible/latest/include_module.html.
Because 2.8 is far away still, I'm not sure when this should be implemented. I can do it once I find a few cycles to spare but this might break all current versions and bump the required Ansible version to 2.4. (In case the new modules where introduced just then; I did not check.)
Best,
Manuel

Hey Manuel,
thanks for bringing this up.
We already changed some things, see here: https://github.com/dev-sec/ansible-os-hardening/commit/15b0c1726e5de8af0f82489ea7732a623f6984fe
However we did not release a new version to galaxy yet, that includes this.
Are there any other places we missed it?


Remove invalid json comments to fix Jest tests

This fixes jest testing - thus fixing this issue https://github.com/thegamenicorus/react-native-phone-input/issues/22

hello guys, any plan merging this? ^^ thx.

for now you can just fork my master branch here: https://github.com/evanjmg/react-native-phone-input and install via npm https://stackoverflow.com/questions/17509669/how-to-install-an-npm-package-from-github-directly


Is it possible to switch an output on Pro Micro based on temperatures?

Hello, is it possible to switch a random output based on the temps read by iCUE software?
I'm looking to control my leds with a Pro Micro and this library, but also switch a relay on/off based on a specific temp threshold.

Use the CommanderPRO sketch which can be configured in iCUE as Commander PRO. It allows to receive temperature for fans, so you have to configure a fan and then can select the temperature source in iCUE.


Support for Markdown Frontmatter

Feature Description
The ability to add frontmatter to the top of a markdown file that is rendered by Evidence, and have it passed through to the  of the evidence pages.
Eg in YAML format
---
title: A page title
description: Here is a detailed description of the page that is typically up to 160 characters
og:
    title: Title for social
    description: Description for social
    image: img_for_social.png
---

# Page h1
Here is the start of the page content

Would render in the final page HTML as
<head>
    <title>A page title</title>
    <meta name="description" content="Here is a detailed description of the page that is typically up to 160 characters"/>
    <meta property="og:title" content="Title for social">
    <meta property="og:description" content="Description for social">
    <meta property="og:image" content="https://www.website.com/path/to/img_for_social.png">
</head>

Goal of Feature

Better indexing of pages by search engines
Ability to change how the page appears when shared on Slack, Twitter etc.

Current Solution
Can directly put HTML into a .md page to be processed by svelte
<svelte:head>
    <title>A page title</title>
    <meta name="description" content="Here is a detailed description of the page that is typically up to 160 characters"/>
</svelte:head>

But the __layout.svelte file will override the title tag to be "Evidence" irrespective. This can (and should) be removed to allow greater control.
Related Issues

MDsveX supports frontmatter, but requires using MDsveX layouts (rather than svelte layouts)

https://github.com/pngwn/MDsveX/issues/313
https://github.com/pngwn/MDsveX/issues/242

An interesting Svelte layouts + MDsveX implementation

We could also use this to support defining parameters to be used in the page.
Eg filters that are applied to every SQL query.
---
filters:
  - year  # where year = {$page.params.year}
---

Also:

Ability to name parameterized pages (ie what shows up in title and breadcrumbs)

To start here, we're going to add support for a front-matter page title, and a frontmatter object.
This page title should appear on the page, in the nav sidebar, and in the title in the browser tab. It should be optional, not including it on a page shouldn't change the existing behaviour.
Additional arbitrary front matter should be supported, and made available to the page through page data or similar. e.g. frontmatter.arbitrary.nested_yaml.

Very cool.
We might want to consider the behaviour when someone includes both a title and an H1 of the same name.
For example, docusaurus will only insert one into rendered output in that scenario.
This makes sense to me as other markdown renderers (eg GitHub) may only display the H1 in large text, and put the title in a small box above the doc

Whatever the page title looks like should visually work with an H1 and the rest of the type / components system. I think if people choose to do title then H1, we should just render it all. I think most folks will just replace the H1 tag they are currently using for a title with this over time.


Refactor: action part

Background
Description
After we joined the fs module. We can see that the action module is too bloated. And we do a lot of data struct transform. The whole process is too long. This pr will reduce the effect. Make performance.
Major

The command test. remvoe the channel. It's not a light way to get result. the inline print message is enough.
Command test support test more registry. user can enter multiple args from stdin. we can infer them and test the source speed.
Remove most of data struct transform. Make program stronger.
Unified output information.

Codecov Report

Merging #38 (4c501ea) into master (1217240) will decrease coverage by 59.79%.
The diff coverage is 7.09%.

@@             Coverage Diff             @@
##           master      #38       +/-   ##
===========================================
- Coverage   76.00%   16.20%   -59.80%
===========================================
  Files           2        4        +2
  Lines          25      179      +154
===========================================
+ Hits           19       29       +10
- Misses          5      149      +144
  Partials        1        1

Flag
Coverage Δ

unittests
16.20% <7.09%> (-59.80%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

internal/action/action_impl.go
0.00% <0.00%> (ø)

internal/action/action_mock.go
52.63% <52.63%> (ø)

internal/utils.go
88.88% <100.00%> (ø)

@zaunist  cc. I complete all of module.

And why the test action failed? It's meanin don't have others test case? ( I wann disabled them. Because  the other part unit test isn't necessary.

And why the test action failed? It's meanin don't have others test case? ( I wann disabled them. Because the other part unit test isn't necessary.

很显然，它执行到了这里

很显然，它执行到了这里

我会修复他。


exporting keys

Would you be able to tell me how to export my keys off of bitcoin.in please

You simply click the great big keys button when you login.
Please use some common sense, this is a free project designed for advanced users, I understand you might be frustrated with your transaction but we are not in control of your coins, you are.
  If you stop trying to submit the transaction 15x an hour as you've stated it will eventually expire over a week or so and you'll be able to use it again. Alternatively, you could try manually building the transaction with the tools we provide with our the dust inputs or even import your keys to another client.
Please do not raise any more tickets.