Sage intacct export: offline and error

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/43534 - followup
PROPOSAL:
Tests

Add onyx errors for all possible fields

Onyx.merge('policy_570EBAEF494D3C0A', {connections: {intacct: {config: {errorFields: {exporter: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, exportDate: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, nonReimbursable: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, nonReimbursableAccount: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, nonReimbursableCreditCardChargeDefaultVendor: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, nonReimbursableVendor: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, reimbursable: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, reimbursableExpenseReportDefaultVendor: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}}}}}});

Go through each tab and check if error (red dot in menu item or message) is displayed.

Offline tests

Force offline
Go through each tab in Sage Intacct -> Export and change value.
Verify that each changed field has opacity 0.5 (is shown as an offline change).

QA Steps

Add onyx errors for all possible fields

Onyx.merge('policy_570EBAEF494D3C0A', {connections: {intacct: {config: {errorFields: {exporter: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, exportDate: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, nonReimbursable: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, nonReimbursableAccount: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, nonReimbursableCreditCardChargeDefaultVendor: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, nonReimbursableVendor: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, reimbursable: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}, reimbursableExpenseReportDefaultVendor: {1: 'Oops... something went wrong and your request could not be completed. Please try again later.'}}}}}});

Go through each tab and check if error (red dot in menu item or message) is displayed.

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

https://github.com/Expensify/App/assets/61014013/ce207f5d-232f-4ffc-8ec0-ae026c7e2b20
https://github.com/Expensify/App/assets/61014013/219ee9b4-4b8c-49a4-8802-7fd6e8408bc4

Android: mWeb Chrome

https://github.com/Expensify/App/assets/61014013/5a714a25-8f80-460f-8787-9fa6a2c681a8
https://github.com/Expensify/App/assets/61014013/f383d2e4-946b-486c-996d-fd2cf69dde2d

iOS: Native

https://github.com/Expensify/App/assets/61014013/245632bf-7ded-42a4-977a-e97244b6e72d
https://github.com/Expensify/App/assets/61014013/ee996730-b175-47f6-a4eb-08f000eb68b7

iOS: mWeb Safari

https://github.com/Expensify/App/assets/61014013/d794e017-2a82-4185-a641-9ee0a8b7a8b7
https://github.com/Expensify/App/assets/61014013/e7ac5750-bc4e-45f2-a223-2d9566e18895

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/61014013/37ce46da-941d-485e-9575-7b16e117f761
https://github.com/Expensify/App/assets/61014013/005c7d6e-4a58-46ed-9302-8547b6266f90

MacOS: Desktop

https://github.com/Expensify/App/assets/61014013/6fb19517-502a-4c82-a60d-434a50fe3066
https://github.com/Expensify/App/assets/61014013/816aa62a-c68d-4700-be98-ea68c1c11efd

Please note that this PR should be merged after https://github.com/Expensify/App/pull/43776

@yuwenmemon @hungvu193 What do you think about such an errors?
I've added some details in this thread.
Maybe someone from the design team should look on it?

@hungvu193 I think offline state and errors are ready to be reviewed. Here is true diff between this and main export branch.
I'm going to record some videos and think of test steps now. Review would be appreciated 🙏

You can check how it looks like on the web in the description (other recordings are coming soon 🔜 )

@hungvu193 I think offline state and errors are ready to be reviewed. Here is true diff between this and main export branch.
I'm going to record some videos and think of test steps now. Review would be appreciated 🙏

Thank you. That's really helpful 🙏

All videos are there :)

I will review this weekend

I reviewed https://github.com/software-mansion-labs/expensify-app-fork/pull/92, I think it's looking good. I think we should wait for https://github.com/Expensify/App/pull/43776 to be merged then I will test again 😄

@war-in Can you merge main please?

@hungvu193 Merged :)

Cool. I will take another test + review in my morning. Hopefully we can merge it soon 😄

Vendor bill is not highlighted when it's selected. I thought it was fixed in out Export PR 🤔

https://github.com/Expensify/App/assets/16502320/a8e0ec7a-34a3-49bb-8427-bc461b203098

Text color of selected option is changed in SageIntacctNonReimbursableExpensesPage.

https://github.com/Expensify/App/assets/16502320/66928e93-a87e-4df2-9455-8d0025ce84bf

Vendor bill is not highlighted when it's selected. I thought it was fixed in out Export PR

@hungvu193 It's connected to how SelectionList works. The focus is initially created with initiallyFocusedOptionKey (when opening the screen) and can be changed only with the arrow keys. I disabled it on reimbursable and non-reimbursable pages just to not confuse users with wrong focus. If we want to use SelectionList here (and I believe we want) we need to accept this lack of focus or rebuild SelectionList (quite an important and widely-used component)

Ok we already had separate for that (I got assigned) so we can skip it for now

2. Text color of selected option is changed in SageIntacctNonReimbursableExpensesPage.

How about this one @war-in 😄 ?

@hungvu193 I'll work on remaining comments today!

Text color of selected option is changed in SageIntacctNonReimbursableExpensesPage.
How about this one @war-in 😄 ?

@hungvu193 I think it's also connected to the SelectionList focus. You can check that if you go to non-reimbursable page and choose other option its text gets gray. But if you click outside of the SelectionList it goes back to white. Do you think we should fix it here or I should write about it in yours issue? (please link the issue 🙏)

Text color of selected option is changed in SageIntacctNonReimbursableExpensesPage.
How about this one @war-in 😄 ?

@hungvu193 I think it's also connected to the SelectionList focus. You can check that if you go to non-reimbursable page and choose other option its text gets gray. But if you click outside of the SelectionList it goes back to white. Do you think we should fix it here or I should write about it in yours issue? (please link the issue 🙏)

Here's the issue btw:
https://github.com/Expensify/App/issues/44872
If it doesn't take time then we can fix it here, otherwise we should fix it in the issue I mentioned.

@hungvu193 I read through the issue and I'm not sure if it covers the same thing 🤔
In our case we want to change focus by clicking on the list row (and highlight it). Previously, we haven't had such a case because single-selection lists were always closed after selection.
Can you confirm that mentioned issue will fix it? If not we can try fixing it here

@war-in My bad, the mentioned issue is about the highlight item.
So I think we should fix it here

Sure! So it'll take some time reading through focus-related stuff in SelectionList (and finding the fix). Do we want to wait for that in this PR or should we create another one and merge this?

Sure! So it'll take some time reading through focus-related stuff in SelectionList (and finding the fix). Do we want to wait for that in this PR or should we create another one and merge this?

I think we can address it in a follow-up or polish PR. Let's keep this one moving forward! 😄

I think we can address it in a follow-up or polish PR. Let's keep this one moving forward! 😄

Nice! So it should be ready for final review now :)

@hungvu193 I found a solution for this not highlighting issue but it seems like a workaround for me. I think I need your opinion on this.
In the BaseSelectionList component we have renderItem function which is responsible for rendering each list item. There is also setFocusedIndex function which sets focus on provided item by the index.
Solution: I can modify the onSelectRow prop of the ListItem component and use setFocusedIndex here (behind some flag).
Flag solution will work but it requires adding another prop to the BaseSelectionListProps 😢
please share your thoughts 🙏 If it's acceptable the fix will be quick

I'm afk now so I can't test it but I'm bot sure if it can fix this comment so we can skip it for now.

@hungvu193 Are you sure the linked comment is correct? It's from another issue 🤔

Yes. I think if we try to modify the SelectionList to fix highlight issues, we probably need to fix the comment I mentioned too.
If we only update onSelectRow, I don't think it will resolve my comment. That feels like a workaround. I think there will be something to do with our highlight/focus logic when selections are changed.

@hungvu193 FYI, this is my investigation on 2. Text color...
https://github.com/Expensify/App/issues/45213#issuecomment-2223074979

Reviewer Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

https://github.com/Expensify/App/assets/16502320/f36a8c86-2e13-432d-8340-fe520f77184e

iOS: mWeb Safari

https://github.com/Expensify/App/assets/16502320/dae08269-5e7e-4f62-a479-8a7e07076c6f

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/16502320/81d1202a-29f2-4125-b8b8-b9ae3f56d7eb

MacOS: Desktop

https://github.com/Expensify/App/assets/16502320/4744875d-69f4-46c8-b736-33a776480796

The fix for the loading spinner works with this branch btw:
https://github.com/user-attachments/assets/8e4c5009-8a7c-4444-9155-46773135b753

@war-in Can you please resolve the conflicts? Thank you 😄

Thanks!

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

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

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

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

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

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

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

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

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

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add bower.json

Hi I'm unable to consume this package properly with bower. Can you add a bower.json pls?

yes please add the bower.json, it's very usefull. Thanks

Added. If someone wants to let me know if it works as expected that would be great.


Tidy dependencies within shared workspaces

Who is this for?
Maintenance
Part of #10815
What is it doing for them?

the yarn.lock files in toggles, cardigan and prismic-model were 2-4 years old, probably from before they were added to the workspace? They've been deleted
Moved as many devDependencies as I could to the root level
Cleaned up sub-repos. I've left prismic-model and toggles alone as they are way more of their own thing. I did try with prismic-model and it opened a can of worms I wasn't ready to look at as part of this PR. Actually had to add dependencies to it to be able to run lintPrismicData?

I can't say my grasp on why sometimes moving a package works/not is complete. I've used peerDependencies sparingly and it seems to work fine. My logic was to leave the dependency packages that were only used once within their parent package.json and if it was more than once, then move it to common. If they need to use a different version of a package, such as typescript in cardigan, then I'd declare it as a dependency there directly as well.

Should we specifically exclude the project yarn.lock files from source control with a .gitignore to avoid them coming back?

They shouldn't be coming back and if they did that should be flagged as a bug! They must've been from before those repos were added to the workspaces as they hadn't been modified and years and running yarn install from within does not create a new one.


10-row-level-security.md

English:
In the box, replace the selected text with the name of the role:
Salespeople, and then press Enter.
Current Translation:
在方框中，用角色名称替换选定的文本：“销售员”的名称，然后按 Enter。
Suggested Translation:
在方框中，用角色名称替换选定的文本：“Salespeople”的名称，然后按 Enter。

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Run the bugfix tool and waiting for result. ICMS QUERY

Fixed.


[Question] Detection Mitre ATT&CK Technique Tagging

Currently the detections are mapped to Mitre ATT&CK Tactics, would you be open to adding technique tagging? Either based on technique id for example with the detection SecurityEvent/SecurityEventLogCleared.txt:
// Techniques: #T1070

or by name:
// Techniques: #Indicator Removal on Host

I'm happy to go through and add them to the current detections and make a pull request.

That is a great idea!  Feel free to go through and add this tag to the current detections.  Hunting could also use this tagging as well if you are so inclined.  Thanks!


[now-cli] Update @zeit/fun to v0.10.2

Fixes #2901.

Codecov Report

Merging #3038 into canary will increase coverage by 2.12%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           canary    #3038      +/-   ##
==========================================
+ Coverage   11.33%   13.46%   +2.12%
==========================================
  Files         267      267
  Lines       10032    10296     +264
  Branches     1308     1211      -97
==========================================
+ Hits         1137     1386     +249
- Misses       8803     8848      +45
+ Partials       92       62      -30

Impacted Files
Coverage Δ

src/util/metrics.ts
68.18% <0%> (-2.41%)
:arrow_down:

src/commands/logs.js
0% <0%> (ø)
:arrow_up:

src/util/dev/builder-cache.ts
80.74% <0%> (+3.47%)
:arrow_up:

src/util/projects/get-project-by-id-or-name.ts
28.57% <0%> (+3.57%)
:arrow_up:

src/util/get-files.ts
91.66% <0%> (+3.88%)
:arrow_up:

src/util/dev/router.ts
82.69% <0%> (+4.12%)
:arrow_up:

src/util/dev/builder.ts
77.41% <0%> (+4.34%)
:arrow_up:

src/util/dev/yarn-installer.ts
90.74% <0%> (+5.02%)
:arrow_up:

src/util/prefer-v2-deployment.ts
61.9% <0%> (+5.65%)
:arrow_up:

src/util/dev/server.ts
66.43% <0%> (+5.73%)
:arrow_up:

... and 1 more

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 6bebc49...ca8792b. Read the comment docs.


about MLQA_zh_results

Hi, thanks for the code!
I am trying to replicate MLQA scores (XLMR translate train multi-task) using this repo's code, but the score on zh language is wrong while the other is right.
'test_en': {'exact_match': 70.20707506471096, 'f1': 83.69701042191264},
'test_es': {'exact_match': 57.35770036169808, 'f1': 75.17824917711975},
'test_de': {'exact_match': 54.903697144122205, 'f1': 70.18311703583281},
'test_ar': {'exact_match': 47.403936269915654, 'f1': 67.90403139343402},
'test_hi': {'exact_match': 53.395689304595365, 'f1': 71.87824404813004},
'test_vi': {'exact_match': 53.7761601455869, 'f1': 74.26649611206571},
'test_zh': {'exact_match': 5.606385049639868, 'f1': 18.790755684164417},
Unlike Xtreme repo, I found you already change
if 'zh' in output_prediction_file:         final_text = tok_text
in squad_metrics.py.

Close this issue as you used the wrong squad_metrics.py according to your email.

Hi, would you mind sharing the hyperparameters used for the XLMR translate train multi-task, if you still have them? Sorry, I know this is an old repository, but if you still have that email I'd be interested in knowing.  Thanks!


Looping player breaks progress bar

[x] I have verified there are no duplicate active or recent bugs, questions, or requests
[x] I have verified that I am using the latest version of Easy Video Player.
[x] I have given my issue a non-generic title.
[x] I have read over the documentation (before asking questions on how to do something).

I want a video (an mp4) to loop - restart when completed.  To accomplish this, I implemented:
@Override
    public void onCompletion(EasyVideoPlayer player) {
            player.seekTo(0);
            player.start();
    }

This correctly loops the video.  However, while the video restarts upon completion, the progress bar remains at the end and does not track the video's playback, nor do the timestamps, unless I pause and unpause.

I was able to resolve the problem by changing your code to call mSeeker.setProgress(mSeeker.getMax()); before calling the callback's oncompletion instead of after.  I would suggest making this change in your build if it does not cause other problems.
When EasyVideoPlayer's onCompletion is called, it calls the callback's oncompletion, then sets mSeeker to max, which potentially overwrites anything the the callback did.

I fixed this issue, and added looping configuration so you don't have to manually restart the video.

Strangely, if I set .setLoop(true), I still encounter the original progress bar bug.
But if I manually seekTo like in my code sample above, it now works in 3.0.  Since that resolves my problem, thank you!!

Very weird! I tested that and it was working on my Pixel.
I'll look at it again later. Glad I solved your problem though!

Ah, I found the problem. setLoop(true) should work correctly in the next release.

Any chance we can get a release with this fix soon?


HSTS Strict-Transport-Secuirity header seems to be stripped by pagespeed for static optimized files

I've: add_header Strict-Transport-Security "max-age=15552000; includeSubdomains; preload";
If i test a dynamic php page all is fine, a static unoptimized file also is fine but when i test an optimized resource from pagespeed the server repsonds without the Strict-Transport-Security header
I also tried to force it here:
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
        access_log off;

        add_header "" "";
add_header Strict-Transport-Security "max-age=15552000; includeSubdomains; preload";

}

Pagespeed version (from headers):
X-Page-Speed: <IP_ADDRESS>-4448
nginx version: nginx/1.6.2
--- before submitting this issue i also tried to upgrade all to stable nginx version (1.8.0) and add the new always parameter to all the HSTS headers:
add_header Strict-Transport-Security "max-age=15552000; includeSubdomains; preload" always

cleaned all the caches (i'm using loadFromFiles if this can matter) but i get only this:
HTTP/1.1 200 OK
Server: nginx
Content-Type: application/javascript
Content-Length: 177643
Connection: keep-alive
Keep-Alive: timeout=60
Vary: Accept-Encoding
Last-Modified: Wed, 29 Apr 2015 20:03:37 GMT
Date: Wed, 29 Apr 2015 20:03:37 GMT
Expires: Wed, 29 Apr 2015 20:08:37 GMT
Cache-Control: max-age=300,private
X-Page-Speed: <IP_ADDRESS>-4448

still missing Strict-Transport-Security header.
Am I doing something wrong? Can you reproduce the issue on an HSTS enabled site?

Why do you want to set HSTS on your resources?  The header tells the browser "only interact with this domain over HTTPS for X amount of time".  Which means its sufficient to put it on your html.

Thanks for reply, yes after reasoning about this and checking how others are implementing HSTS and the specs I understood that it's required to put it just on the html document.
Anyway my worry was about this:

The HSTS header can be stripped by the attacker if this is the user's first visit
(or when max-age expired, http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security)

So I was worrying about a possible downgrade attack done using hotlinking to static resources embedded from a malicious third party site
Anyway I understand now that it makes not sense to send the header on that resources as pagespeeds strips also session cookies (cookieless serving of static resources) so there's nothing to worry about


Show progress with --progress

$ foodcritic . --progress
Food Critic
Checking 15 files
xx.x...........
FC001: Use strings in preference to symbols to access node attributes: ./attributes/default.rb:37
FC019: Access node attributes in a consistent manner: ./attributes/default.rb:37
FC028: Incorrect #platform? usage: ./recipes/default.rb:27

I wanted this because I run foodcritic in addition to other tools in sequence, and it's weird to see progress output from others but not foodcritic.
There are also feature specs at https://github.com/justincampbell/foodcritic/compare/progress-output-features, but I couldn't seem to get them working.

:+1:


Convert a rerouter to Reroute by rgthree

Is there a way to do this? For me to do this in the workflow I have will take too long to bother. The problem is the rerouter out goes to a lot of nodes and there are a lot of these examples. One can not just relink simply.

Yea, something can probably be added..

There's now an rgthree-comfy item in the right-click context menu when clicking on the workflow background with an option to convert. Make sure to check connections afterwards, though... nothing is guaranteed in the world of ComfyUI.

A bit over kill but awesome. I think the best way would to have 2 options this and one that says Convert selected 'Reroute' => 'Reroute (rgthree)'

Sure, why not. Still one item, but if you have nodes selected, then the same option in the menu will change to convert any reroute nodes in the selected nodes instead of all reroute nodes.


How to customize adding characters and maps

I want to add new characters and new maps. How do I find the way to write these commands? Is there a corresponding forum for me to review some examples written by others. thx

I took one of the existing command books to make my own command book for my class. Making the map routines was trial and error.

我拿了一本现有的命令书，为我的班级制作了自己的命令书。制作地图例程是反复试验。

I don't quite understand how to write custom scripts for my role. Can you leave an email so that I can communicate and consult with you

I took one of the existing command books to make my own command book for my class. Making the map routines was trial and error.

I don't quite understand how to write custom scripts for my role. Can you leave an email so that I can communicate and consult with you.
Can you teach me how to settings of Mikhal ?thx

Could I also get some help? I'll add you on discord mine is veneratedcrimson


firebase_ml_vision example about processing byte stream from image

Hi,
in firebase_ml_vision example
https://github.com/flutter/plugins/blob/master/packages/firebase_ml_vision/example/lib/main.dart
i can't find an example to process text recognition from new method FirebaseVisionImage.fromBytes (not file path).
Please can you update this officiale example code to understand how to use

method FirebaseVisionImage.fromBytes
Uint8List param (maybe obtained by CameraPreview class of Camera package)
FirebaseVisionImageMetadata

Thank you!
Lewix

@lewixlabs
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/513. Any further collaboration will be done there.


Test delete entry in remote Infinispan and check removals are replica…

…ted to the second site anyway

[x] Test logouts
[ ] Test refreshes

@mhajas - I tested this a bit today, and it works nicely for the logouts.
I verified this also with my local setup where I tested last week: The remove event is propagated to the client for a remote Infinispan 15.0.3, even if the key doesn't exist any more.
When using 14.0.27 which I did locally, I found that the remove events was propagated to the caller only when the entries existed. So it seems that there is a change in behavior between the major versions. Good that we now have a test for this.
So I assume we want people to use ISPN 15.x when running with KC 25?
cc: @ryanemerson @pruivo

So I assume we want people to use ISPN 15.x when running with KC 25?

100%
Let's keep the support matrix as small as possible. This will allow us to spend less time on verifying different combinations and more time enhancing the Keycloak experience for users with new improvements/features.

@ryanemerson / @pruivo - I agree with your comments. Could please also think in the direction if the change in behavior could be seen as a regression by others, and that it would be fixed (to the disadvantage of Keycloak) in an upcoming ISPN release?

@ahus1 I believe the change in behaviour was introduced by ISPN-15211 and is documented in our upgrading guide.

@ryanemerson - thank you for the note that this is an expected behavior.
Given that we now depend on ISPN 15 specific behavior, this should be reflected in the docs and the migration guide. I created an issue for that: https://github.com/keycloak/keycloak/issues/29750
Could you please pick that one up and create a [minimal] docs PR for this? Thanks!

As agreed we will not provide a test for updates currently so this PR should be ready for reviewing and merging. @ryanemerson @ahus1 Could you please re-review?

Thank you for these tests, they really helped us to understand Infinispan's behavior around this!


Update testlist UI in background thread and change UserInterfaceHelper into a service

What has changed between the versions
Moved refreshTestCaseUI call when user changes test method name to run on a background thread instead of main UI thread. Made UserInterfaceHelper into a project-level service as that makes more sense for its purpose. Along with this, made a few formatting changes and excluded MaxLineLength and related warnings to exclude test classes.
Why we need this pull request
refreshTestCaseUI call is a slow operation and it is recommended not to have slow operations on the UI thread (was a warning when running the plugin). Other changes were mainly to keep the code clean.
Change-log/Release notes

Moved refreshTestCaseUI call in FileEditorManagerListener to be run in a background thread.
Changed UserInterfaceHelper to be a service instead of a companion object class.
Excluded line length requirements from test classes.
Minor formatting changes in few files.

I also checked the work and it seems that the bug is fixed right now. You can merge the branch. Well done!


[FEATURE]: product card in tailwindcss

PR Title

The purpose of this Pull Request is to fix #112
Description

added Product Card
How you solved

At first i made the component in Tailwind Playgrounds
then i added that into the file
Screenshots

Checklist

[x] I have Made this contribution as per the CONTRIBUTING guide in this repo
[x] I have tested in local Environment.
[x] I have made the fix as per issue converstaion
[x] I have starred the repository ⭐

Great @Anuran12 ,
I will review the code design and merge them in some time, please proceed with other issue
Thank you

@jsvigneshkanna wait please

@jsvigneshkanna Okay done 🚀

Great @Anuran12 ,
check for other issues too in sometime


[FEATURE] Remove dependency on open-feature-operator

Details
Currently flagd/core has a direct dependency of open-feature-operator. It would be sufficient to remove this dependency and instead use unstructured.Unstructured to fetch the custom resources from OFO API.
Acceptance Criteria

[ ] remove OFO dependency in flagd/core
[ ] adapt unit tests

I assume the problem that comes with this dependency is e2e tests ? Otherwise dependency should make the CRD validation straightforward

The dependency is on the K8s sync where an informer is registered to watch for changes on OFO CRs.
The issue is that OFO APIs and Operator are released together. OFO also has a dependency on FlagD. Finally, FlagD has a dependency on OFO APIs. This creates a problem when it comes to introducing new APIs and changes since you would need to release a version of OFO that works with the new APIs but injects a version of FlagD that cannot work with them.
I would rather have a new artifact with just the OFO APIs. This way we break the release cycle dependency while maintaining a proper version check.

The dependency is on the K8s sync where an informer is registered to watch for changes on OFO CRs. The issue is that OFO APIs and Operator are released together. OFO also has a dependency on FlagD. Finally, FlagD has a dependency on OFO APIs. This creates a problem when it comes to introducing new APIs and changes since you would need to release a version of OFO that works with the new APIs but injects a version of FlagD that cannot work with them. I would rather have a new artifact with just the OFO APIs. This way we break the release cycle dependency while maintaining a proper version check.

How might we best accomplish this? Would we release this as a separate artifact from the OFO repo? Or do it from an entirely different repo?

inclusive or answer: "yes" 😝
more seriously, I would first look into having that as a separate release package instead of creating a new repo. Given our experience with release please and flagD, it looks like simple enough to give it a try. I will do a small PoC to have a feeling for how much complexity this would bring

I prepared a PoC for OFO here: open-feature/open-feature-operator#541 Please let me know if this is something we can go through, I will also finish this poc

This is GREAT! I think with the addition of in-memory providers to the SDKs, and the work that @Kavindu-Dodan is doing in flagd and go-contribs, we will have no more dep cycles involving flagd.
cc @beeme1mr

@thisthat @Kavindu-Dodan I think with the API release separated, we can close this?

Yes we can close this :)


Make pyquil run on Python 3

The '/' operator is replaced with old_div, so you can see precisely where they are. futurize is used to make the code Py2/3 compatible[1].
[1] http://python-future.org/automatic_conversion.html

WIP (this doubles as to make the code run on Python 3)

Fixed! I found a subtle bug on PauliTerm keys being not sorted (this is dangerous especially when dict keys ordering is non-deterministic in Python 3 pre 3.6, and I had checked that keys are not sorted in Python 2, even though the ordering is deterministic).

@rht Why do the PauliTerm qubit indices need to be sorted?

Coverage report:
tests/test_forest.py .........
tests/test_job_results.py ..
tests/test_parametric.py ........
tests/test_paulis.py .............................
tests/test_qpu.py ....
tests/test_quil.py .........................................
tests/test_resource_manager.py ..
tests/test_wavefunction.py ...

----------- coverage: platform linux, python 3.6.1-final-0 -----------
Name                         Stmts   Miss  Cover
------------------------------------------------
pyquil/__init__.py               0      0   100%
pyquil/api.py                  193     46    76%
pyquil/gates.py                 90      5    94%
pyquil/job_results.py           83     18    78%
pyquil/parametric.py            42      4    90%
pyquil/paulis.py               290      5    98%
pyquil/plots.py                111    111     0%
pyquil/qpu.py                   78     13    83%
pyquil/quil.py                  62      1    98%
pyquil/quil_atom.py              4      0   100%
pyquil/quilbase.py             384     58    85%
pyquil/resource_manager.py      91     10    89%
pyquil/slot.py                  51      3    94%
pyquil/wavefunction.py          54      3    94%
------------------------------------------------
TOTAL                         1533    277    82%

=================================================================================== 98 passed in 1.43 seconds ====================================================================================

@ncrubin I found that any change in ordering also changes the result of this loop in _exponentiate_general_case https://github.com/rigetticomputing/pyquil/blob/b6ef90d22065c0b9c87788477a04f8b38f56c2eb/pyquil/paulis.py#L548. Maybe the correct implementation is OrderedDict to preserve time-ordering of the operators?

There's a bunch of failures on Python3.6, see https://github.com/rigetticomputing/pyquil/issues/67

@rht Thanks for this PR! You're encouraging us to move quickly towards supporting python3.  @jotterbach is going to soon open a PR that cherry picks a few of these changes that we know we want to merge. And with this newly merged PR (https://github.com/rigetticomputing/pyquil/pull/66) our CI will actually test against both Python2.7 and Python3.6.
After we get that merged and rebase some, there are some other improvements that can be rebased and that we would be happy to include (res.json() for example).  That said, I would like us to avoid always importing the future print function and old division unless it is strictly necessary in a module.

Am closing this as pyQuil is now Python 3 compatible.

Wooo!


Make free coaching call url configurable and popup translatable

Context
One user of our ANCT instance used the coaching call url that give a calendly link of gristlabs. So, we wanted to make it configurable by instance with the gristlabs calendly by default.

Thanks @georgegevoian for the review. I made the modifications


Ignore PyPI if local/private PI available?

[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] I have searched the documentation and believe that my question is not covered.

Question
I have a local PyPI cache, and I'd like all my python projects to pull packages through it by default, instead of the public PI.
The general idea is, that while I'm connected to my network (local PI is available), Poetry will pull packages from/through the local PI, but as soon as I lose connection to the local network, or to the local PI, Poetry would fall back onto pulling packages directly from PyPI.
What I'm wondering about is, if specifying a local PI in the Poetry config and in the project configuration already encompasses that, and if it does, if there's a way to tell Poetry to use the local PI on every project by default. Maybe even, if you have multiple private PIs, let the user specify in which order to query them?

To extend:
If a project has a private repository specified, does Poetry require the same repository to be configured in the local poetry config, or will it use the private repository defined in the project?

The private repositories used to find and install packages must be specified in each pyproject.toml file.
The config command sets settings globally and, for repositories, the configuration is only used for publishing (and soon to retrieve credentials when searching and installing packages, see #306).
Also, the private repositories will always have priority when looking for packages but Poetry will also fallback on PyPI when a package can't be found in the private repos.

@sdispater Thank you, that is what I think is best with the current setup. It would probably be good if that was in the documentation, because the way the documentation for custom repositories is written, it gave me the impression of having to have a repository configured both locally (poetry config) and in the project (pyproject.toml file).

What if I had a package in my private repository, but I wanted to specify explicitly for one dependency I wanted to install the one from PyPi?
# Let's say liby is in my private repo and it's used by other projects, but for this project I want to
# use the one that is publicly available on pypi for some reason.
liby = {version="^1.0.0", repository="pypi"}

That could be nice in my opinion.

@sdispater, for me it doesn't work. I have following section in my pyproject.toml file:
[[tool.poetry.source]]
name = "kama"
url = "https://pypi.kama.gs/tech/index"

I add a dependency with poetry add command, but instead of the desired package, it installs it from PyPI. The only possible reason I see is that version of a package if greater in PyPI than in private repository.

I would like to have a way to disable poetry using Pypi as a fallback. To make that use case a bit more clear, suppose you use devpi as a local artifact store, I worked in a company that selectively copied packages from pypi to the devpi index. This allowed for principally ruling out the installation of certain packages (due to license, security or stability conerns).
Then, individual projects would configure to pull from the local repository and would not have to worry about license issues, etc. This workflow works with pure pip by providing the --index-url and pipenv IIRC also uses the remote repository configured only.
So to me it seems what poetry does is to configure local mirrors to pypi, a valid use case. I would like to configure repositories.

Just to give an update on this. There is currently a work in progress (#908) that will make it possible to deactivate the fallback on PyPI by declaring a source as the default one.
[[tool.poetry.source]]
name = "custom"
url = "http://example.com/simple/"
default = true

This new feature will be available in the 1.0.0 release.

I have a question regarding this.
I didn't find anywhere in the docs about what happens when you put multiple [[tool.poetry.source]] sections.
My specific use case is also with a devpi as a local artifact store, I would like to use the LAN address as a default (what #908 will allow), the remote address as a first fallback, and pypi after.
what is the expected behavior with:
`
[[tool.poetry.source]]
name = "devpy-local"
url = "http://<IP_ADDRESS>:4041/foo/bar/+simple/"
[[tool.poetry.source]]
name = "devpy-remote"
url = "http://foo.bar.org:4041/foo/bar/+simple/"
[[tool.poetry.source]]
name = "fallback"
url = "https://pypi.python.org/simple"
`

PR https://github.com/sdispater/poetry/pull/908 has been merged and is available in the 1.0.0a4 release


184 simplify uipart

v17
@pyokagan submitted v17 for review.

[v17 1/11] Add tests for UiPart
[v17 2/11] UiPart: remove deprecated construction methods
[v17 3/11] MainWindow: migrate to FXML loading constructor
[v17 4/11] HelpWindow: migrate to FXML loading constructor
[v17 5/11] CommandBox: migrate to FXML loading constructor
[v17 6/11] StatusBarFooter: migrate to FXML loading constructor
[v17 7/11] ResultDisplay: migrate to FXML loading constructor
[v17 8/11] PersonCard: migrate to use FXML loading constructor
[v17 9/11] PersonListPanel: migrate to use FXML loading constructor
[v17 10/11] BrowserPanel: migrate to FXML loading constructor
[v17 11/11] UiPart: implement FXML loading constructor

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v16 and v17)

Checkout this PR version locally
git fetch https://github.com/pyokagan/addressbook-level4.git refs/pr/1/17/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v17
@pyokagan submitted v17 for review.

[v17 1/11] Add tests for UiPart
[v17 2/11] UiPart: remove deprecated construction methods
[v17 3/11] MainWindow: migrate to FXML loading constructor
[v17 4/11] HelpWindow: migrate to FXML loading constructor
[v17 5/11] CommandBox: migrate to FXML loading constructor
[v17 6/11] StatusBarFooter: migrate to FXML loading constructor
[v17 7/11] ResultDisplay: migrate to FXML loading constructor
[v17 8/11] PersonCard: migrate to use FXML loading constructor
[v17 9/11] PersonListPanel: migrate to use FXML loading constructor
[v17 10/11] BrowserPanel: migrate to FXML loading constructor
[v17 11/11] UiPart: implement FXML loading constructor

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v16 and v17)

Checkout this PR version locally
git fetch https://github.com/pyokagan/addressbook-level4.git refs/pr/1/17/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v18
@pyokagan submitted v18 for review.

[v18 1/11] UiPart: implement FXML loading constructor
[v18 2/11] BrowserPanel: migrate to FXML loading constructor
[v18 3/11] PersonListPanel: migrate to use FXML loading constructor
[v18 4/11] PersonCard: migrate to use FXML loading constructor
[v18 5/11] ResultDisplay: migrate to FXML loading constructor
[v18 6/11] StatusBarFooter: migrate to FXML loading constructor
[v18 7/11] CommandBox: migrate to FXML loading constructor
[v18 8/11] HelpWindow: migrate to FXML loading constructor
[v18 9/11] MainWindow: migrate to FXML loading constructor
[v18 10/11] UiPart: remove deprecated construction methods
[v18 11/11] Add tests for UiPart

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v17 and v18)

Checkout this PR version locally
git fetch https://github.com/pyokagan/addressbook-level4.git refs/pr/1/18/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v18
@pyokagan submitted v18 for review.

[v18 1/11] UiPart: implement FXML loading constructor
[v18 2/11] BrowserPanel: migrate to FXML loading constructor
[v18 3/11] PersonListPanel: migrate to use FXML loading constructor
[v18 4/11] PersonCard: migrate to use FXML loading constructor
[v18 5/11] ResultDisplay: migrate to FXML loading constructor
[v18 6/11] StatusBarFooter: migrate to FXML loading constructor
[v18 7/11] CommandBox: migrate to FXML loading constructor
[v18 8/11] HelpWindow: migrate to FXML loading constructor
[v18 9/11] MainWindow: migrate to FXML loading constructor
[v18 10/11] UiPart: remove deprecated construction methods
[v18 11/11] Add tests for UiPart

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v17 and v18)

Checkout this PR version locally
git fetch https://github.com/pyokagan/addressbook-level4.git refs/pr/1/18/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v19
@pyokagan submitted v19 for review.

[v19 1/10] UiPart: implement FXML loading constructor
[v19 2/10] BrowserPanel: migrate to use FXML loading constructor
[v19 3/10] PersonListPanel: migrate to use FXML loading constructor
[v19 4/10] PersonCard: migrate to use FXML loading constructor
[v19 5/10] ResultDisplay: migrate to use FXML loading constructor
[v19 6/10] StatusBarFooter: migrate to use FXML loading constructor
[v19 7/10] CommandBox: migrate to use FXML loading constructor
[v19 8/10] HelpWindow: migrate to use FXML loading constructor
[v19 9/10] MainWindow: migrate to use FXML loading constructor
[v19 10/10] UiPart: remove deprecated construction methods

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v18 and v19)

Checkout this PR version locally
git fetch https://github.com/pyokagan/addressbook-level4.git refs/pr/1/19/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.


Update members count on remove users

Summary
When a member was removed from the channel, we refetched the channel stats, but before actually removing the user, so the value would stay the same until we refetch it again.
This makes sure we fetch the channel stats only after the user is removed.
Ticket Link
https://mattermost.atlassian.net/browse/MM-50289
Release Note
Members count gets updated after removing users.

Cherry pick is scheduled.


Sample of use gcs-helper with Kaltura VOD

Hi
Can you provide some samples on how to use gcs-helper with Kaltura VOD?
best regards

Hi @cwichoski, I apologize for such a ridiculous delay in responding this ticket. Here's an example (includes nginx.conf and docker-compose.yml for running locally): https://github.com/fsouza/gcs-helper-vod-module-example
I'll also link that example in the README file. Thanks for opening this issue.


Model

Merge existing models and random generation of stationary trains and electricity poles into working.
Have not merged in a while. Have been using model branch for not just models.

I don't know how to fix these conflicts tbh


POST changed to GET when request got HTTP/3xx

A POST request changed to GET request when  the Request object got 3xx answer from server.
I don't know the RFC exactly, but the expected result would be that request repeat as POST at new URL.
Here is the code:
r = requests.post("http://foobar.com/script", data={'foo': 'bar'})

The server answer:
HTTP/1.1 302 Found
Date: Thu, 15 Feb 2018 10:42:16 GMT
Server: Apache/2.4.25 (Debian)
Location: https://foobar.com/script
Content-Length: 222
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>

Then Request repeats the request as GET.
Debian Linux 9.3
Python3 (3.5.3)
Apache2.4 (the server where Request sends the request)
>>> requests.__version__
'2.12.4'

I've changed the url to https schema, then it works.

In the future, please search closed and open issues before creating new ones that are duplicates.
Duplicate of #4251
Duplicate of #4236
Duplicate of #3915
This behaviour protects you against Requests sending sensitive data to the wrong server, see also

CVE 2014-1829
CVE 2014-1830

@sigmavirus24 - thanks for feedback.
Sorry, next time I'll check the closed issues too.
Regards,
a.

In my own case, I reconfigured the server redirect using 307 instead of 301/302. This makes sure that request body and type is not tampered.

@m-bryo, thanks, I'll check out.


Avoid node clipping with CairoMakie.jl as backend

Hi. I'm trying to generate a figure for a paper using GraphMakie.jl and CairoMakie.jl. I'm stuck with a small issue since I'm not very familiar with Makie.jl yet: In the image below, how can I avoid the clipping of the nodes in the corners?

I noticed that this is easy to fix using GLMakie using the mouse wheel to control the zoom:

However, I haven't been able to emulate this programatically to make it work with CairoMakie.jl.

Giving this a bit of afterthought, I think it would be a good idea to make the layout placement of the nodes aware of the size of the nodes themselves to avoid this clipping, for example by adding some kind of margin/padding. What do you think?

Well this has to do with the automatic axis limit calculation in Makie. You can manually set the limits using
xlims!(0, 1)
ylims!(0, 1)

Unfortunately this is not possible from inside the graphplot recipe because we can't access the Axis object from within.
In theory it would be really great to depend the layouts on the node sizes and stuff. Not so easy though. For example we use scatter which plots dots in pixel space on the screen. The layout happens in data space. The correlation between the both depends on zoom and aspect ratios.


Fix bug in argparse spec for run command

The string "store_true" was getting squashed into the help text of the
command because of this missing comma - it's actually supposed to be the
third argument (parameter name: "action").
Upstream fix: https://github.com/apache/incubator-airflow/commit/e88ecff6ac71758d763dd5037b177e7a2fbc9896
cc @lyft/dp-tools-viz

👍  it seems the upstream has fixed this issue.

Codecov Report

Merging #81 into data-platform-upgrade will not change coverage.
The diff coverage is n/a.

@@                  Coverage Diff                   @@
##           data-platform-upgrade      #81   +/-   ##
======================================================
  Coverage                  68.77%   68.77%
======================================================
  Files                        142      142
  Lines                      11016    11016
======================================================
  Hits                        7576     7576
  Misses                      3440     3440

Impacted Files
Coverage Δ

airflow/bin/cli.py
50.21% <ø> (ø)
:arrow_up:

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 e1fd8d1...12165d2. Read the comment docs.

:dash:


Windows build support by AppVoyer

Dear @steffengy
Can you help with fixing appvoyer build?
https://ci.appveyor.com/project/ovr/owl/branch/master
Thanks

https://github.com/owl-framework/owl/blob/c616672c26d02538daa5e1341239a8e520624078/appveyor.yml#L38
php-devpack**-y** but PHP_DEVPACK: c:\projects\php-devpack
I guess the first one is a typo so you have to remove the -y

@steffengy
Thank you for notice about this typo, but builds failed, can you research a problem?
I am trying to find it but I am really newbie on windows :(

Seems like something during the build goes wrong since the end artifact (php_owl.dll) does not exist.
Maybe setting verbose to false gives more output, will look at it when I'll have some time...
In the meantime you can try to get some more output - and maybe check some paths / add some debug output like dir %APPVEYOR_BUILD_PATH%\Release_TS to get a overview of the build state.

Dlls compiled successfully
But I cant explain why It said that dll is not exits
I compiled it to ext PHP path and it works
@steffengy
Thank you for help ;)


WIP #873 Remove Sync and added StripedLock

When tested, I did not notice any performance benefits.

@tynyttie what type of test did you run?  Was there concurrent bulk import operations running?

Closing outdated PR due to comment on original ticket: https://github.com/apache/accumulo/issues/873#issuecomment-1087776524


Configure autoprefixer via asset_config

E.g. (_config.yml):
assets:
  autoprefixer:
      browsers: ["> 1%","last 4 versions","IE > 8"]

This is a no, unless you are willing to build a wrapper for any and all addons that accept options to whitelist only acceptable options.  Because of our want to be included on Github pages, blindly accepting options is unacceptable because they can change their options at any given time and create a gap of which I am not willing to accept and have to account for later.

Sorry, I did not explain what this gap could be: the filesystem.  We do not want people to include files outside of Jekyll's root.  Whether autoprefixer has that option right now or not is not relevant to the need to prevent it in the future without me having to constantly keep track of every single little change it makes, because as it stands right now we take a audit yourself approach to addons since we don't have any explicit addons that are not sprockets.

Thanks for the clarification (and the gem itself of course!). Seems to make a lot of sense. I am not sure of understand 100% of it though.

What if autoprefixer decides to start parsing a config at say ~/.autoprefixerc? Or is this prevented by "sprocket mode" (no clue how a sprocket is defined to be honest) ?
Is there a way to configure autoprefixer (or any other addon for that matter)?

It does already try to include that file but only on Rails, that was a problem I did spot when I chose to use this one as an addon but something I planned to deal with when I was building in the option whitelist.  It was ultimately set to low-priority (the including of the file) because it only did it for Rails.
That was a passive decision because it was only done for Rails, but this pull is an active decision because it also has the "to" and "from" options (how and whether or not you can get to them from those options is pretty unclear to me right now as I didn't audit the source that closely) but I did notice those options which is what prevented me from just allowing it in the first place.
At this time there is no ability to do what you wish but I'll consider what to do over the next few days as you've brought up some points that make me think about what our policy should be, maybe I shouldn't care about addons and just disable them if Jekyll is in safe-mode and then merge this pull request, call it a day, that would be fair right?  Let me think about it and I'll get back to you.

Seems like a good option to me. If the goal here is to be included on Github Pages I would speculate that Github will be trying to avoid cpu expensive tasks (e.g. imagemagick et. al.) anyway.
Thanks for your effort and your consideration

I have decided to shift my policy to that of the like from Jekyll.  From now on we will allow people to configure their plugins and just disable them in so-called "safe-mode" like @jekyll/core does it, this gives you ultimate flexibility and allows me to later seek inclusion in Github when I'm truly ready to ask seriously for them to consider it rather than give a preliminary overview.
In that light I've merged your pull and :heart: for the contribution!

My pleasure!


[path_provider] Completely rethink the path_provider API

The API for path_provider has a number of significant issues:

It was design before federation existed, so platform-specific paths (like getExternalCacheDirectories, which is highly Android-specific in practice) are mixed in with abstractions in the app-facing API.
Some of the APIs were designed for Android APIs that have since been deprecated, and the underlying implementation changed, creating some confusing naming.
The APIs are almost all pre-desktop, so tend to be mobile-centric.
The desktop implementation of the documents directory (a widely-used API) is, essentially, wrong, and we can't fix it without a breaking change.

The package's API would benefit from being redesigned from scratch. We should:

Audit all of the existing APIs and open requests for new APIs.
Make a matrix of all the APIs that it makes sense to support, and what platforms they make sense on.
Decide what high-level abstractions we want core functionality for (in particular taking a look at the user-created vs. app-created-but-expensive vs app-created-and-easily purgeable, which we have as distinctions right now but in a somewhat platform-fragmented way, and not well named as abstractions).
Create a two-tiered API system, with common abstractions in path_provider and platform-specific things in path_provider_*, with clear docs in the app-facing package about the existence of the latter, with links to implementation package readmes as examples.

Removing APIs from path_provider would be extremely disruptive as it's such a foundational plugin in the package ecosystem, but we can deprecate the old APIs and create a clean set of new APIs, like we did with url_launcher. That way we don't have to do it as a breaking change, so everyone in the ecosystem can switch to the new APIs gradually, without creating a lot of transitive version conflict problems.

When rethinking these APIs, would it also be possible to support standalone Dart applications? (e.g. getApplicationSupportDirectory)

@pattobrien Please see https://github.com/flutter/flutter/issues/122529. Also, the implementation and the client-facing API are largely orthogonal, so that's unrelated to this issue.


Check before suggesting to add parens to Python 2-style print

See https://twitter.com/cfbolz/status/1461692195136753666 for an example.

This appears to have already been taken care of, and not recorded.


Integer input for prompt in shop() function

Use integer responses in the shop() function to replace string commands

This was integrated under: commit c3b8fe809f40579e6b92cca1996fa4dc96c5a4d6 .


Update  IHostingStartup article to show Identity RCL

Once "Scaffold Identity in ASP.NET Core projects" is complete, point out in the intro it uses IHostingStartup
Consider getting IHostingStartup in the title.  Can't we come up with a better title for the article?

It was challenging to name that topic. I think we can do better. Is it ok if I float some alternative titles tomorrow?

Here's one that's a little easier to grasp because it drops the "platform-specific configuration" bit, which came from the API description of IHostingStartup ...
Enhance an app from an external assembly in ASP.NET Core
... and btw ... the "enhance an app" bit is there to avoid the phrase Add features to an app.

Another thing occurs to me ... This is in Host and deploy; but upon reflection, I think the topic should moved to Configuration. We already have a node there, so it's an easy move.

Move and rename IHostingStartup topic (#6229)


Issue after update in ver. 10.0.19041.1348

I have even changed the termser.dll file in C Drive but it's still the same. Please help me.
Below is the screenshot

Append this to your rdpwrap.ini file and restart:
[10.0.19041.1348]
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=89AC1
LocalOnlyCode.x64=jmpshort
SingleUserPatch.x64=1
SingleUserOffset.x64=0D1E2
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=190D5
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
SLInitHook.x64=1
SLInitOffset.x64=1E6AC
SLInitFunc.x64=New_CSLQuery_Initialize
[10.0.19041.1348-SLInit]
bInitialized.x64      =107108
bServerSku.x64        =10710C
lMaxUserSessions.x64  =107110
bAppServerAllowed.x64 =107118
bRemoteConnAllowed.x64=107120
bMultimonAllowed.x64  =107124
ulMaxDebugSessions.x64=107128
bFUSEnabled.x64       =10712C

Duplicate of https://github.com/stascorp/rdpwrap/issues/1595


RHEL 9.0: Fix customisation of Kernel command line options

Resolves #2129.
Needs manifest and image info upates.

This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

All green except the koji integration test on CS9, which is expected to fail!


Multiple problem matchers in tasks.json

Feature request redirected from the C/CPP extension project:
https://github.com/Microsoft/vscode-cpptools/issues/1286
Original issue at cpptools:

Ubuntu 17.10
vscode 1.18.1
C/C++ 0.14.2

I find it unfortunate to mix intellisense/lint errors and build errors/warnings in the "Problems" tab. I might have multiple folder in a workspace, some with broken intellisense include paths and others without. I would  still want to build a project and only attend to the build specific compilation errors in the "Problems" tab. Not interleaving it with non build related errors and warnings. Perhaps grouping problems in a single Problems tab, displaying in separate tabs, attending to build issues by clicking on them in the build output...
Another feature would be to have multiple "problemMatcher" per task in tasks.json. I have for example a  two-stage compilation with unique output. First linting and then compiling, file by file. The linter and compiler have different output and need a specific problem matcher.
Alternatively a problem_matcher.json to define regex for the tools used, and match the build output against it.

You can have n problem matchers per task. Simply provide an array instead of a single matcher. Does this work for you?

Thanks! Seems to work. Great! My bad...
Still think mixing lint, intellisense, build errors and other problems in the same window get me distracted. Is there a way round that?

No currently not. Feel free to file an issue requesting this. One idea would be to be able to apply filters.


Could not resolve spoon dependencies

I can't seem to get spoon to run on my project.  Is there a version mismatch?
Thanks,
Tom
build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
classpath 'org.robolectric:robolectric-gradle-plugin:0.14.+'
classpath 'com.jakewharton.hugo:hugo-plugin:1.1.0'
classpath 'com.stanfy.spoon:spoon-gradle-plugin:0.14.1'
}
}
allprojects {
repositories {
mavenCentral()
}
}
app/build.gradle:
apply plugin: 'com.android.application'
apply plugin: 'robolectric'
apply plugin: 'hugo'
apply plugin: 'spoon'
dependencies {
...
compile "com.squareup.spoon:spoon-client:1.1.2"
...
androidTestCompile ('com.android.support.test.espresso:espresso-core:2.0') {
    exclude group: 'com.android.support.test'
    exclude group: 'javax.inject'
}

}
spoon {
debug = true;
if (project.hasProperty('spoonClassName')) {
    className = project.spoonClassName
}

}

I changed to
androidTestCompile "com.squareup.spoon:spoon-client:1.1.2"
but that had no effect.

It's a known issue #1. Please see https://github.com/stanfy/spoon-gradle-plugin/issues/1#issuecomment-28903983 for a workaround.


Update core message keeps appearing

Our bedrock website have the WordPress 3.9.1 is available message showing in the dashboard. But the current version is already 3.9.1
Anyone else have this problem too?

I have the same issue after running a composer upgrade as well, is there a command to run for the db to be updated?


Compiling C++ code never succeeds (3rd)

It looks like the C++ build service is down again. Since yesterday polling for C++ builds has not been successful.
It's a recurring issue every couple of months: Like in #7435, #5286 the system is continuously polling for the C++ build.
This my project that is currently failing and I have not done any updates to the native dependencies since weeks:
https://makecode.microbit.org/_1T1dTVYyY3zY

This is fixed.

@abchatra Thanks for the quick fix.


this.extend is not a function

Hi, when calling director.http.Router(routes) with Node v4.2.1 with the --es_staging flag I am getting:
/.../node_modules/director/lib/director/http/index.js:33
this.extend(exports.methods.concat(['before', 'after']));
^
TypeError: this.extend is not a function
Sure enough there is no definition of extend on that Router function. Where is it supposed to be coming from?

I was missing the new keyword


NixOS pkg search tree view

Issue description
i was trying to install the tools for the haskell programming language.
I have searched both "ghc" (which I would have expected to show up immediately in search) and "haskell" just in case ghc was contained in a metapackage for the entire language (including ghci and runghc). Neither were helpful.
This is a problem
Solution
Display a dependency tree to users on the website for search results. Top level nodes are metapackages or apps. Child nodes are their dependencies (libraries and build tools).
Implementation
Analyze package dependencies and store the dependency tree in a database; then display a tree view on the website, so that users can quickly identify which packages are the ones they're looking for.
Plugins
Plugin packages should be listed separately from main programs. Plugins clutter up the list, and are not strictly hierarchical. They often are glue between two programs or a program and a library.

I plan on making a proof of concept.


Add external CSS file

Shift the internal styles from the html file to a new file: style.css and link the file to index.html

Please assign me so that I can work on this issue

I dint see it, my bad


Repo sync for protected CLA branch

The pull request is created from master637410848155625833 to master to fix git push error for protected CLA branch

@tfosmark : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Socket disconnect

Remove clients and update rooms when clients are disconnected
Purge clients from room and remove room when a user ends a stream or when a stream is stopped

Client corresponds to a websocket connection, not just a user. A user can have multiple sockets, corresponding to that user viewing or publishing different streams.

No issues with the rest. Good to merge.


Support zoom not working

[x] I have read the Getting Started section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
3.7.3

Plugin version
^5.7.2+3

Android version
12.0

iOS version
16.0

Xcode version
14.0

Device information: iPhone 13 Pro
Description
I have set supportZoom to false but I still can zoom webview. Does anyone have a solution?

Same issue here, it used to work, seems to only affect android, ios still behaves as expected

@pichillilorenzo hey, do you have any idea about this issue? ive been facing similar issue and couldn't find anything here

@pichillilorenzo, do you have any solution to it? pls fix this

Facing the same issue, Does anyone gets the solution
crossPlatform: InAppWebViewOptions(
supportZoom: false,  preferredContentMode: UserPreferredContentMode.MOBILE,
),
android: AndroidInAppWebViewOptions(
builtInZoomControls: false,
displayZoomControls: false,
textZoom: 100,
),
But still zoom is working on android mobiles

Any fixes ? or workaround for this solution

Definitely a bug. Also present on latest v6 - 6.0.0-beta.24+1

Whomever is Looking for the solution please  try this snippet:
  onWebViewCreated: (controller) async {               appWebViewController = controller;               controller.setSettings(                   settings: InAppWebViewSettings(builtInZoomControls: false,                   supportZoom: false)); }
This will stop zoom gestures !!!!

Same here.
builtInZoomControls: false, supportZoom: false

This can disabled zoom but some android device not available. eg: oppo reno 4 pro

Same issue here is the minimum code
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.dart';

class Browser2Screen extends StatelessWidget {
  const Browser2Screen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('InAppLocalhostServer Example'),
      ),
      body: Column(children: <Widget>[
        Expanded(
          child: InAppWebView(
            initialSettings: InAppWebViewSettings(
                supportZoom: false,
                supportMultipleWindows: false,
                isInspectable: kDebugMode,
                builtInZoomControls: false),
            initialUrlRequest: URLRequest(url: WebUri("https://github.com")),
            onWebViewCreated: (controller) {
              controller.setSettings(settings: InAppWebViewSettings(builtInZoomControls: false, supportZoom: false));
            },
            onLoadStart: (controller, url) {},
            onLoadStop: (controller, url) {},
          ),
        )
      ]),
    );
  }
}

Device Details :-
Device - Nothing phone 1
Android Version - 14
Flutter verion - latest as of now
Dart version  - latest as of now
Plugin version - latest as of now
target api - 21
compile sdk - 34

Tried @YogeshLegendkiller's solution. But it didn't work for me.
So, I tried setting the InAppWebViewSettings inside onLoadStop() instead of onWebViewCreated() and it worked for me:
. . .
  onLoadStop: (controller, url) {
    controller.setSettings(
      settings: InAppWebViewSettings(
        builtInZoomControls: false,
        supportZoom: false,
      ),
    );
  },
. . .


Cleanup oasp4j templates

In the crud_angular_client_app part of the oasp4j templates are several empty files.
Please check, whether they can be removed or are faulty.
In addtition the templates.xml contains several templateExtension entries without any anttributes than ref, which is non sense. Please clean them up as well.
@EastWindShak please do this with priority to have this ready for the release end of the week.

I think this issue can be closed, I do not see any empty files or faulty templateExtensions


Feature request: confluent user resource

Resource for confluent_invitation can be implemented for creating confluent users. Also, While sending invitations to a particular identity, role binding can be implemented as same as it's present when an invitation is sent via UI. This is not present in the confluent terraform provider. Here, once the user is created after sending the invitation, only then it can be assigned roles(different from the confluent UI).

👋 @VipulZopSmart!
Thanks for creating this issue! Closing as a duplicate of https://github.com/confluentinc/terraform-provider-confluent/issues/263


⚠ ClamAV has degraded performance

In a82cd1d, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 70 ms

Resolved: ClamAV performance has improved in caf0b8a.


RFC: v3: performance rewrite

This is an RFC for a potential major update to styled-system.
These changes aim to make styled-system:

Smaller
Faster (see benchmarks)
Simpler API

Install the prerelease:
npm i styled-system@alpha
Note: the current version of styled-system is currently in the ref/ directory
for reference and benchmarking.
Added

variant new alternative to the current complexStyle utility
compose composes multiple style functions into a single function

Changed

style utility is now responsive by default
All built-in style functions now support responsive array values
themeGet is now get

Removed

Prop aliases and the alias argument
propTypes[prop].meta (temporarily removed)
responsiveStyle use style instead
complexStyle use variant instead
complexStyle (variant) boolean props are no longer supported
pseudoStyle
hover
focus
active
disabled
util.break
util.media
numberToPx option (pass util.px to the getter argument instead)
Main propTypes export (use style function propTypes instead)
borderWidth

Under consideration

Should the getter argument be renamed to transformValue?
Is the pseudoStyle utility something worth keeping?
Is the complex style boolean props feature worth keeping?

New
get
The get utility can now be used in two ways:
// existential getter function
const value = get(obj, 'path.to.nested.value', 'fallbackValue')
// returns obj.path.to.nested.value or 'fallbackValue'
// without throwing

// theme value getter
const value = get('colors.blue', 'blue')(props)
// returns props.theme.colors.blue or 'blue'
// without throwing

// can be used with styled-components like this:
const Button = styled.button`
  color: ${get('colors.blue')};
`

compose
The compose function combines multiple style functions together.
// example from src/styles.js
export const textColor = style({
  prop: 'color',
  key: 'colors',
})

export const bgColor = style({
  prop: 'bg',
  cssProperty: 'backgroundColor',
  key: 'colors'
})

export const color = compose(textColor, bgColor)
// <Box color='tomato' bg='black' />

Rational of Breaking Changes
Removal of responsiveStyle
Many people were confused as to why only some style functions accepted responsive arrays as values.
The new style function handles arrays like the current releases responsiveStyle and is faster than
both the current style and responsiveStyle utilities.
Removal of complexStyle
The name of this utility wasn't great, and the usage of boolean props for enumerable values is generally not a good idea.
The new variant utility works in the same way as the current complexStyle but without support for boolean props.
If there is a strong desire to keep the boolean props API,
please let me know in the comments.
Removal of pseudoStyle
The pseudoStyle API in the current release doesn't seem all that useful.
While it attempted to map some CSS properties to theme values, it didn't handle all use-cases and generally seemed more confusing than helpful.
If there is a strong desire for this utility to not be removed,
please let me know in the comments, and I can investigate a better way to incorporate it into the library.
An alternative to the current pseudoStyle could be to use the new variant style function to get pseudoclass styles from a theme.
// example of using `variant` for pseudoclasses
import { variant } from 'styled-system'
import styled from 'styled-components'

const theme = {
  hoverStyles: {
    primary: {
      '&:hover': {
        backgroundColor: 'blue'
      }
    },
    secondary: {
      '&:hover': {
        backgroundColor: 'gray'
      }
    }
  }
}

const hoverStyle = variant({
  prop: 'hover',
  key: 'hoverStyles'
})

const Button = styled.button([], hoverStyle)
// <Button hover='primary' />

Removal of numberToPx
While it is a convenient argument to have, the same thing can be achieved by using the util.px utility in the getter argument.
// old API
const fontSize = style({
  prop: 'fontSize',
  key: 'fontSizes',
  numberToPx: true
})

// new API
const fontSize = style({
  prop: 'fontSize',
  key: 'fontSizes',
  getter: util.px
})

Removal of util.media and util.break
These were used internally, but don't offer a ton of utility outside of the library.
Bundle size:
 PASS  dist/index.js: 1.33KB (gzip)
 PASS  dist/space.js: 1.46KB (gzip)
 PASS  dist/styles.js: 1.89KB (gzip)
 PASS  dist/util.js: 1.49KB (gzip)
 PASS  dist/variant.js: 387B (gzip)

Codecov Report

Merging #232 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #232   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           5      4    -1
  Lines         212    164   -48
=====================================
- Hits          212    164   -48

Impacted Files
Coverage Δ

src/util.js
100% <100%> (ø)
:arrow_up:

src/space.js
100% <100%> (ø)
:arrow_up:

src/styles.js
100% <100%> (ø)
:arrow_up:

src/variant.js
100% <100%> (ø)

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 18d6e63...a3be43d. Read the comment docs.

🎉 I'm so excited to use this! Thanks for your continued efforts, sir — component libraries would be a nightmare without Styled-system.
Changed

themeGet is now get

I'm curious about the rationale behind this. The themeGet name describes what it does perfectly, while get is generic. I understand that this change is likely due to the util's functionality having grown; however I'm also not clear on the new use case mentioned (that is, const value = get(obj, 'path.to.nested.value', 'fallbackValue'). Would love to hear the thinking behind this.
Under consideration

Should the getter argument be renamed to transformValue?

transformValue is approximately infinity% more clear to me than getter. Yes please!

Is the pseudoStyle utility something worth keeping?

I've yet to come across a situation where I'd want to set a pseudo style on an instance of a component as opposed to within the component definition. I'm sure there may be valid use cases for this, but it seems like over-configuration. I feel the reduction in API surface area is a greater benefit. For the same reason, I'm 100% behind removing the hover, focus, etc utility props.

Is the complex style boolean props feature worth keeping?

I generally feel like having two ways to refer to the same thing is just another opportunity for confusion (also for this reason, removing prop aliases feels like a good move). variant feels like exactly the right name to use, especially as <Button variant='primary' /> makes things pretty much impossible to not understand. The marginal added verbosity (over <Button primary />) is worth it for the sake of consistency and clarity.

Thanks for the thoughts/questions! As far as the get utility goes, I've essentially merged the two utility functions into one, where it checks the type of the first argument (https://github.com/jxnblk/styled-system/blob/next-v3/src/util.js#L25-L27). Currently, there is both a get and a themeGet.This might be less clear, but seems like a nice API. I could definitely change my mind on this one.
As for pseudoStyle, I think it's best to deprecate unless someone has a good reason to keep it around.
And for the complexStyle to variant change, I've also considered adding a separate booleanStyle function for cases where a boolean prop might make sense.

Thanks for the follow-up! I have a couple further thoughts on the get, but first: do you have an example of how you see it being used with an object reference (as opposed to the theme)?

I've decided to simplify the get function (since that seemed confusing). It now works exactly like the current themeGet utility. I'm still willing to consider a better name for it, and maybe it'll remain themeGet. It can be used like this:
const Button = styled.button`
  background-color: ${get('colors.blue')};
`

Maybe just theme but then it's less clear that it's a function.

I've reverted the get utility name to themeGet


Clean up some dialyzer warnings

Mostly this was just configuring dialyzer.  The jsx version update is to
clear a dialyzer crash that the old version caused.
Most of the remaining dialyzer warnings are related to the erlang lib.  This one led me to wonder if that code in parser_utils.ex is still used - maybe it can be deleted?  There is a test "nil nested fields get their default value" do in binary_text.exs that is commented out that may use some of this code.
parser_utils.ex:155: The call erlang:iolist_to_binary(iolist_struct@1::'ok' | {_,_}) breaks the contract (IoListOrBinary) -> binary() when IoListOrBinary :: iolist() | binary()

Hello, @dantswain! This is your first Pull Request that will be reviewed by Ebert, an automatic Code Review service. It will leave comments on this diff with potential issues and style violations found in the code as you push new commits. You can also see all the issues found on this Pull Request on its review page. Please check our documentation for more information.


How do I run this on Windows 10

I see people talk about a released binary, but how do you find it, run it?
I would assume an electron application would be cross platform.

You can find the .exe installer for Windows in the 'Releases' tab.
Sadly the developer didn't update the docs to include Windows installation.


0.9.1 to master 3076a8b

Upgrade to latest master:

What is needed to take this out of draft?

I looked at the grpc stuff in cosmos sdk and got my head around it.
We will have to migrate it all and test it, but piece by piece... it keeps changing and the stargate branch is mainly for in app IBC testing

Feel free to merge this


Readonly class requirement

Enhancement description
Add assertion/declaration for class to be readonly.
Suggested approach or solution
Same way as being final is determined now

https://github.com/carlosas/phpat/releases/tag/0.10.7 🚀

Thank you, very nice addition.


string replace regular expression error

The demo code:
str = "   hello   "
ret = str.replace / +$/, ''
alert ret
This will have the error:
Parse error on line 2: Unexpected ','
And after I change the second line to be:
ret = str.replace (/ +$/, '')
The error becomes : Parse error on line 2: Unexpected 'MATH'
And if change it to be:
ret = str.replace (new RegExp(" +$")), ''
It will be successful to execute

This is one dup issue of 607, sorry.