Add billing currency

Details
Add new Currency select screens for payment card and subscriptions
Fixed Issues
$ https://github.com/Expensify/App/issues/38619, https://github.com/Expensify/App/issues/38630
PROPOSAL:
Tests
Add payment card flow:

Go to settings/subscription/add-payment-card
Click on currency field
Verify that you see just currency field and text below
Change currency -> Save
Verify that currency is changed in add payment card form

Change subscription currency:

Either have saved card in subscription and click on 3 dots to change card subscription currency or just go to route settings/subscription/change-billing-currency
Verify that you see 2 fields - currency and security code, and text below
Change currency
Click save
Verify that error for security code is shown
Fill security code -> Save
Verify that API call UpdateBillingCardCurrency executed and currency is changed for existed card

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

Offline tests
Add payment card flow:

Go to settings/subscription/add-payment-card
Click on currency field
Verify that you see just currency field and text below
Change currency -> Save
Verify that currency is changed in add payment card form

Change subscription currency:

Either have saved card in subscription and click on 3 dots to change card subscription currency or just go to route settings/subscription/change-billing-currency
Verify that you see 2 fields - currency and security code, and text below
Change currency
Click save
Verify that error for security code is shown
Fill security code -> Verify that errors disappear

QA Steps
Add payment card flow:

Go to settings/subscription/add-payment-card
Click on currency field
Verify that you see just currency field and text below
Change currency -> Save
Verify that currency is changed in add payment card form

Change subscription currency:

Either have saved card in subscription and click on 3 dots to change card subscription currency or just go to route settings/subscription/change-billing-currency
Verify that you see 2 fields - currency and security code, and text below
Change currency
Click save
Verify that error for security code is shown
Fill security code -> Save
Verify that API call UpdateBillingCardCurrency executed and currency is changed for existed card

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

PR Author Checklist

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

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

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

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x]  If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/28352309/73c50c26-d108-40bf-b1bd-6a78a349e529
https://github.com/Expensify/App/assets/28352309/dcedbf4b-5602-415d-bee0-0fd4e9d2c0da

MacOS: Desktop

@Expensify/design please take a look on 2 small screens. Thanks!

What exactly is security code?
For the hint text, I would think that should always show under the currency input, as in, it's part of that component. So when we ask for a security code, I would think the security code would be below the currency input + hint text.

What exactly is security code?
For the hint text, I would think that should always show under the currency input, as in, it's part of that component. So when we ask for a security code, I would think the security code would be below the currency input + hint text.

What exactly is security code?
For the hint text, I would think that should always show under the currency input, as in, it's part of that component. So when we ask for a security code, I would think the security code would be below the currency input + hint text.

I think that security code is CVV - ok i will add hint right under currency input. Thanks!

How do we ask for that in the actual credit card form itself? Do we say security code there too? Just want to make sure they are consistent. We might consider adding some hint text below that too like "This is the CVV code found on the card you are using to pay for your Expensify subscription" or something like that.

How do we ask for that in the actual credit card form itself? Do we say security code there too? Just want to make sure they are consistent. We might consider adding some hint text below that too like "This is the CVV code found on the card you are using to pay for your Expensify subscription" or something like that.

In credit card we just show without security code

Can you show me a screenshot please?

Can you show me a screenshot please?

i send both of them in earlier message https://github.com/Expensify/App/pull/43572#issuecomment-2163068114

@shawnborton do you mean in this context?

Sorry, I mean a screenshot of the form we use to ask for someone's credit card. I want to make sure "Security code" is the same terminology we use there.
In our "Add debit card" flow, we don't say security code, we call it CVV:

@dannymcclain or @MitchExpensify any ideas there?

Jinx. I think we need to make sure we're calling that the same thing everywhere. Personally CVV is more understandable to me, but I don't know if that's just me or not.

@shawnborton like this one:

Jinx indeed! Yeah, that's exactly what I was getting at. I think we're doing some work to harmonize these card forms everywhere, does that sound right @trjExpensify? I forget who is working on that. But yeah, I agree, I mostly just want to make sure we are consistent. Security code almost feels like it could be mistaken for our magic codes, whereas CVV feels more explicitly understood (as you noted, Danny!).

Jinx indeed! Yeah, that's exactly what I was getting at. I think we're doing some work to harmonize these card forms everywhere, does that sound right @trjExpensify? I forget who is working on that. But yeah, I agree, I mostly just want to make sure we are consistent. Security code almost feels like it could be mistaken for our magic codes, whereas CVV feels more explicitly understood (as you noted, Danny!).

Are good to rename to CVV?

That looks better to me, thanks!

I like renaming to CVV. I'll let @MitchExpensify weigh in there too though.
@shawnborton Also, in this flow, should the change currency screen look more like this screenshot instead of what we're seeing in the video?

I guess I don't understand why we need the double push input. And I also don't understand why sometimes you see the CVV field to change the currency and sometimes you don't? Do you only see the CVV field if you already have a saved card on file?
https://github.com/Expensify/App/assets/7516624/b5dfd583-2ce2-46e6-9ffb-cb9b2e39550f

Interesting, that's a great point. Also, why is currency not displayed like a push row if it pushes to a new page? It has a weird custom style to look like some kind of select menu, when it's not.
I don't how the CVV stuff works, but I think I would prefer not to put the CVV input on the same page as this:

So that might mean we need to do the "double" push pattern when the CVV field is present.

Yes I think you're right. When the CVV is present, we would need to do the double push. Going to mock some things up real quick to hopefully clarify this.

Ok can you all take a look at this and double-check that it makes sense?

I suppose if we wanted to keep things simple, we could just implement the bottom flow with and without the CVV (and not worry about the double push input). @shawnborton thoughts?

Cool, that looks much better to me. I agree, it might just be easier to implement the bottom flow but would definitely love to understand just exactly when we decide to also ask for the CVV to change the billing currency.

@dannymcclain @shawnborton hey guys! Let me know if we get to agreement to change design for screens above :-)

Cool, that looks much better to me. I agree, it might just be easier to implement the bottom flow but would definitely love to understand just exactly when we decide to also ask for the CVV to change the billing currency.

@amyevans can you please clarify this

We prompt for CVV when changing the card's billing currency on OldDot as well, so we should do it for consistency or it'll likely cause us a headache. My best guess is that it's a Stripe requirement, otherwise we wouldn't have bothered on OldDot.

We prompt for CVV when changing the card's billing currency on OldDot as well, so we should do it for consistency or it'll likely cause us a headache. My best guess is that it's a Stripe requirement, otherwise we wouldn't have bothered on OldDot.

cc @shawnborton

Yeah we prompt when you already have a payment card saved and are just updating the currency (so you're filling in 2 inputs total).
We do not prompt on the currency screen when you're adding a new card because you input the CVV on the "main" form along with all the other card info

@amyevans @trjExpensify ok perfect, that's what I suspected. Thanks for clarifying!
@shawnborton do you have any strong feelings about if we should implement two distinct flows for currency based on whether or not you already have card info saved, or one flow that conditionally shows the CVV field?
I've laid out both options below. (Figgy)

I'm tempted to go with Option 2 as it seems more straightforward, and I don't think these flows are going to be super high traffic. But definitely curious for your thoughts.

I don't think those "Updating saved card" mocks are quite right - we don't display saved info back to the user, we only show a bit of info and the three dots menu and then it would go straight to the screen with currency and CVV inputs:

we only show a bit of info and the three dots menu and then it would go straight to the screen with currency and CVV inputs:

That makes me think it's probably fine to have separate flows for this.
If you are trying to change the billing currency on an already-saved billing card, we'd show this:

If you are trying to change the currency when you are adding a new billing card, we'd show this:

Ah thank you @amyevans! That is super helpful. In that case I totally agree with Shawn. Here are some updated mocks to reflect those decisions:

Lovely!

Lovely!

Perfect - i will implement these changes! Thanks amazing design team!

@shawnborton are good with such views?

https://github.com/Expensify/App/assets/28352309/59bb85ba-2f9f-4c85-99a5-d704290877ed

@narefyev91 That is looking great. My only note is that in the first flow (new card) the currency list screen should behave the same way as the second flow (update billing currency) in that selecting a list item should automatically select it and navigate you back. That screen doesn't need a save button (just like the update billing currency list screen doesn't have one - you make a selection and it selects & navigates you back). That might've been a goof from the mocks. But the update billing flow looks great.

@narefyev91 That is looking great. My only note is that in the first flow (new card) the currency list screen should behave the same way as the second flow (update billing currency) in that selecting a list item should automatically select it and navigate you back. That screen doesn't need a save button (just like the update billing currency list screen doesn't have one - you make a selection and it selects & navigates you back). That might've been a goof from the mocks. But the update billing flow looks great.

Yeah good point! Updated. Thanks!
https://github.com/Expensify/App/assets/28352309/1c71b83c-d055-4f0c-aca8-f6a0e439a6cc

Beautiful!

Nice, looking good!

There's conflict. Please request my review when ready

yeah - i will push tomorrow some more work with API connections and some global variables refactoring - and will ping you! thanks!

@situchan hey! ready for review!

@situchan friendly bump on this one. Thanks!

reviewing

Either have saved card in subscription and click on 3 dots to change card subscription currency
Verify that API call UpdateBillingCardCurrency executed and currency is changed for existed card

@narefyev91 if you have successfully tested this case, mind sharing test card info with me?

Either have saved card in subscription and click on 3 dots to change card subscription currency

Verify that API call UpdateBillingCardCurrency executed and currency is changed for existed card

@narefyev91 if you have successfully tested this case, mind sharing test card info with me?

You can add some test data like specified here https://github.com/Expensify/App/pull/43473 in onyx @situchan

@narefyev91 please add mobile platform screen recordings

Reviewer Checklist

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

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

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

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

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

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@narefyev91 please add mobile platform screen recordings

Yeah - the feature will not be available for native apps - i will add defensive code. Will also attach mWeb recordings

@situchan also added additional flow to change payment card - we just grab everything from API data and put inside already existed field (added more videos for that flow as well)

@situchan friendly ping on this one. Thanks!

on it

BUG: https://dev.new.expensify.com:8082/settings/add-payment-card/change-currency is redirected to https://dev.new.expensify.com:8082/settings/shareCode

https://dev.new.expensify.com:8082/settings/add-payment-card/change-currency

@situchan not sure why it's a bug? Route to change currency for subscription card is https://dev.new.expensify.com:8082/settings/subscription/add-payment-card/change-payment-currency
and for change just currency https://dev.new.expensify.com:8082/settings/subscription/change-billing-currency

@situchan yeah probably during merge - default currency screen was missed. Added it to route. Can you please re-review again?

https://dev.new.expensify.com:8082/settings/add-payment-card/change-currency should be not found page, not share code page.

https://dev.new.expensify.com:8082/settings/add-payment-card/change-currency should be not found page, not share code page.

not sure if i get you right - can you please explain?

https://dev.new.expensify.com:8082/settings/add-payment-card/change-currency should be not found page, not share code page.

not sure if i get you right - can you please explain?

nvm. it doesn't happen anymore after your last commit

We do not support these links on native? They are "not found page"
https://dev.new.expensify.com:8082/settings/subscription/add-payment-card
https://dev.new.expensify.com:8082/settings/subscription/change-billing-currency
https://github.com/Expensify/App/assets/108292595/1a34f82c-33f7-4182-8fb9-5ce31e3e4075

Also, there's console error:
"VirtualizedLists should never be nested..."

We do not support these links on native? They are "not found page" https://dev.new.expensify.com:8082/settings/subscription/add-payment-card https://dev.new.expensify.com:8082/settings/subscription/change-billing-currency
ios.mov

yeah - feature to add payment card and change billing currency should not be shown in native apps. We have a follow up to try opening them in mWeb instead - but that should be not blocking current PR

Also, there's console error: "VirtualizedLists should never be nested..."

Yeah good point - fix that as well!

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

@blimpich @situchan Which test data should we put for payment card details? The one in 1password credit card does not work

@kavimuru there are a few issues unrelated to this PR that might be causing you issues. If there is an issue to be checked off can you link it to me and I can QA this PR? If not, can you show a screenshot of what exactly isn't working, with the network tab open in the chrome dev tools?

🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.0.3-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 9.0.5-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Allure steps for s3-tests. Fixes #39

Followed @evgeniiz321 review advice and implemented client methods overload with allure wraps.

What's up with this? No updates in two days.

What's up with this? No updates in two days.

Added names to allure steps and decorator for functions getting settings from config. Also removed @allure.step from some functions where necessary in compare to the original commit.


Hidden (e.g. .DS_Store) file causes exception during !include

Discussed in https://github.com/structurizr/cli/discussions/136

Originally posted by okamiraner July 23, 2023
Question
Hello
Documentation says that I can use !include for including all .dsl files inside the directory. In fact, when trying to export a workspace, I get the following exception randomly:
$ structurizr-cli export -workspace workspace.dsl -format mermaid
...
com.structurizr.dsl.StructurizrDslParserException: Input length = 1 at line 3: !include model
	at com.structurizr.dsl.StructurizrDslParser.parse(StructurizrDslParser.java:901)
	at com.structurizr.dsl.StructurizrDslParser.parse(StructurizrDslParser.java:128)
	at com.structurizr.cli.export.ExportCommand.run(ExportCommand.java:131)
	at com.structurizr.cli.StructurizrCliApplication.run(StructurizrCliApplication.java:77)
	at com.structurizr.cli.StructurizrCliApplication.main(StructurizrCliApplication.java:112)
...

Besides, including a single file works 100% of the time, but in breaks he whole point of a modular workspace adding excessive references that duplicate the folder content.
Its is hard to identify the problem, since the behaviour changes in different runs with the same files.
My directory tree:
├── model
│   ├── person.dsl
│   └── workspace.dsl
├── view
│   └── workspace.dsl
└── workspace.dsl

and the root file:
workspace {
	model {
		!include model
	}

	views {
		!include view
	}
}
```</div>

@okamiraner thanks for the ZIP file ... you have some hidden .DS_Store files in the folder structure that is causing the issue. I will add some code to deal with this, but in the meantime you may just want to remove them.

@okamiraner thanks for the ZIP file ... you have some hidden .DS_Store files in the folder structure that are causing the issue. I will add some code to deal with this, but in the meantime you may just want to remove them.

Thank you! Apologize for the issue being not exactly relevant.


[plugins] support reading (and discarding) comments plugin.json files

Summary
Fixes #1911
This PR cleans the json-file-content of comments before processing it as "json content" i.e. we discard the comments prior to invoking existing logic for ingesting the plugin.json file.
This PR relies on Devbox not programmatically modifying the plugin.json. For now, users hand edit the plugin.json files. This is different from devbox.json which we do programmatically modify due to devbox add, devbox rm and similar commands, and so need to keep track of the json-with-comments' AST.
How was it tested?
To test, I added comments to the following:

local plugin example
a builtin plugin (python)

I did NOT test remote Github plugin. But I tried to modify its code path. Did i get it right?

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1923  👈
#1922
main

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

Join @savil and the rest of your teammates on  Graphite

I did NOT test remote Github plugin. But I tried to modify its code path. Did i get it right?

You can use the devbox repo and test with example plugins?

pushed this github repo with comments in the plugin.json:
https://github.com/savil/devbox-plugin-example-with-spaces-/blob/main/plugin.json#L13-L18


Bug report: Teams clone - Error: Specify one of the following options: id, name, but not multiple.

Priority
(Low) Something is a little off
Description
Issue with  m365 teams team clone
m365 teams team clone --id 5b9232ee-8b7f-4a52-a089-aac25731fdf9 --name "(2024) Testtest" --partsToClone "apps,tabs,settings,channels,members"
Error: Specify one of the following options: id, name, but not multiple.
Steps to reproduce
checked I have the latest
npm install -g @pnp/cli-microsoft365@latest
Expected results
As mentioned about the syntax was a straight copy from your example only change was the id and name
Actual results
Error: Specify one of the following options: id, name, but not multiple.
Diagnostics
No response
CLI for Microsoft 365 version
v6.11.0
nodejs version
v18.17.1
Operating system (environment)
Windows
Shell
PowerShell
cli doctor
No response
Additional Info
No response

furthermore. i placed my m365 into interactive mode..
m365 teams team clone --id 5b9232ee-8b7f-4a52-a089-aac25731fdf9 --name "(2024) Testtest" --partsToClone "apps,tabs,settings,channels,members"
Multiple options for an option set specified. Please specify the correct option that you wish to use.
? Option to use: (Use arrow keys)

id
name

Why would this be prompted as you require the group ID of the existing teams site as well as the name of the new site.
Anyways tried both options but still errors..

Hi @mmcveigh80, thank you for creating this issue. At first sight, it seems like you are right. This option validation doesn't belong there. Let's get this fixed. Thanks for reporting this!

thank you for the acknowledgement.  do you have a timeframe for the fix? Is there an option to try an older working version ?

thank you for the acknowledgement. do you have a timeframe for the fix? Is there an option to try an older working version ?

I just made a PR containing the fix for it. It's up to the other maintainers to review it and merge it. Since it's a rather small fix, I'm confident that this review will happen this week or next week.
I just checked the code history, this bug was introduced in v6 of the CLI. So my guess is that the latest v5 version of the CLI should work.

thanks for the update..
If I want to test v5 how do I roll back ?

Seems like the latest v5 version is 5.9.0. Running npm i -g<EMAIL_ADDRESS>will install that specific version.

thank you @milanholemans
Do you know where I can obtain the changes with V5.9.0 compared to the the latest one ?
I noticed with 5.9.0 it never cloned the Private channels and Team Site image.

Hey @mmcveigh80, all changes made are logged in our release notes. https://pnp.github.io/cli-microsoft365/about/release-notes#v590
Here you should be able to find more info about the command you're using and what changes have been made in a certain version.

Hi All.
Im getting another weird error message. Im running on version 5.9.0
Error: Failed to execute Skype backend request GetThreadRequest.

Could you add a --debug flag to your command to get a little more context?

Hi @mmcveigh80
The issue has been fixed in our latest beta release. You can install it by running @pnp/cli-microsoft365@next.
Once again, thank you for reporting this bug. Much appreciated!


PTEUDO-1089 refactor dbproxy

- introduced proper cmd package
- test for reading/writing config files
- basic test of pgbouncer script executer
- config object to pass around parameters
- test psql connection in start-pgbouncer
- add pgbouncer.logs to pod logs
- inline pgbouncer.ini

DEMO
fresh install
LAST DEPLOYED: Thu Aug 15 18:07:09 2024
NAMESPACE: dwells
STATUS: deployed
REVISION: 4
TEST SUITE:     dwells-dbproxy-test
Last Started:   Thu Aug 15 18:07:18 2024
Last Completed: Thu Aug 15 18:07:18 2024
Phase:          Succeeded
TEST SUITE:     dwells-dbproxy-test-proxy
Last Started:   Thu Aug 15 18:07:19 2024
Last Completed: Thu Aug 15 18:07:36 2024
Phase:          Succeeded
TEST SUITE:     dwells-dbproxy-test
Last Started:   Thu Aug 15 18:07:19 2024
Last Completed: Thu Aug 15 18:07:19 2024
Phase:          Succeeded

Upgrade
NAME: dwells
LAST DEPLOYED: Thu Aug 15 18:07:49 2024
NAMESPACE: dwells
STATUS: deployed
REVISION: 5
TEST SUITE:     dwells-dbproxy-test
Last Started:   Thu Aug 15 18:08:00 2024
Last Completed: Thu Aug 15 18:08:00 2024
Phase:          Succeeded
TEST SUITE:     dwells-dbproxy-test-proxy
Last Started:   Thu Aug 15 18:08:04 2024
Last Completed: Thu Aug 15 18:08:12 2024
Phase:          Succeeded
TEST SUITE:     dwells-dbproxy-test
Last Started:   Thu Aug 15 18:08:02 2024
Last Completed: Thu Aug 15 18:08:03 2024
Phase:          Succeeded


Need help on Elastalert

I have setup ELK environment. Installed filebeat on few servers and installed logstash on separate single server -10-192-4-253. I have setup Elastalert configuration in logstash server. Below is "/example_frequency.yaml" at "/opt/logstash/python/elastalert" location
type: frequency
index: logstash-*
num_events: 50
timeframe:
hours: 4
filter:
- term:
type: "stdout"
alert:
- "email"
alert_text: |
"ElastAlert has detected suspicious activity for {0} < b>ElastAlert has detected suspicious activity for {0}< /b>"
At {1}, an {2} error occured. Do something about it!

alert_text_args:
- email
- host
- type
email:

In the alert mail I am also getting the json code as follow
"ElastAlert has detected suspicious activity for < b>ElastAlert has detected suspicious activity for < /b>"
At ip-10-169-1-48.ec2.internal, an stdout error occured. Do something about it!
At least 50 events occurred between 2016-05-05 03:36 EDT and 2016-05-05 07:36 EDT
(following is json code)
@timestamp: 2016-05-05T11:36:32.022Z
@version: 1
id: AVSAtIJ5Ydfq7dPgGSL
_index: logstash-2016.05.05
_type: stdout
beat: {
"hostname": "ip-10-169-1-48.ec2.internal",
"name": "ip-10-169-1-48.ec2.internal"
}
count: 1
fields: {
"environment": "NA-DEV",
"platform": "RSDMT"
}
host: ip-10-169-1-48.ec2.internal
input_type: log
message: 07:36:29,391 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
offset: 510957
source: /opt/tomcat/logs/stdout.log
tags: [
"beats_input_codec_plain_applied"
]
type: stdout
How do I need to omit above json code from alert mail. Please suggest.

Set alert_text_type: alert_text_only in the rule. This will prevent all of those fields from showing up.

thankyou:) it workd


Bug report

when upgrading to version 3.1.8 typescript turns off intelisense in vscode 1.51.1.

I'm experiencing the same bug running with Typescript Version 4.0.5 and Vscode Version 1.51.1. No IntelliSense.

We've just released a fix to address this: https://github.com/codota/tabnine-vscode/releases/tag/v3.1.9
Please upgrade let us know that everything is now working

Relates to: https://github.com/codota/tabnine-vscode/issues/204


<>

The userscript makes channels that have angled brackets in their name like <name> have no name. (Firefox)
Images:

rycu disabled
rycu enabled [The name is supposed to say </xii> but it shows nothing]
the video this comment was on

Can you please provide the URL of the video where the problem occurs?

Fixed in v0.3.6!!!!


Housekeeping

This PR adds two housekeeping related changes:

Inclusion of package-lock.json.
As per NPM documentation:

This file is intended to be committed into source repositories

Exclusion of the build folder from Git.
Its contents are artefacts that are only necessary when publishing to NPM. By calling npm run build from within npm run push we ensure that its contents are up-to-date when publishing.
You can test its correct working by running npm pack (after having run npm run build). The generated .tgz will contain a copy of the build folder contents

There are no functional changes included in this PR.

Awesome stuff! I'm currently away for the next 3 days without laptop. When
I'm back, I'll review both PRs and merge. Appreciate the contributions.
On Thu, Dec 5, 2019, 10:26 PM Bramus<EMAIL_ADDRESS>wrote:

This PR adds two housekeeping related changes:

Inclusion of package-lock.json.
As per NPM documentation
https://docs.npmjs.com/files/package-lock.json:
This file is intended to be committed into source repositories

Exclusion of the build folder from Git.
Its contents are artefacts that are only necessary when publishing to
NPM. By calling npm run build from within npm run push we ensure that
its contents are up-to-date when publishing.
You can test its correct working by running npm pack (after having run npm
run build). The generated .tgz will contain a copy of the build folder
contents
There are no functional changes included in this PR.
You can view, comment on, or merge this pull request online at:
https://github.com/pathofdev/react-tag-input/pull/3
Commit Summary

Housekeeping: Remove and ignore build folder
Housekeeping: Add package-lock.json
Housekeeping: Make sure we build before we publish

File Changes

M .gitignore
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-0 (1)
D build/index.css
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-1 (1)
D build/module/components/ContentEditable.d.ts
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-2
(26)
D build/module/components/ContentEditable.js
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-3
(91)
D build/module/components/ContentEditable.js.map
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-4 (1)
D build/module/components/Tag.d.ts
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-5
(18)
D build/module/components/Tag.js
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-6
(37)
D build/module/components/Tag.js.map
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-7 (1)
D build/module/index.d.ts
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-8
(28)
D build/module/index.js
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-9
(80)
D build/module/index.js.map
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-10
(1)
D build/module/utils/functions.d.ts
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-11
(3)
D build/module/utils/functions.js
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-12
(22)
D build/module/utils/functions.js.map
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-13
(1)
D build/module/utils/selectors.d.ts
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-14
(8)
D build/module/utils/selectors.js
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-15
(9)
D build/module/utils/selectors.js.map
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-16
(1)
D build/umd/index.js
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-17
(240)
D build/umd/index.js.map
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-18
(1)
D build/umd/index.min.js
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-19
(2)
D build/umd/index.min.js.map
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-20
(1)
A package-lock.json
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-21
(7518)
M package.json
https://github.com/pathofdev/react-tag-input/pull/3/files#diff-22
(2)

Patch Links:

https://github.com/pathofdev/react-tag-input/pull/3.patch
https://github.com/pathofdev/react-tag-input/pull/3.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pathofdev/react-tag-input/pull/3?email_source=notifications&email_token=AB3Y63Y2CZOPAGUUHLUQ5PDQXEFSTA5CNFSM4JV2MS2KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H6K2BVQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3Y634GFWUNCWEKRIWCQU3QXEFSTANCNFSM4JV2MS2A
.


S02: ordering of hash entries in the .perl method

S02 currently has no opinion on whether the .perl method should sort hash entries or leave them in random order. Rakudo implementations currently randomize entries, e.g.:
% perl6-m -e'say { :a(10), :b(20), :c(30) }.perl'
{"c" => 30, "a" => 10, "b" => 20}
% perl6-m -e'say { :a(10), :b(20), :c(30) }.perl'
{"a" => 10, "b" => 20, "c" => 30}

This should maybe be explicitly stated.
I'm in the habit of using .perl to dump and view data. I'd find sorted entries easier to work with, in terms of viewing, grepping etc.

Is this good? For big hashes it will steal time. Anyway hashes are not ordered by definition. I would endorse that .gist method should short keys somehow but not .perl

Note that, in the latest Rakudo, hashes appear to be ordered.
% perl6-m --version
This is perl6 version 2015.04-204-ga040b1a built on MoarVM version 2015.04-62-g052aca0
% perl6-m -e'say { :a(10), :b(20), :c(30) }.perl'
{:a(10), :b(20), :c(30)}
%
% perl6-m -e'say { :a(10), :b(20), :c(30) }.perl'
{:a(10), :b(20), :c(30)}

They are sorted - see resolved ticket https://rt.perl.org/Ticket/Display.html?id=124148

Hashes are no longer sorted


Downloaded image is killing share extension

Hey,
I'm using af_setImageWithURL() in my share extension for one image and when the image downloads the extension gets killed off. I'm assuming the image is too big because when I comment out the image setter it works fine. The image in question is this: https://www.raspberrypi.org/wp-content/uploads/2016/02/IMG_4090.jpg
I tried a number of things like playing with the imageDownloader and Cache but the extension keeps getting killed off.
I figured I need to get in the downloading process to check the contentSize then cancel the request. I couldn't find anything for this in AlamofireImage so I had to jump into vanilla Alamofire. The approach I'm going down at the moment is something like this:
Alamofire.request(.GET, path).responseImage(completionHandler: { response in
    switch response.result {
    case .Success(let image):
        self.imageView.image = image
        completion(completed: true)
    case .Failure:
        completion(completed: false)
     }
}).progress({ _, _, totalExpected in
    if totalExpected > Int64(self.maxImageSize) {
        self.request?.cancel()
    }
})

Any suggestions how to work around this?
What are your thoughts on my approach? My extension works with this but what Im wondering is how does this work with Alamofires cache?

Looks like app extensions are going to get much less memory allowed memory usage than normal, so you'll need to be more careful with downloading your images.

Keyboard Extension
Photo Editing Extension

Luckily, you have options here.
Option 1
First off, you could set the inflateResponseImage parameter of responseImage to false. That would certainly decrease your memory footprint, although you'll take that hit once you render the image to the screen.
Option 2
Another option would be to use Alamofire.download instead of Alamofire.request. This will download the image file to disk and move it to a location of your choosing. Then you could load the data from the file into an image and handle it that way.

Both of these approaches will greatly reduce your memory footprint. Now whether it will be enough or not, that I can't be certain of. Hopefully that helps.
Best of luck! 🍻


refactor: simplify DeltaTableState

based on #1876
Description
This PR simplifies DeltaTableState and makes it look more like a kernel Snapshot. Main intent is to prepare for integrating with kernel as well as migrating to an arrow backed table state.
Related Issue(s)
part of: https://github.com/delta-io/delta-rs/issues/1776 https://github.com/delta-io/delta-rs/issues/1568

@rtyler - did some merging and fixing, could you approve again? 😄.


allow passing flags to zip_open via open

AFAICT, files larger than 4.2 GB are not actually supported because we need to pass: ZIP_CM_DEFLATE64 to zip_open, but that's not possible via zip.open
I can open a PR changing:
proc open*(z: var ZipArchive, filename: string, mode: FileMode = fmRead): bool =

to
proc open*(z: var ZipArchive, filename: string, mode: FileMode = fmRead, flags:int32=0): bool =

here is the code I am using to check the problem. should fail for any file > 4.2GB.
import zip/zipfiles
import zip/libzip

var z:ZipArchive

# 5 GB zip file
var path  = "gnomad.v3.genome.zip"

if not z.open(path):
  # does not open and no way ? to get err value
  echo "couldn't open"

import zip/libzip

var err:int32
var flags:int32

flags = ZIP_CM_DEFLATE64

var w = zip_open(path, 0, addr(err))
# gives not a zip archive
echo err

err = 0
w = zip_open(path, flags, addr(err))
# gives 0
echo err

just adding that flag causes zip_open not to error, but it doesn't resolve the underlying issue. not sure how to fix.

can't we always add this flag in the implementation? Why expose this silly non-sense to zip's users.

that seems fine, but I can't get it to work even with that flag. the file will open, but I can't extract. I'll look into it more.

http://home.chpc.utah.edu/~u6000771/gnomad.v3.genome.zip
here is a test archive.
the first file in the archive has a compressed size > 4.2GB. which i think is creating additional problems.

https://github.com/nih-at/libzip/blob/178c445ef82beae9670ca68668865082eb0e1e91/lib/zip.h#L157
ZIP_CM_DEFLATE64
commented as Reserved for Tokenizing compression algorithm  so may not the right use here


Allow manual-only job triggering

TODO:

[x] introduce a new bool configuration option manual/manual_trigger (default False)

add this to the schema
add this to the configuration class

[x] filter the events based on the new job configuration option:

here is the code that gets the handlers for the particular events (e.g.comment, push)

(we are matching the trigger of the DB object corresponding to the event and the trigger defined in the configuration and then working with the mapping to handlers defined via decorators of the handler classes, example)

[ ] implement this for the dependant jobs as well (build -> test)

More details: https://docs.google.com/document/d/1UTaOctS-ueJ9KtDrh0C-OY_IpFY4vcsFtONJ4kOd88U/edit
Related-ish: https://github.com/packit/packit-service/issues/1754

Maybe a more generic comment_only/manual_trigger/... flag for all the jobs.

We (@theforeman) would also be interested in this :)

Reopening, as I was testing this and found out this would still be an issue for dependant jobs, e.g. build-> test (example).
When reporting the build end, we automatically trigger the followup tests here.
Regarding the implementation, we could either not run the tests as a reaction of build ends if the tests have the manual_trigger configured. But the UX could be worse, e.g. when running packit test,  if some builds would be missing, the user would need to run the command twice.
More complex solution would include storing the information about the type of the event that triggered the action in the DB and then utilise that.

We decided we will start with the less complex solution, adding the condition to check the test job for manual trigger option here.


Don't escape special characters in resource action log

Description
Ensure that special characters in the resource action log are not escaped. I kept the structure of the message identical to the previous one.
closes inmanta/inmanta-lsm#699
Self Check:

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Merged into branches master in 8f24a55fb98405080ba3781cac3413feca5c5528


set breakpoint attributes quicker again

https://github.com/muxinc/media-chrome/pull/682 added a delay to setting these attributes
in themes these attributes are used to trigger render and Mux player uses the breakpoints to conditionally render size based views.
as a result this delay adds a delay to render the view in Mux player and this is noticeable on player load.
some examples:

https://elements-demo-nextjs.vercel.app/MuxPlayer
https://dev.playerx.io/demo/mux/

try refreshing a couple of times and you can see the jumping of control bar

I see  a small resize of the controls on reload but nothing signifiant. Is that what we're talking about?
Do we have any sense of why there's an issue with setTimeout compared to microTask?

yes, it's the small resize. it's small but worth fixing I think.
yes, lowering the timeout would probably cause that resizeobserver exceeded error / warning again.
fix should be really easy, we can add those attributes 1 time "instantly" and subsequent ones will be handled by the resize observer callback...

Ok that generally makes sense. Should be good to prioritize.


done #4420

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes #4420

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @dnyandeepchute ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@kunjgit @ishita-43 please check now,  thank you.

Thank you  @dnyandeepchute , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Resumable uploads?

Does this adapter support resumable uploads, in the case of a network connection error and the like?

The aws-sdk does this internally.


Last alpha does weird things with newlines in placeholders

When using a multiline placeholder, this is how it looks:

It seems some kind of upstream bug that I cannot fix: https://github.com/prompt-toolkit/python-prompt-toolkit/issues/1267
The solution will be to advertise that multiline placeholders are not supported for now.


Please invite me to the GitHub Community Organization

Name
CharmingDev
Discord Username (if applicable)
No response
Additional Context
I'd like to contribute to building websites.

Thanks


Separate equality constraints from structure traits

I would like to try and separate the equality stuff from the structure traits. I'm thinking something like this:
pub trait MagmaAdditive
    : Add<Self, Self>
    + Eq
{}

would become:
pub trait MagmaAdditive
    : Add<Self, Self>
{}

pub trait MagmaAdditiveLaw
    : MagmaAdditive
    + Eq
{}

I believe the scalaz folks are doing something like this.
I think this is important to have because there are many situations in which a monoid can be defined but there is no decidable equality. It is more of an issue for non-numeric instances, e.g., a monoid of endomorphisms.
It's also an issue for containers which are clearly monoids (e.g., Vec<A>, DList<A>) but where the particular A does not have Eq.

How does this separation work with *Approx variants?
Would we have something like:
pub trait MagmaAdditive
    : Add<Self, Self>
{}

pub trait MagmaAdditiveLawApprox
    : MagmaAdditive
    + PartialEq
{}

pub trait MagmaAdditiveLaw
    : MagmaAdditiveLawApprox
    + Eq
{}


WIP: Adds strict-mode for needextend

Implemented:

[x] :strict option for needextend
[x] needs_needextend_strict option for conf.py
[x] docs
[x] tests

Issue: #747

Sure, it's #747.
This PR already works, I need some time to update docs and write tests.

Hi @danwos
I have added the documentation and test cases for the needextend the strict option.


Update PHAR to 3.0.5

The Sami 3.0.5 version was released, but PHAR that can be downloaded from README still says 3.0.4-DEV version.

Indeed


TFRS - Error when rescinding credit transfer proposal

Describe the Bug
System throws an error when BCeID user tries to rescind a credit transfer proposal.
Expected Behaviour
BCeID users can rescind (i.e., cancel) a pending credit transfer proposal at anytime prior to the director's decision to approve or decline it.
Actual Behaviour
BCeID users receive an error when trying to rescind a credit transfer.
Implications
Fuel suppliers are not able to cancel a pending credit transfer.
Steps To Reproduce
Steps to reproduce the behaviour:
User/Role: BCeID user ; credit transfer role

Go to a pending credit transfer
Click on the Rescind button
See error

Screenshot:

Still get the same error

Still getting the same error but only in some cases. All tested transfers were initiated by the seller in dev. Was able to successfully rescind the transfer when logged in as the seller. Examples include transfer ID #1045 when logged in as Zapp Brannigan Electric Co. and transfer ID# 1069 when logged in as Dale's Dead-bug. I am still receiving the 500 server error when trying to rescind a transfer as the buyer (i.e., the org who received the transfer proposal / did not create the transfer). Examples of this are #1048, 1068 when logged in as Zapp Brannigan Electric Co.


Chess: Move B2 to D4

Please do not change the title. Just click "Submit new issue".

@MGBoulware88 done! Successfully played move b2d4 for current game.
Thanks for playing!


[TENSORFLOW] Frontend update to 1.12

w.r.t
https://discuss.tvm.ai/t/support-for-tensorflow-ops-for-newer-tf-version/2324
Standard Tensorflow models exported in TF 1.12 & later have newer ops which have not been implemented in TVM right now.
VariableV2: I guess TF has deprecated Variable and moved to variable2. I am not 100% sure though. Here is the link 1
TruncatedNormal
Assign
I havent encountered any other non supported op. Want to know whats the way forward ?
Traceback (most recent call last):
  File "tvm_basic_infra_testing.py", line 106, in <module>
    net, params = tvm.relay.frontend.from_tensorflow(graph_def, shape={'input':input_shape}, layout=layout)
  File "/tvm/python/tvm/relay/frontend/tensorflow.py", line 2182, in from_tensorflow
    sym, params = g.from_tensorflow(graph, layout, shape, outputs)
  File "/tvm/python/tvm/relay/frontend/tensorflow.py", line 1700, in from_tensorflow
    "The following operators are not implemented: {}".format(missing_operators))
NotImplementedError: The following operators are not implemented: {'TruncatedNormal', 'Assign', 'VariableV2'}

@srkreddy1238 what is the tensorflow version expected to work with TVM? I'm trying to fix tensorflow frontend tests for my PR.

@masahi I think it is 1.13 for now. @srkreddy1238 pls confirm

I think we should go with 1.13 now.

#3184 provides limited support for PlaceholderWithDefault treating it as Placeholder.
tf.graph_util.convert_variables_to_constants graph transform can be used before import to take care of Variable(V2), Assign.

https://github.com/dmlc/tvm/pull/3184


[Linaro:ARM_CI] Drop building with Python 3.8 as not supported

Python 3.8 is no longer supported so drop attempts to build using it.

Yeah, will try to get this merged in today, thanks @elfringham


Fix issue : Update requirements.txt to fix missing module

fix #21

Oh thanks, that was an accident


Fixed #27788 -- Dropped support for Oracle < 12.1.

https://code.djangoproject.com/ticket/27788

buildbot, test on oracle.


Performance: lags when typing

Hello, thanks for the plugin.
But I have an issue with the plugin when I'm typing fast there are noticeable freezes for the obsidian interface.
For me, there is no need to update the info so often, so maybe a new setting option to update only on save will help.

Hi @meskill, thanks for using my plugin. I'll need some more information to get to the bottom of this.

What device are you using the plugin on? How old is it?
Do you have the latest version of Obsidian installed?
How big is the note you're writing in? (How many words)
Could you attach a screen capture video of the problem as it happens?

Obsidian debounces update hooks so it should only recalculate the number of words for the current note once every couple of seconds. It doesn't recalculate any notes other than the one you're currently writing in. However, I could imagine that on notebook-class computers or entry-level Android phones with very long notes, there could very well be some lag. If we can determine for sure what's going on in your case I'd be happy to explore options!

My specs are very decent, so it's not a problem with hardware

Processor	Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz   3.60 GHz
Installed RAM	32,0 GB73
System type	64-bit operating system, x64-based processor

I have the latest public Obsidian version with a lot of other plugins :)
I've tested in very small notes less than 50 words and lags are noticeable
I've made some chrome profiling to show the issue

Without the plugin, most of the tasks performed by obsidian are executed close to 100 ms or less:

While with the plugin some tasks are executed up to 700 ms:

Looking closer to the underperformed task there is lot happening in the plugin while typing:

You can find actual profile data here - novel-word-count.zip

Fascinating - thanks for replying with so much detail. Your computer is twice as fast as mine so you’re right, that’s definitely not the problem. The question remains, then, why I’m not seeing any lag on my five-year-old Windows computer. Possibilities that come to mind:

Novel Word Count may be interacting in some way with one of your other plugins. If you temporarily disable all other community plugins (a real pain, I know) does the lag persist?
Maybe there’s a bug causing recalculation of the entire vault every 2 seconds instead of just the current note. Case in point, that method you point to as taking 700ms+ shouldn’t be running at all while you’re typing. I’ll do some testing on my end today and try to determine why that might happen.

I've tried obsidian with only your plugin, and it works just fine, so this is definitely a conflict with some other plugin.
If I have some free time, I will try to figure out the conflicting plugin so do not waste your time.

Thanks for checking that out. It might be helpful to look for plugins that do any of the following:

Automatically rename files, including the one you're currently writing in
Automatically rename any folder, or move files between folders
Modify files other than the one you're working in (such as updating links)

If you're able to figure out which plugin is causing the conflict, I'll be happy to install it and see if there's a way to make them play nice.

I'm closing this issue as I haven't heard anything in several weeks - @meskill, please feel free to open another issue if you discover which plugin is causing a conflict.

@DevJake Thanks for your input. There's already a delay (debounce) built into the Obsidian hook for text changes in a file, so without a reproduction of the issue it's hard to know where more work is needed.
As for the ability to turn off automatic recounts, that seems worse than a real fix. It's something I'm willing to implement, but only if 1) I can be certain it fixes the problem and 2) I can't find another fix. So being able to reproduce the issue is a must-have.
Perhaps if you and @meskill can list out all the community extensions you have installed (copy out the contents of .obsidian/community-plugins.json) it would narrow things down? E.g. if there are extensions both of your vaults have, we could check those first.

@DevJake thanks, hopefully @meskill will have a moment to share theirs as well.
If you get a few minutes later and want to pin it down on your own, I recommend a binary search to save time. I.e. disable half your plugins, see if the problem persists. Yes => narrow down to the enabled plugins, No => narrow down to disabled plugins. Then repeat. You've got 57 plugins, so it should take about 7 iterations to narrow it down to one plugin (assuming it's just one - to be fair, it could be several).

My list of plugins:
[
  "calendar",
  "cycle-through-panes",
  "cm-editor-syntax-highlight-obsidian",
  "obsidian-journey-plugin",
  "meld-encrypt",
  "smart-random-note",
  "review-obsidian",
  "obsidian-checklist-plugin",
  "slated-obsidian",
  "pane-relief",
  "tag-wrangler",
  "nldates-obsidian",
  "templater-obsidian",
  "table-editor-obsidian",
  "obsidian-admonition",
  "obsidian-kanban",
  "obsidian-metatable",
  "koncham-workspace",
  "sliding-panes-obsidian",
  "maximise-active-pane-obsidian",
  "obsidian-dictionary-plugin",
  "obsidian-zoom",
  "obsidian-collapse-all-plugin",
  "obsidian-vault-changelog",
  "quickadd",
  "copy-url-in-preview",
  "obsidian-cursor-location-plugin",
  "plugin-changelogs",
  "obsidian-recall",
  "customizable-sidebar",
  "alx-folder-note",
  "obsidian-hide-sidebars-when-narrow",
  "theme-picker",
  "tag-page-preview",
  "quick-explorer",
  "customjs",
  "hover-external-link",
  "drawio-obsidian",
  "customizable-menu",
  "workspaces-plus",
  "cmenu-plugin",
  "folder-note-core",
  "obsidian-prominent-starred-files",
  "obsidian-query-language",
  "obsidian-advanced-uri",
  "mysnippets-plugin",
  "obsidian-pipe-tricks",
  "obsidian-limelight",
  "obsidian-link-archive",
  "obsidian-image-caption",
  "customizable-page-header-buttons",
  "advanced-cursors",
  "obsidian-icon-folder",
  "obsidian-icon-shortcodes",
  "obsidian-regex-replace",
  "obsidian-memos",
  "obsidian-snippetor",
  "obsidian-image-toolkit",
  "obsidian-dynamic-highlights",
  "obsidian-style-settings",
  "obsidian-divide-and-conquer",
  "dataview",
  "settings-search",
  "tag-word-cloud",
  "obsidian-linter",
  "obsidian-better-command-palette",
  "persistent-graph",
  "big-calendar",
  "creases",
  "markdown-table-editor",
  "obsidian-remember-file-state",
  "obsidian-quiet-outline",
  "lapel",
  "obsidian-format-code",
  "obsidian-card-view-switcher-plugin",
  "obsidian-paste-image-rename",
  "macro-plugin",
  "obsidian-latex-suite",
  "tabout",
  "obsidian-scroll-offset",
  "typing-speed",
  "obsidian-banners",
  "obsidian-map-view",
  "hotkey-helper",
  "obsidian-git",
  "obsidian-sortable",
  "zoottelkeeper-obsidian-plugin",
  "periodic-notes",
  "obsidian-another-quick-switcher"
]

I've been trying to use divide & conquer plugin to find out the cause with binary search but didn't succeed as I'm not sure it works as intended.
And the list of intersected plugins with @DevJake is next:
[
    "calendar",
    "cycle-through-panes",
    "cm-editor-syntax-highlight-obsidian",
    "review-obsidian",
    "pane-relief",
    "tag-wrangler",
    "nldates-obsidian",
    "templater-obsidian",
    "table-editor-obsidian",
    "obsidian-admonition",
    "obsidian-kanban",
    "sliding-panes-obsidian",
    "obsidian-dictionary-plugin",
    "quickadd",
    "obsidian-image-caption",
    "dataview",
    "settings-search",
    "obsidian-banners",
    "obsidian-git"
]

Thanks @meskill, I think there's enough info here to reopen the issue.

@meskill @DevJake
The list of intersecting plugins between you two looks pretty manageable. I'm going to do a bit of research and then go try to reproduce the issue.
A couple of things you two could do to help:

If you have a vault that reproduces the problem and you're comfortable sharing it with me (publicly or privately), please either post it here or zip and email it to me (obsplugin@isaaclyman.com).
If you disable all plugins except the ones on the list of intersected plugins, does the problem still occur? It would be nice to narrow the issue down to those 19 plugins if possible.

Research notes follow.
calendar
Visual, conflict unlikely
Shows a calendar widget that links to notes by creation date.
cycle-through-panes
Navigation, conflict unlikely
Keyboard binding for switching tabs.
cm-editor-syntax-highlight-obsidian
Content, conflict likely
Syntax highlighting in code blocks.
review-obsidian
Scheduling, linking, conflict likely
Set a note to be linked from a future (or past) note.
pane-relief
Navigation, conflict unlikely
Nav history and hotkeys for navigating between panes.
tag-wrangler
Linking, conflict likely
Extended tag functionality with "tag pages" that update themselves (?).
nldates-obsidian
Contextual suggestions, conflict unlikely
Inserts dates and note links based on natural language e.g. "next week".
templater-obsidian
Dynamic code, conflict unlikely
Tampermonkey for Obsidian.
table-editor-obsidian
Content, conflict unlikely
Easier markdown tables.
obsidian-admonition
Content, conflict unlikely
Material-design callout blocks.
obsidian-kanban
Content and linking, conflict likely
Trello in Obsidian.
sliding-panes-obsidian
Visual, conflict unlikely
Split editor.
obsidian-dictionary-plugin
Context, conflict unlikely
Contextual dictionary/thesaurus.
quickadd
Scripting and interop, conflict likely
Captures various types of content to a new note, includes scripting abilities.
obsidian-image-caption
Content, conflict unlikely
Add captions to images.
dataview
Scripting, linking, conflict very likely
SQL-like inline queries that link notes as result sets.
settings-search
Settings, conflict unlikely
Adds a search bar to the settings window.
obsidian-banners
Content, conflict unlikely
Insert banner headers in documents.
obsidian-git
Backup, conflict unlikely
Automatically backs up/restores vault with Git.
So at this point my top suspects are:

dataview
quickadd
obsidian-kanban
tag-wrangler
review-obsidian
cm-editor-syntax-highlight-obsidian

I have just tested all of the mutual plugins. I initially disabled the 'top suspects' list one by one, with no success. I then disabled the full list of 19 items one by one, again with no success. I then disabled the entire list, restarted Obsidian, then tried, and the lagging during typing issue persists. The issue only went after disabling the novel word count plugin.
This would lead me to believe that it may not be a plugin conflict. As you noted, the plugin does not lag for your own vault. However, I am not sure of the size of your vault. My vault is (currently) 1,720 notes across 1,259 folders, mixed with 23,256 total files, totalling to 8.47GB. I have also included a line and file count for each programming-related file type within the vault.

I believe it may simply be a product of the size of the vault and the amount of time it takes to check all of the files. Maybe some sort of caching would be of use? To only perform checks on files that have recently changed, not the entire vault.
Let me know if there's any more testing I can do to help.

@DevJake Thanks for taking the time to do that. In theory at least, the plugin already does what you're describing.

If a file's contents change => only that file is re-counted
If a file is moved to a different folder or renamed => the entire vault is re-counted

Earlier on in the conversation @meskill said:

I've tried obsidian with only your plugin, and it works just fine, so this is definitely a conflict with some other plugin.

Are you saying you're getting lag when all plugins except novel-word-count are disabled?

In theory at least, the plugin already does what you're describing.

That's good to hear. Equally, somewhat unfortunate to hear, since it means the issue stems from some other unknown reason...

Are you saying you're getting lag when all plugins except novel-word-count are disabled?

I get the lag when all of the 19 listed mutual plugins are disabled. I have not tried disabling all of my plugins. Given that the plugins I did disable are all of the ones overlapping with meskill's list, then I very much doubt it would be the product of another plugin since there is no correlation there

It's possible there are multiple plugins out there that independently have conflicting behavior with this one, but you're right, this does make that seem somewhat less likely.
I'm going to ship a "Debug mode" in the plugin that will output some information to the console. And then if you can take a moment to reproduce the issue, open your Obsidian developer console, and send me a screen/text capture of the output, hopefully that will give some indication of where the issue is coming from.
Hang tight in the meantime, I'll update here when I've shipped the update.

Sounds like a great plan to me. Cheers 👏

Well, I owe you two an apology. As soon as I implemented debug mode it became clear that a couple things weren't working the way I thought they were. In particular, a bug in the way I was using the cache was resulting in a complete recalculation of the vault on each file change.
Release #2.4.1 fixes these issues and a couple others. I expect there will be significant performance improvements on large vaults. Please try it out and let me know how it goes.
If there are more issues, the new debug mode provides plenty of detail in the dev console so we can track them down faster.

Hey, no worries. I'm glad we managed to help you find the bug! I've now installed the new release and can confirm it has fixed all issues of typing lag. Brilliant work, thank you! 👏👏

Great, I'm glad to hear it. @meskill feel free to report back as well, we can reopen the issue if you're still seeing lag.

works well, thank you for the fix


Error when component return null

This code should not throw error
class Example extends React.Component {
    render() {
        return null;
    }
}

class Main extends React.Component {
    render() {
        return (<Svg>
            <Example />
        </Svg>);
    }
}

work around this is to instead of using return null to use return <G />

+1
Still Seeing this in December.
Error I'm seeing:
React.createElement: type shuld not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components).

Can you provide more information?
The component renders null works fine in Example here:
https://github.com/magicismight/react-native-svg-example/blob/master/examples/Svg.js#L108

Yeah, seems to work fine. Will close for now.


Implement Roman Numerals exercise

I've implemented the standard tests and provided an example solution
that I think isn't terrible. I pretty much stole it from the Ruby
example!

Ah. I hadn't noticed the need to change config.json. That's why my builds were breaking. Fixing that.

Looks good, thanks!


Add colab links + add more information to README

Toward #11

Since this PR updates the README, can we directly merge this to master? @WilliamIX
It does not change any code..


chore(deps): bump cargo-dist to 0.6.0

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (e5d8c6b) 22.56% compared to head (66f8027) 22.56%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #90   +/-   ##
=======================================
  Coverage   22.56%   22.56%
=======================================
  Files          11       11
  Lines         452      452
=======================================
  Hits          102      102
  Misses        350      350

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


Added livewire support.

Question
Answer

Issue or Enhancement
Issue

License
MIT

What's in this PR?
Added livewire support for package.

Checklist

[x] I tested these changes.
[ ] I have linked the related issues.

It will be nice to document this new configuration option on the README, with at least a reference to Livewire Site and the Quickstart Documentation, since it requires installation of a new package to work.

@shankhadevpadam can you please add a note / docu to the readme?

Sure

Please, note you may need to rebase your branch, because the documentation README.md was recently updated. It will be also helpful to include why this support is needed. I have read the new Laravel 8 recommend the use of a new UI scaffolding named Jetstream and livewire is related to it, but still has no time to experiment with this.

Sorry guys, but still can't see why we need to support Laravel-Livewire, it is based on Tailwind CSS Framework, and for what I have read here it is not so compatible with Bootstrap 4 (but you can use both if you want). I believe this package should stimulate the usage of AdminLTE witch is based on Bootstrap 4...

No, livewire work with any css framework. It not depends on tailwind css. Please read the docs. It is easy to build components without using any javascript framework.  Maybe the footer of the Livewire sites confuses me, it says:
© Livewire 2020. Built with Laravel and Tailwind CSS.
For the moment, I have made some improvements on the documentation, adding some links. When you have a moment, consider adding a basic example of what you can do with this package, it could be helpful for other readers.

Built in tailwind in footer means, livewire not build in tailwind. It tells, that site was built in tailwind. 🙂🙂🙂


How to achieve an effect similar to uploading file attachments on the web page in the API?

I now have some plain text files to process, but I found that if I upload attachments on the web page, the response I get is significantly better than the results obtained by using the API. I would like to know if there is any way to make the results of the API look like the results of the web page?
The format of the prompt I send in the API is roughly like this:
{Introduction}
Here is the file, in <File></File>XML tags:
<File>
{document content}
</File>

What I send on the web page is this: "{Introduction}", and then upload the file as an attachment.
My understanding is that there should be a fixed format on the web page to connect the file content and my prompt to get better results. Can I get this splicing format? If you need the text of the {introduction} part or specific text files involved here, please contact me, thank you very much!
This problem has bothered me for several days, I am looking forward to your reply :)

Sorry, this functionality isn't available in the API at this time. You can use a tool like pandoc to convert your file to text, and include the text inline in the format you describe.

Sorry, this functionality isn't available in the API at this time. You can use a tool like pandoc to convert your file to text, and include the text inline in the format you describe.

Sorry, my file is in plain text, I just want to find a way to merge it with my prompt.

Ah, you can just inject the file contents with string templating as you would any other text in that case! Are you seeing any difference in behavior when doing this between the API and the chat UI?

Ah, you can just inject the file contents with string templating as you would any other text in that case! Are you seeing any difference in behavior when doing this between the API and the chat UI?

Very different in these two way. In fact, when I send the file in the template I mentioned above via API, Claude misunderstood what I said in Introduction part. I want to generate DOIs in the format "[actual_doi]", but got the raw return. Same prompt via web UI worded well.

Ah, you can just inject the file contents with string templating as you would any other text in that case! Are you seeing any difference in behavior when doing this between the API and the chat UI?

Very different in these two way. In fact, when I send the file in the template I mentioned above via API, Claude misunderstood what I said in Introduction part. I want to generate DOIs in the format "[actual_doi]", but got the raw return. Same prompt via web UI worded well.

API:
DFT calculations have provided valuable atomic-level insights into propane dehydrogenation mechanisms, active sites, and factors impacting catalyst performance that complement experimental findings [actual_doi1, actual_doi2]. For example, DFT predicted Pt3In would show optimal balance between activity and selectivity, which was later validated experimentally [actual_doi3]. Calculations on Pt and PtZn surfaces revealed weaker binding of intermediates explains higher selectivity versus pure Pt [actual_doi4, actual_doi5]. DFT elucidated how promoters like Sn, Cu, and Ga modify electronic properties of metals to tune selectivity [actual_doi6, actual_doi7, actual_doi9]. Computations also shed light on active sites like isolated metal atoms [actual_doi8], metal-support interface sites [actual_doi10], and dual sites that cooperatively activate propane and hydrogen [actual_doi11, actual_doi12].
Web:
Density functional theory (DFT) calculations have become an indispensable tool in elucidating the behavior of propane dehydrogenation catalysts and providing atomic-level insights into their activity and mechanisms. DFT allows quantitative determination of reaction energetics, optimization of geometries, identification of intermediates and transition states, and analysis of electronic factors influencing reactivity [10.1021/cs300031d, 10.1021/ja0611745]. When combined with kinetic modeling or experiments, DFT offers a powerful approach for rational catalyst design [10.1038/s41467-018-06174-5, 10.1021/acs.jpcc.9b04991].
This is a piece of example of these two way.

That's why I really want to know how the files are attached to the prompt in the web. You know, in large language models, small changes can have very different results. I suspect it's because of the relevant format specification in the pretrained corpus, so I turn to you.

Not only the difference in the output format, in my task I want Claude to summarize the content entries of the file (listed in JSON format), but many of the results sent from the API will simply enumerate the results, while in the web page The terminal will really summarize and refine like a scientific researcher.

@WSC741606 We'll have more recipes for these types of tasks soon!

@WSC741606 We'll have more recipes for these types of tasks soon!

Thank you very much for your reply! I am desperately looking forward to the emergence of related tasks! ! ! That would be so useful to me! !

I am having this same issue. Was there ever a resolution?

No matter what XML tags I wrap the file data with, it still screws up the response

@Zelex I tried some methods but to no avail. In the end, I responded to this problem by generating multiple responses and filtering out the responses I thought were appropriate. I now guess it may be the effect of the system field in the web version.


Split preview & single controllers from index

Moving towards cleaning up the mess that is routing and rendering on the frontend
refs #5091

one step towards having a less confusing controller/routing system for blogs

Can you please share your thinking behind moving preview/single into core/server/controllers?Why not into core/server/blog?

I'm in the process of trying to get the code in that folder to make enough sense that I can 100% refactor it without killing Ghost 😉
I don't have a grand plan for how this will look in the end, just taking baby steps. My gut feeling is that we will end up with /services/routing and /services/url rather than anything inside of /core/server/blog

https://github.com/TryGhost/Ghost/pull/9121#issuecomment-335135299
That's enough for me to know :) Will merge then.


Self exclusion fix

Coverage remained the same at 52.786% when pulling 17c542f4e25c4380aa5fb08479e49535476e7fcc on nazaninreihani:self-exclusion into 54a1f57f54b9faed2c9babff3734f1331b0200e4 on binary-com:dev.

@nazaninreihani

This branch has conflicts, please resolve them
I am not sure if I am ok with this type of implementation of validation. Please let me know if you found this implementation somewhere else where copied the idea from. Otherwise we should use something better like validatejs.

Let me know what you think.

I agree, I'm not okay with this large objects and messy code, I try to find
another way to implement this. Is it okay to add any library in this
project? in case that it makes it cleaner and accurate.
On Tue, Jun 13, 2017 at 9:01 AM, Arnab Karmakar<EMAIL_ADDRESS>wrote:

@nazaninreihani https://github.com/nazaninreihani

This branch has conflicts, please resolve them
I am not sure if I am ok with this type of implementation of
validation. Please let me know if you found this implementation somewhere
else where copied the idea from. Otherwise we should use something better
like validatejs.

Let me know what you think.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/binary-com/binary-next-gen/pull/601#issuecomment-308003921,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGjpwYtn4kB53TFFwhnCu0HlVBm5Og0jks5sDhCmgaJpZM4N29kB
.

@nazaninreihani I have used this library before and it is really good https://github.com/rickharrison/validate.js/
If you know anything better than this, please go ahead and use it.

I see conflicts in these .js files. Please revert the changes and follow my comments below -
@nazaninreihani I figured out that we are not supposed to change the translation files under _constants/po/*.js
If we need new translation, we have to checkout translation branch and add all our requirements into *.po and *.pot files. Once you add those translation requirement in those files, weblate system will translate them and we have to run sh fetch-translation.sh command in dev branch to generate the new .json and .js file out of those translated files.
Please do not worry about the changes you submitted in those .js files. They will get overidden by the command mentioned above. For now, could you please add those empty translation strings in those .po files and then submit the PR to translation branch? I will take care of all other tasks from there.


Get-TeamChannelUser : Channel not found

I have installed the MicrosoftTeams module, version 1.1.5-preview
When using the Get-Team function it returns the expected results.
However when I use the Get-TeamChannelUser function with the exact same parameters as for the Get-Team function,
it returns the following error:
Get-TeamChannelUser : Channel not found

I have tried with Channel s with Visibility set to either Public or Private, but none worked.

Hello @johanburati
When asked by the cmdlet for the -DisplayName parameter, did you input the name of the channel ? Because if you put the name of the Team, you receive the error that you described.
Hope this information helps you.

@get-itips Thank you very much for the contribution and sharing this explanation. @johanburati Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Add Steps component to cloudfare.mdx

Add Steps component to cloudfare.mdx
Adds the Step component where needed.

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

en
guides/deploy/cloudflare.mdx
Source changed, localizations will be marked as outdated.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

!coauthor


VirtioBlk cannot handle large files

Once apparently 3 blocks (or inodes) are read, additional reads are queued. Queue runs, but never "ships", meaning the callback provided to read() is never reached. Small files (under 3 blocks or so) worked, but for larger files a different codepath is followed.
I've traced it to viritoblk.cpp:194
  // only ship more if we have nothing more queued (??)
  if (inflight == 0) {
    // if we have lots of free space and jobs, ship many
    bool shipped = false;
    while (free_space() && !jobs.empty()) {
      auto* vbr = jobs.front();
      jobs.pop_front();
      shipit(vbr);
      shipped = true;
    }
    if (shipped) req.kick();

Unfortunately, inflight is never initialised anywhere, so the number (while refcounted perfectly otherwise) most likely never lands on 0.
Pull request submitted with (the world's smallest) patch: https://github.com/hioa-cs/IncludeOS/pull/844
(Also, the integration test for virtio_block uses the service.cpp file itself, which at 2.9k doesn't follow the 'large file' codepath, and hence wouldn't trigger the issue. Additionally, acorn skirted the issue largely as well, as the files are all small! Still, this bug can be confirmed by simply creating a disk image for the virtio_block integration test with a larger (64k or so) file and adjusting the test to reference the larger file.)

Wow, nice find 😃  🍰  Thanks!

Thanks @danieloneill - nothing like simple solutions. Happily merged to master :-)


Attached property of type Thickness in a C++/WinRT not working in C# projection

Attached property of type Thickness in a C++/WinRT Windows Runtime component throwing exception while consuming it from a C# WinUI3 project.
The detailed issue is posted here.
microsoft/microsoft-ui-xaml#9763
Version Info
CsWinRT 2.0.7
Any help is greatly appreciated.
Thanks.

As far as I can tell, a call is being made to IsContructible and that is throwing NotImplementedException.  And the function implementing IsConstructible seems to be generated by the XAML compiler.  Resolving this bug given it doesn't seem to be a CsWinRT issue and there is already a XAML bug to track this issue.
bool XamlSystemBaseType::IsConstructible() const
{
    throw ::winrt::hresult_not_implemented {};
}


usb: remove all CONFIG_*_EP_ADDR options

Remove all CONFIG_*_EP_ADDR options but keep the default
values for it, as they are necessary to find ep_addr in
usb_ep_cfg_data associated with bEndpointAddress in
interface descriptor.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@06f4daf). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #8498   +/-   ##
=========================================
  Coverage          ?   64.61%
=========================================
  Files             ?      421
  Lines             ?    40296
  Branches          ?     6803
=========================================
  Hits              ?    26037
  Misses            ?    11126
  Partials          ?     3133

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 06f4daf...d367e44. Read the comment docs.


[Feature] Burst results indicate the matching file if already started/downloaded

First i'd like to kick off saying thanks, and how much i do appreciate the support and further help from @elgatito.
I'm aware development is stopped, but the constant help and improvements is very nice to see.
As usual i won't mention the word Request, so i put at tag Feature. Feel free, as usual, to rename, add a flair, or close the ticket directly.
Second, i ve notice the great recent changes in Burst, now collecting the same result from different trackers under the same umbrella. It's insane how you can aggregate so many sources with the same file. I didn't know that. It boosts a ton the distribution ratio (especially for bigger files such as 4k).
That, brought me here to mention a possible improvement in the result page from Burst (assuming the UI is handled by Elementum).
The improvement would be :

Indicate in the result page (list of entries), with a coloured dot or a coloured box around the entry, the local file (the one you are already downloading and you have downloaded) which is matching , by size && name, the entry if self.

Current scenario :

Elememtum has a database cleared or lost the .torrent file, so it has no .torrent file connected but it has the file partially or fully downloaded.
So by clicking the same result (if you remember which one, if not the suggested highlight would be the improvement) would trigger the usual "checking" / "buffering" on the  file itself, before resuming downloading.

Below some mock of what i mean, in case i failed at explaining what i mean :)

In the mock above, the first entry is matching the same filename and size from the file in your local storage, but it has no torrent file. By clicking on that, i will start the "checking" phase before resuming.
Your Environment

Version used: Kodi 18.9

Environment name and version: 0.1.66

Operating System and version: Android TV, OS 9

Thanks for you time and patience.

@JacopoV
Around half of items in that list of found torrents are only having a magnet, which means we don't know list of files and their sizes.

@JacopoV
Around half of items in that list of found torrents are only having a magnet, which means we don't know list of files and their sizes.

Oh i see. i thought because they're displayed in there, with name and size, they could have been compared to the files folder. (the list in the mockup image is a random one i too from internet and edited).
Well thanks anyways :)

Oh i see. i thought because they're displayed in there, with name and size, they could have been compared to the files folder. (the list in the mockup image is a random one i too from internet and edited).
Well thanks anyways :)

@JacopoV Sizes, names, seed/leech amounts - everything comes from provider's pages, they are usually not accurate.

@JacopoV Sizes, names, seed/leech amounts - everything comes from provider's pages, they are usually not accurate.

Well if they're not accurate, nothing that can be done :) thanks for the explanation :)

Well if they're not accurate, nothing that can be done :) thanks for the explanation :)

@elgatito

Indicate in the result page (list of entries), with a coloured dot or a coloured box around the entry,

btw, the same idea but for downloaded and existing torrents might be handy:

e.g. when you found and downloaded torrent via search and then found it via trakt (because sometimes new episodes appears in elementum's trakt some time after they available in internet)
when you added torrent manually via web page and then used trakt

i mean generally cases when torrent and trakt entity is not mapped atm and then you map them.

@elgatito

Indicate in the result page (list of entries), with a coloured dot or a coloured box around the entry,

btw, the same idea but for downloaded and existing torrents might be handy:

e.g. when you found and downloaded torrent via search and then found it via trakt (because sometimes new episodes appears in elementum's trakt some time after they available in internet)
when you added torrent manually via web page and then used trakt

i mean generally cases when torrent and trakt entity is not mapped atm and then you map them.


returns: Clarify tag description

Describes @returns as documenting return value instead of return type.
I propose this would be clearer. The NOTE box following this talks about how @returns in JSDoc documents type but the TSDoc variant doesn't.

Last one on my list. Thanks for the merges.

That's a good insight.  The TypeScript annotation describes type.  The TSDoc tag should document the value that gets returned.
Thanks again for helping improve the docs!
BTW if you want a free API Extractor t-shirt, ping me on Gitter.  (We can ship internationally.)


unable to list or install newer versions

$ asdf install protoc-gen-go 1.28.1
https://github.com/golang/protobuf/archive/v1.28.1.tar.gz

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

$ asdf list-all protoc-gen-go
1.0.0
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.4.0
1.4.1
1.4.2
1.4.3
1.5.0
1.5.1
1.5.2
1.5.3

latest version as of t oday is 1.31.1 as listed in the go docs: https://pkg.go.dev/google.golang.org/protobuf/cmd/protoc-gen-go

i opened a PR to fix this: https://github.com/vaynerx/asdf-protoc-gen-go/pull/3


Fix #3386

Some code had been refactored and ended up using the scratch variable before it was initialized.

Thanks @emackey!  Can you update CHANGES.md with a link to #3386 since this is an important fix?

Looks good, good catch.  Please update CHANGES.md in master.

Done


Yum base_url needs to be revised

I noticed that yum['baseurl']        = "https://packagecloud.io/chef/stable/el/
is now
https://packagecloud.io/chef/stable/packages/el/6/chef-server-core-12.4.1-1.el6.x86_64.rpm.
Can you please revise it. It is breaking installs.

@echandradhas, where are you seeing that your baseurl is defined as mentioned? The cookbook as is defines it as   yum['baseurl']        = "https://packagecloud.io/chef/stable/el/#{node['platform_version'].split('.').first}/$basearch". It's an attribute so can be set as needed based on your environment.
Thanks! Looking forward to getting this working as expected for you.

It's been updated to use the current package location as of PR #10 and PR #11 cookbook 1.0.1. If you are still having problems, please reopen with more information.
Thank you!


feat: add checkpoints + undo/redo for edit

Description
[ What changed? Feel free to be brief. ]
Checklist

[] The relevant docs, if any, have been updated or created

Screenshots
[ For visual changes, include screenshots. ]
Testing
[ For new or modified features, provide step-by-step testing instructions to validate the intended behavior of the change. ]
[ For new UI features, ensure that the changes look good across viewport widths, light/dark theme, etc ]

Getting odd overlay effect (left) in chat. went away after some chats, not sure this is related to this PR at all


Sound queuing bug

Squash game eventually stops sound. This is a kernel bug not an emulator one as after a while the queued elements are not feeding into the driver.

When the queue head reached the end of the buffer it didn't wrap round to the beginning.