Refactor/36648 wallet enablement flow

Details

First draft PR for the refactor - it contains the changes for the first step of the flow - add your bank account.
Fixed Issues

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

Prerequisites: in settings/about/troubleshoot you should enable Use Staging Server if testing locally

Go to settings/wallet page
Web / mWeb: Type in '/add-bank-account-refactor' after the URL address
Mobile: run npx uri-scheme open new-expensify://settings/wallet/add-bank-account-refactor --android
or npx uri-scheme open new-expensify://settings/wallet/add-bank-account-refactor --ios
Desktop: type new-expensify://settings/wallet/add-bank-account-refactor in your browser's searchbar (with app opened) deep links are not working properly for nested routes
A page with "Add your bank account" is displayed (we agreed not to display the step indicator like in the VBBA flow for this step) and a button for connecting with Plaid is displayed (Manual setup will be added later)
Click Add bank account - verify that a new page is open with a step indicator and should show a loader.
Verify that after a moment Plaid sandbox appears
Choose Wells Fargo bank, login and choose account(s) to connect.
Verify that after connecting with Plaid you're redirected back to the flow and see the page titled "Choose your bank account."
Verify that all the accounts you've chosen on Plaid step are visible in the list (with checkboxes).
Verify that after clicking Next with no checkboxes checked error message s"You need to select an option to proceed." and "Please fix the errors in the form before continuing." and you're not navigated to the next step.
Verify that after clicking any checkbox it is checked and the last 4 digits of the account number appear under bank's name.
Hit next and go to the next step. Verify that you're navigated to the confirmation step.
Verify that 4 last digits of the bank account number and the bank's name are displayed in a pressable item (with a right arrow).
Verify that after clicking the pressable item you're redirected back to the page with bank account list to choose. Return to the last step by clicking Next.
Click confirm - you'll be redirected to settings/wallet/enable-payments page, the old flow will be displayed (when testing on web you will see an account added in the Bank Account section in the background)
Exit the flow, remove the bank account. Repeat going through the flow, but this time verify that the header back button navigates back to the previous page correctly.

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

Offline tests

QA Steps

Prerequisites: in settings/about/troubleshoot you should enable Use Staging Server if testing locally

Go to settings/wallet page
Web / mWeb: Type in '/add-bank-account-refactor' after the URL address
Mobile: run npx uri-scheme open new-expensify://settings/wallet/add-bank-account-refactor --android
or npx uri-scheme open new-expensify://settings/wallet/add-bank-account-refactor --ios
Desktop: type new-expensify://settings/wallet/add-bank-account-refactor in your browser's searchbar (with app opened)
A page with "Add your bank account" is displayed (we agreed not to display the step indicator like in the VBBA flow for this step) and a button for connecting with Plaid is displayed (Manual setup will be added later)
Click Add bank account - verify that a new page is open with a step indicator and should show a loader.
Verify that after a moment Plaid sandbox appears
Choose Wells Fargo bank, login and choose account(s) to connect.
Verify that after connecting with Plaid you're redirected back to the flow and see the page titled "Choose your bank account."
Verify that all the accounts you've chosen on Plaid step are visible in the list (with checkboxes).
Verify that after clicking Next with no checkboxes checked error message s"You need to select an option to proceed." and "Please fix the errors in the form before continuing." and you're not navigated to the next step.
Verify that after clicking any checkbox it is checked and the last 4 digits of the account number appear under bank's name.
Hit next and go to the next step. Verify that you're navigated to the confirmation step.
Verify that 4 last digits of the bank account number and the bank's name are displayed in a pressable item (with a right arrow).
Verify that after clicking the pressable item you're redirected back to the page with bank account list to choose. Return to the last step by clicking Next.
Click confirm - you'll be redirected to settings/wallet/enable-payments page, the old flow will be displayed (when testing on web you will see an account added in the Bank Account section in the background)
Exit the flow, remove the bank account. Repeat going through the flow, but this time verify that the header back button navigates back to the previous page correctly.

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

PR Author Checklist

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

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

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes

[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)

[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

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

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

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

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

[x] If the PR modifies 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 form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label 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 author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/28020445/b6dd1ebc-ccd8-4707-ad9c-f0ab95099a71

Android: mWeb Chrome

https://github.com/Expensify/App/assets/28020445/955db4e8-154b-465b-ac45-14b0bed7a0ac

iOS: Native

https://github.com/Expensify/App/assets/28020445/4e7b6c7e-9752-47cd-aa26-1a07220cdb18

iOS: mWeb Safari

https://github.com/Expensify/App/assets/28020445/e0b6c329-e5cb-46c0-8cfe-87ed9420d5aa

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/28020445/aab0fadc-701c-4c50-915d-fc7ddda608d9

MacOS: Desktop

weren't able to test desktop - deep links are not working for nested routes

Looks like the content slightly jumps between these two screens:

First
Second

Can you take a look at those and make sure they are both using the same exact padding/amrgin/spacing in both spots?

To clarify, the "Confirm your bank account" slightly moves downward.

@shawnborton ok, thanks! I will look at this

Making a build, @Pujan92 Will you be able to fux on reviewing this PR and dedicate more time to this so we can create a tight feedback loop with @koko57 and resolve any bugs found? If you do not have capacity for this, I can look for volunteers?

Making a build, @Pujan92 Will you be able to fux on reviewing this PR and dedicate more time to this

Yes @mountiny, I will review it in my early morning.

Bug: On plaid exit flow it turns to infinite loading, I think we should take user back to the method selection screen.
https://github.com/Expensify/App/assets/14358475/2a55e2ae-d355-43a7-88c9-d6840917b6f5

Bug: Post adding the account successfully we show the additional details screen at the moment in main branch, but with this PR it doesn't show automatically and the user needs to click again on Enable Wallet.
https://github.com/Expensify/App/assets/14358475/c6a42bee-79aa-4f83-886e-af1771f77558

Bug: Post adding the account successfully we show the additional details screen at the moment in main branch, but with this PR it doesn't show automatically and the user needs to click again on Enable Wallet.

@shawnborton @Pujan92 shouldn't we go straight to the Additional Details Steps in the new flow? Should we leave the flow and resume it after Enable Wallet is clicked like is it now and @Pujan92 mentions?

@shawnborton @Pujan92 shouldn't we go straight to the Additional Details Steps in the new flow? Should we leave the flow and resume it after Enable Wallet is clicked like is it now and @Pujan92 mentions?

@koko57 I am referring to the old flow here, there is an inconsistency between the main branch and this PR. I just added a recording of staging here to differentiate where the additional details screen opens automatically once we click on the Continue button in the success screen.

@Pujan92 ah, ok, now I get it - sorry for the misunderstanding. Thanks!

@Pujan92 all issues fixed

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

Any more feedback from the @Expensify/design team on this one? It wont be used in the App straight away so not big pressure

Design-wise this looks good to me!

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.61-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.61-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.61-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Invert deprecation for create_repo

Unfortunately, this breaking change was not handled correctly in transformers and would have broken all existing push_to_hub methods. This reverts the deprecation for this method only, and sets it until 0.10.0

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Correctly decide whether to mallsell or autosell

The script currently uses the wellStocked() function to decide whether to autosell or mall sell an item but to do that it needs to know the lowest allowed price in the mall which should be max(100, autosellPrice(item) * 2) but it previously calculated the min of these values instead. This commit changes it to max as it should be.
There's a wishlist request for this functionality that could be closed.

Thank you for fixing this logic!


Newly pushed packages that are vulnerable should be marked vulnerable on upload/push

Verified that DB is not affected without job running.
Needs to be re-verified once job is running and emitting vulnerabilities.

Having consulted GitHub engineering, this is a highly unlikely scenario and verification can be addressed if we have a specific case to pursue.

I've reviewed code per discussions and I think this is good to close. Verification in PROD will need to take place when this situation occurs for a customer.

For peace of mind I ran some test scenarios (both for adding a package within a vulnerable range and adding one just outside it) and this works fine. FYI @skofman1


Re-Opening public-sale after reveal

After you run Yarn Reveal, the collection will be successfully revealed on opensea with metadata.
However, if you go back to the smart-contract terminal and run  yarn public-sale-open --network truffle and process the request on the truffle dashboard. The minting-dapp published on a static host sever will in fact reopen the public sale. This is not the issue.
The issue is while people are able to mint and the money will be moved into the contract and transactions will be successful. The NFTs do NOT appear in that person's wallet or in the collection on Opensea. I waited 12 hours to make sure, and they never appeared on Opensea, or the minter's wallet!
This will most likely be an issue for those who do not sell out and still want to reveal their collection. As they might go back and try to re-open their minting. I will test leaving the public-sale-open and running yarn reveal. I believe this will work, but I have not verified.
Just a piece of caution, and a possible thing to look into.
Thanks,

Hi @granthughes1999,
thank you for your feedback, I think we have to go a bit deeper in this because it should not be possible. Revealing the collection doesn't affect the sale stages in any way (at least not that I'm aware of).
Would you please share the testing contract where this is happening? Having some example transaction hashes would also be useful.
Thank you very much!

Of course @liarco,
Contract Address Polyscan
0x8CCCF5Fd8b204e26c2EA75D53965437e7CF01014

Transaction Hash of 10 Successful Mints.
0x3975218055646d06fcd416036e01c414720320c58a9306d1e5dccc0701b999aa
These 10 Mints took place after I had run yarn reveal, and then re-run yarn public-sale-open --network truffle.
As you can see on the main polyscan page for this contract, the contract was revealed shown by this tx hash
0xab009a461955aab6c0a9773c1de99add43336626712510d0a5e27b7c4bad1002
But the 10 Mints do not show up here. Now that I'm looking the tx hash for running yarn public-sale-open is not shown in the contracts transaction history either..?
Thanks,

Thank you @granthughes1999 the information is great.
⚠ First of all, even if I don't think this has anything to do with this, I must say that you are using this app on Polygon and this is not supported yet. ⚠
I took a look at all the data you provided and I must say that I don't see anything strange (on the blockchain side).

What's also odd, is that I do not see the history for the yarn public-sale-open in my metmask account that I deployed the contract from. I also do not see the the transaction in my metamask for the 10 mints.

Some transactions might be missing on MetaMask (you can also reset your transaction history in MM settings). But all the transactions are visible on Polygonscan and that's what matters.

i was testing this feature specifically. also, the money was removed from my metamask account and was moved into the contract because I withdrew it directly after. the minting-dapp also updated to have +10 in the supply section.

This is also what the blockchain tells me, because I can see all of your transactions, including the call to the mint() function for your 10 tokens.
Here is the transaction: https://polygonscan.com/tx/0x3975218055646d06fcd416036e01c414720320c58a9306d1e5dccc0701b999aa
And here are your tokens: https://polygonscan.com/address/0x4fd899ba1384274817ab84417293dd4d569fc71a#tokentxnsErc721
They are there on the blockchain so everything seems to be working fine.

The minting-dapp shows 10 extra in the supply than is shown on the opensea collection.

But the minting DAPP is correct here, you can tell even from the "Contract" tab on Polygonscan where the numbers match with the DAPP. So it seems like OpenSea is not updating the supply for some reason.

There is no tx history in the contract for the yarn public-sale-open, yet I am still able to mint from the minting-dapp.. even though the last recorded tx on the contract was "set Paused"

This is also fine, because that TX is calling the setPaused() function, but it's passing false as argument (setPause(false)) so the contract is unpaused and the sale should be open.

Here is the minting-dapp if you want to take a look at it

To me the DAPP is working perfectly fine, all the data there matches Polygonscan. OpenSea, on the other hand, is not showing the correct data and I have no idea why to be honest...

For some extra info. Those 10 mints that are no where to be found, took place directly after I re-opened the public-sale after the reveal was done.

To my knowledge there shouldn't be any correlation between these two things.

Another strange thing that might be related to your issue:
You told me that the contract address is 0x8CCCF5Fd8b204e26c2EA75D53965437e7CF01014 and that the failing transaction is 0x3975218055646d06fcd416036e01c414720320c58a9306d1e5dccc0701b999aa, but the address that run this transaction is 0x4fd899ba1384274817ab84417293dd4d569fc71a and if I go to that profile on OpenSea I see that there is no token from that contract. Not even one...
All the tokens you see there are from other contract addresses, you can see it here:

Are you sure you added the collection properly on OpenSea? Because I suspect you forgot to do that for this specific contract and maybe you are jus confused because you see some tokens from previous tests...

@liarco,
well, I do apologize, I was apparently testing this too late at night. After re-checking my notes, this transaction is on the blockchain, I had the order of events wrong in my head. everything on the blockchain does add up perfectly to my notes. the issue is certainly on Openseas side, for not revealing the correct images. because there are 10 NFTs still missing on the collection.
To be clear there are Mints from this address 0x4fd899ba1384274817ab84417293dd4d569fc71a to this contract on Opensea, as can be seen here.
once again you solved my issues. karma for you will be large in life my good sir.
Thank you,

@granthughes1999 don't worry, that happens! I'm happy to hear everything seems to be working fine, now let's hope OpenSea will refresh the data about that collection... 😉


Change the format in the GUI

As mentioned in the previous meeting, I am proposing an improved version of the GUI that we currently have.
By using a left-right format, we will have more space to display the result of the input command (which saves us the trouble of having to scroll).
Here is the updated GUI that I am proposing:

In addition, the middle divider can be shifted horizontally, which allows the user to dynamically allocate more/less space to the person list/result display fields.

Codecov Report

Merging #97 (cebf86c) into master (9e8360f) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #97   +/-   ##
=========================================
  Coverage     52.52%   52.52%
  Complexity      414      414
=========================================
  Files            93       93
  Lines          1841     1841
  Branches        214      214
=========================================
  Hits            967      967
  Misses          791      791
  Partials         83       83

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 9e8360f...cebf86c. Read the comment docs.


Trees: use common Tuple checks in all tuples

Looks good, though could you add a test that benefits from this change?

reused this PR for a much smaller commit. moved the rest of the logic to #2948, with the actual change which uses it (and hence contains tests).


[BUG]

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[ ] My answer given in the checkbox above is a lie.

What problem did you encounter?
System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
This is the message i get when trying to open Roblox

Read the Wiki


BE-20 Leading dot for method invocation, layout cops

Ticket
This PR changes the DotPosition cop to enforce leading dots when calling methods.
It also introduces a bunch of auto-correctable layout cops in order to achieve consistency of indentation across our projects.

@alecspopa they're in https://github.com/nxt-insurance/nxt_cop/pull/87

I agree with @AkihikoITOH. Better to pick a standard and go with it then to debate what is better :)

Please do not pick Standard. 🙏  That tool drives me crazy. 😭
On a serious note, you know what happens when we arbitrarily pick rules? Lots of # disable comments. I agree that sometimes consensus is hard, but I think with a little flexibility, we can find some common ground for some things, and maybe ignore others.
Picking a random wide-reaching and inflexible set of rules won't make code style discussions magically stop. People will ignore the rules in some situations, and justify it somehow; we'll still end up having debates about some points; there will be frustrated devs who feel forced to code a certain way for no reason other than "The tool says so". I think it's better to accept a compromise after discussion.

Sorry, my comment needs some explanation.

Please do not pick Standard. 🙏 That tool drives me crazy. 😭

I did not mean pick standardrb thing and replace Rubocop. I mean pick some Rubocop config and go with it.
But I am not sure this Switzerland approach works, I think we need some North Korea approach when picking a configuration :))

Hmm, I don't know. I feel like it's two or three main rules we have disagreements on. We could leave those out and enable the rest. I'm willing to compromise where necessary. It's code style, not the end of the world 😀. I hate the multiline method call indentation that Aki prefers it but I can live with it (since I can replicate the other style by going to a new line).

We can all hate all the rules and it would still be worth.

Right.

Using something like standardrb is not so much about whether we like the rules or not, but it's a decision we can make to not waste any more time on code-style debate, not now, not in the future, as if it's set in stone. We can all hate all the rules and it would still be worth. Team changes. Some "weird" styles we see in older parts of our codebase were once preferred by those who worked on it back then. There will be new members with strong opinion about code styles who want to debate them all over again. Language changes too

I double this.
When 10+ people constantly work on the same codebase, it must be unified. It's not about personal preferences anymore.

Merging this without several cops that proved to be controversial. Here's the result of running rubocop -a app/ in the IS.


Switch to Polymer

Why Polymer:

cleaner code (?)
faster first paint (really fast)
less javascript :smile:
still thinking more reasons...

Video:
https://www.youtube.com/watch?v=A66vZ2nAJrU
First Part:
https://cheeaun.github.io/repokemon/
Second Part:
Repokemon with manifest.json (built with polymer)
note: i have no idea why some images are not showing

Closing this because:

I'm not planning to use a framework/library for this project. Just keep it simple, raw, vanilla, lesser files and lesser dependencies.
First paint speed is impressive, but I'm more concerned with bandwidth usage and memory usage for now. Relevant commit is fcc3e4ce7d1c8df30f6d2922b1f23f2ed78e6f76 and I'll continue doing this until I'm satisfied.

Anyway thanks!


First version

The first version of workplace integration.
Please take a look.
It will be a service to receive webhook from mapped service in github, current(issues, push on master and PR) and converts in a message to given workplace group.
Regards && Thank's

@katcipis

try spawn @katcipis with a nice meme.
https://gerarmemes.s3.us-east-2.amazonaws.com/memes/e55cb10e.jpg
If you have some time, can you please take a look?


Set 'nginx.ingress.kubernetes.io/whitelist-source-range' on created ingresses

/kind bug
What happened: For security reasons, our k8s installation includes an nginx-ingress-controller deployment configured to block all incoming external traffic, and whitelist only internal networks. This is accomplished including whitelist-source-range in the controller's configmap, which applies a global filter on all Ingresses managed by nginx-ingress-controller. By demand, only a few applications get their ingresses open to external traffic.
Ceritificates can only be issued using cert-manager when the global whitelist is removed from nginx-ingress-controller, and working around this does not appear to be simple.
A similar issue has been raised before (#498), including a PR (#444) that was refused for some reason. The issue was closed with the mention of ingressClass, but it's still unclear how this solves the issue, since it involves allowing cert-manager to modify an existing ingress -- presumably the ingress object created for your application.
For one thing, we use helm for all application deployments. This means, ingress objects created for all applications are managed by helm. They cannot be altered by a third party agent without breaking the deployment and causing chaos. Helm takes care to keep a hash of all deployed objects, and if that checksum does not match on the next deploy, modified objects will not be updated.
Keeping letsencrypt IP addresses in the whitelist does not seem like an elegant solution.
On the other hand, nginx-ingress-controller could be configured to accept all traffic. But keeping a separate whitelist for all deployments means a lot of duplicate configuration everywhere. This also seems innapropriate, especially at scale.
What you expected to happen: I expect a way to configure cert-manager, defining annotations on the ingress it creates to accept ACME challenges. I should be able to customize that ingress to fit the needs of our environment.
How to reproduce it (as minimally and precisely as possible): Testing should be straight forward. Deploy nginx-ingress-controller. Block all traffic using a global configmap and whitelist only a number of networks.
NOTE: The only drawback for testing it this way is that you have to be carefull not be rate limited by letsencrypt servers. Since local networks are allowed, cert-manager local check passes, and it will open the acme challenge for remote access... except letsencrypt will keep trying until you hit the rate limit.

Thanks for the request, and sorry for the delay getting back to you here.
Would it be sufficient if we added the nginx.ingress.kubernetes.io/whitelist-source-range: <IP_ADDRESS>/0 annotation to any ingress resource that cert-manager creates automatically, so that it is excluded from the denylist?
Allowing arbitrary annotations/labels is an API change, and creates a binding from how we represent certificates to how we actually solve them, something I am trying to avoid (in order to keep our API surface clean).
As you say however, cert-manager will not currently work well if a global denylist is configured, so we could/should do something here to work better. I know that kube-lego previously did this, which seemed to work well.
The area of code in question that'll need updating, is here: https://github.com/jetstack/cert-manager/blob/master/pkg/issuer/acme/http/ingress.go#L119-L123

Had not thought of that, but yes! This would work around it a very simple way.
I can't think of any use of LetsEncrypt that would require cert-manager's ingress to be black listed. It's needs external ingress by definition.
So, yes. I would appreciate it!
Best regards.

We are experiencing the same issue - is there any workaround for now?

For now, we literally added all letsencrypt IPs we could find to the whitelist.

<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>

We are aggregating logs remotely into Graylog, so we can more easily filter nginx logs to find them.

@munnerz The idea to overwrite global whitelist-source-range on ingress resources created by cert-manager is good for me.
Configuring annotations added to acme challenge ingresses in a configmap would be a great improvement.

I've updated the issue title and added some labels. If anyone wants to pick this up, feel free 😄

I can take a look at this during the week (if no one gets there before me). I got the dev env up yesterday and built the project so there should not be any rocket science left. Just some issues running the unit tests, but if I don't manage to solve that I will reach out on the dev slack channel.
Nothing special here @munnerz, just add the annotation to ingress resources created? This will be a good first issue for me to start browsing the project code and hopefully I can find some more good first issues to do later on.

Yep exactly @larsha 😄
Feel free to reach out if you run into issues getting set up!
You should only need Bazel (version 0.17.1 or later) + Docker installed to run/build/test the project. Once you have these two, unit tests can be run with make verify_unit 😄

Added PR here: https://github.com/jetstack/cert-manager/pull/1005


[SF] Missing Documentation on Transforms and Headers Labels

In the documentation here: https://github.com/microsoft/reverse-proxy/blob/master/docs/docfx/articles/service-fabric-int.md
There is no mention on how to specify Transforms and Headers labels. They require a special formatting which can be difficult to figure out without looking at the code/debugging.
For example to specify a transforms the label should be defined as follows: YARP.Routes.route1.Transforms.[0].RequestHeaderOriginalHost

Here's the commit that added transforms support and needs docs:
https://github.com/alnikola/reverse-proxy/commit/9147dec921a1d5b4c1924dbc1162c6f2112189c4

Here's the commit that added transforms support and needs docs:
https://github.com/alnikola/reverse-proxy/commit/9147dec921a1d5b4c1924dbc1162c6f2112189c4

Here's an example of MatchHeaders:
https://github.com/microsoft/reverse-proxy/blob/4ea8c83bcfdd410e5aae318cd969b529ba82412e/test/ReverseProxy.ServiceFabric.Tests/ServiceDiscovery/Util/LabelsParserTests.cs#L208

Here's an example of MatchHeaders:
https://github.com/microsoft/reverse-proxy/blob/4ea8c83bcfdd410e5aae318cd969b529ba82412e/test/ReverseProxy.ServiceFabric.Tests/ServiceDiscovery/Util/LabelsParserTests.cs#L208

SF work has moved to https://github.com/microsoft/service-fabric-yarp/


Enum names

Hi,
I'm trying to use these enums but can't figure out how they are exposed to MicroPython. I see that they are shown in  lv_mpy_example but can't make it work.
I've tried:
lv.scr_load_anim(scr, lv.SCR.LOAD.ANIM.MOVE.LEFT)
lv.scr_load_anim(scr, lv.ANIM.MOVE.LEFT)
lv.scr_load_anim(scr, lv.MOVE.LEFT)

Could you help me with that?

I've just fond it: lv.SCR_LOAD_ANIM.MOVE_LEFT


Conda build github action fails with no sapce left on device

conda.CondaMultiError: Error with archive /home/conda/feedstock_root/build_artifacts/pkg_cache/nlp-primitives-2.9.0-pyhd8ed1ab_1.tar.bz2.  You probably need to delete and re-download or re-create this file.  Message was:
failed with error: [Errno 28] No space left on device

not fixed

still not fixed sadly


plugin does not see the device

Checklist

[x ] I have read the common issues wiki page
[x ] I have checked to make sure the plugin is up to date

Describe the bug
[TuyaAccessory] Socket had a problem and will reconnect to room1 (ECONNRESET)
[TuyaAccessory] Sending first query to room1 (3.1)
[TuyaDiscovery] UDP from <IP_ADDRESS>:6667 0x000055aa...0x0000aa55
To Reproduce
Smart wifi Dimmer on another ip network, route added and available .
My config:
{
"platform": "TuyaLan",
"devices": [
{
"name": "room1",
"type": "SimpleDimmer",
"manufacturer": "Cotify",
"model": "Smart Dimmer Switch",
"id": "48002207bxxxxxxxxxxxxx",
"key": "6ac6xxxxxxxxxx",
"ip": "<IP_ADDRESS>"
}
]
}
ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=253 time=174 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=253 time=92.5 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=253 time=318 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=253 time=52.3 ms
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS:
iOS version:
Homehubs:
Node Version:
Plugin Version:
Accessory Type

Additional context
Add any other context about the problem here.

Are you able to provide you device's schema?

country house: tuye devices <- l2tp tunnel -> city apartment: server with homebridge

That's not the devices schema, its for the devices credentials. I would suggest using the web plugin if it supports dimmers, or the new update for the plugin. Please re-open if you are still facing this issue.


Migration guide option rename wrong

Found this issue because of #8094
Renaming of option from defaultFontColor to color to defaultFontColor to font.color

@LeeLenaleee I think this PR is not correct. The font.color has been removed in favor of color , see https://github.com/chartjs/Chart.js/pull/8066

Yes you are right @stockiNail thanks, should have also looked at the next docs because than it would have shown.


Sql fix.1

@jjaygbay1 - when @ianmsgit has changed this to 'ready to review' , please review this PR

IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


DRAFT documentation imported from code.kx.com prior to removal

⚠ Documentation due to leave code.kx.com by 2023.03.01
Imported documents from code.kx.com/q/ml/toolkit, converted to GFM.
TO DO: resolve duplication and any conflicts between docs and READMEs in code folders.

code.kx.com/q/interfaces now links to this repo for documentation


Can not create generic machine with error : The handle is invalid

About to run SSH command:
cat /etc/os-release
SSH cmd err, output: <nil>: NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

Couldn't set key CPE_NAME, no corresponding struct field found
Couldn't set key , no corresponding struct field found
Couldn't set key CENTOS_MANTISBT_PROJECT, no corresponding struct field found
Couldn't set key CENTOS_MANTISBT_PROJECT_VERSION, no corresponding struct field found
Couldn't set key REDHAT_SUPPORT_PRODUCT, no corresponding struct field found
Couldn't set key REDHAT_SUPPORT_PRODUCT_VERSION, no corresponding struct field found
Couldn't set key , no corresponding struct field found
found compatible host: centos
Provisioning with centos...
No storagedriver specified, using devicemapper

(devdocker) Calling .GetMachineName
(devdocker) Calling .GetSSHHostname
(devdocker) Calling .GetSSHPort
(devdocker) Calling .GetSSHKeyPath
(devdocker) Calling .GetSSHKeyPath
(devdocker) Calling .GetSSHUsername
SSH binary not found, using native Go implementation
&{{{<nil> 0 [] [] []} huzhifeng [0xc2bd70] <nil>  []} <IP_ADDRESS> 22 <nil>}
About to run SSH command:
sudo hostname devdocker && echo "devdocker" | sudo tee /etc/hostname
SSH cmd err, output: The handle is invalid.:
Error creating machine: Error running provisioning: Something went wrong running an SSH command!
command : sudo hostname devdocker && echo "devdocker" | sudo tee /etc/hostname
err     : The handle is invalid.
output  :

notifying bugsnag: [Error creating machine: Error running provisioning: Something went wrong running an SSH command!
command : sudo hostname devdocker && echo "devdocker" | sudo tee /etc/hostname
err     : The handle is invalid.
output  :
]
PS C:\Users\huzhifeng> docker-machine rm -f devdocker
About to remove devdocker

please report verions (like docker-machine, etc).

0.8.2 docker-machine, OS version Windows 10 14986 x64

target ("devdocker") OS? maybe stuff it uses is not within the image

The same issue.

Hey, I had exactly the same issue. The error said that the problem is on ssh command, I presume you to be on PowerShell as I was. But, I figure out that some ssh command did not work on it (for instance ssh-copy-id). I change my terminal for GitBash, and it's work. I hope it will be the same for you.
Docker version 1.13.1
docker-machine version 0.9.0
Window 10 Professionnel x64
OS VM : Centos7

Hi, I am also hit with the same error. When having ssh binary (from cygwin or mingw), it is not reproducible but without it I am getting this issue.
Docker version 1.12.6
docker-machine version 0.9.0
Windows 10 Pro x64
VM OS: CentOS 7
Any update on its resolution ?

This seems to fail in RedHatSSHCommander when the term size is retrieved.
For some reason:
	fd := int(os.Stdin.Fd())
	termWidth, termHeight, err := terminal.GetSize(fd)

will result in an invalid filehandle.
While doing
        ///fd := int(os.Stdin.Fd())
	termWidth := 80
	termHeight := 25

allows me to run the code 'without' issues.

Can someone explain what is being solved in RedHatSSHCommander (redhat.go) with:
func (sshCmder RedHatSSHCommander) SSHCommand(args string) (string, error) {
	client, err := drivers.GetSSHClientFromDriver(sshCmder.Driver)
	if err != nil {
		return "", err
	}

	log.Debugf("About to run SSH command:\n%s", args)

	// redhat needs "-t" for tty allocation on ssh therefore we check for the
	// external client and add as needed.
	// Note: CentOS 7.0 needs multiple "-tt" to force tty allocation when ssh has
	// no local tty.
	var output string
	switch c := client.(type) {
	case *ssh.ExternalClient:
		c.BaseArgs = append(c.BaseArgs, "-tt")
		output, err = c.Output(args)
	case *ssh.NativeClient:
		output, err = c.OutputWithPty(args)
	}

	log.Debugf("SSH cmd err, output: %v: %s", err, output)
	if err != nil {
		return "", fmt.Errorf(`something went wrong running an SSH command
command : %s
err     : %v
output  : %s`, args, err, output)
	}

	return output, nil
}

Replacing the implementation with:
package provision

import (
	"github.com/docker/machine/libmachine/drivers"
)

type RedHatSSHCommander struct {
	Driver drivers.Driver
}

func (sshCmder RedHatSSHCommander) SSHCommand(args string) (string, error) {
	return drivers.RunSSHCommandFromDriver(sshCmder.Driver, args)
}

works as expected...

This is fixed with:
	fd := int(os.Stdout.Fd())
	termWidth, termHeight, err := terminal.GetSize(fd)

Tested with https://github.com/minishift/minishift on both b2d and CentOS based images.


Improve the Cargo.toml

Just expand on the Cargo.toml a bit in preparation for release. Taken from #69. r+?

@homu r+

:pushpin: Commit f55833c has been approved by danburkert

:hourglass: Testing commit f55833c with merge fa601e9...

:sunny: Test successful - status


Honor SQLALCHEMY_RECORD_QUERIES even in debug mode. Fix #181

Thank you for your contribution, sorry this reply is so long in coming.  This dups #320.  Keeping that PR b/c it also updates the docs.


Moving mysql password to env variable

Moving mysql password to MYSQL_PWD variable.
It allows increase security level and prevent warning about cli password: mysqldump: [Warning] Using a password on the command line interface can be insecure.

An env var is way better than a (potentially logged!) command-line argument. So in general I'm +1 for this PR, as soon as it comes with appropiate documentation.
Moving forward, we should handle secrets in env vars via nowadays-standard https://github.com/bkeepers/dotenv so that they can still be loaded from a file that's never versioned.

So in general I'm +1 for this PR, as soon as it comes with appropiate documentation.

What kind of documentation did you mean?

What kind of documentation did you mean?

In the gh-pages branch, to go alongside this PR.


KAFKA-17264 add validation for new RPC input parameters

The new RPC requests, such as AddVoter#request, RemoveVoter#request, and UpdateVoter#request, should include validation for Listener and timeOut fields during processing.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@jsancio If you have time, could you please take a look? Thanks.


prow presubmit triggers the rerun of all existing PRs after adding conditions.

After modify presubmit config to add skip_if_changed,  all existing tasks for PR will be retriggered. A large number of triggers within a short period of time have caused the prow scheduling tasks to be very slow.

It's by prow's design, not a bug.


Alexa is going to Listening State by triggering "Alexa" wakeword from its own response.

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:

What is the expected behavior?

What behavior are you observing?

Provide the steps to reproduce the issue, if applicable:

Tell us about your environment:

What version of the AVS Device SDK are you using?
  <x.y.z>

Tell us what hardware you're using:

[ ] Desktop / Laptop
[ ] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[ ] Linux
[ ] MacOS
[ ] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Hi @dipalisb,
Can you provide more information on the issue? Which version of the SDK are you using, and have you been able to reproduce this in the latest version of the SDK? Can you also attach any applicable logs?

Closing this as it's a duplicate of https://github.com/alexa/avs-device-sdk/issues/1590.


[Bug] The read-only instances crashed while running the 17th query of TPC-H on POLARDB 11.9 primary instance .

This bug can be reproduced over time and time again.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

set up one read-write instance and two read-only instances of POLARDB 11.9 PG .

docker containers informations:

docker run -itd --cap-add=SYS_PTRACE --privileged=true --name polardb_pg_rw --shm-size=32g --memory=64g --cpus=16 polardb/polardb_pg_binary:pfs
docker run -itd --cap-add=SYS_PTRACE --privileged=true --name polardb_pg_ro1 --shm-size=32g --memory=64g --cpus=16 polardb/polardb_pg_binary:pfs
docker run -itd --cap-add=SYS_PTRACE --privileged=true --name polardb_pg_ro2 --shm-size=32g --memory=64g --cpus=16 polardb/polardb_pg_binary:pfs
[root@sfx110008 cpuset]# docker ps
CONTAINER ID   IMAGE                           COMMAND             CREATED        STATUS          PORTS     NAMES
3fd5e70cb3b6   polardb/polardb_pg_binary:pfs   "/bin/sh -c bash"   23 hours ago   Up 23 minutes             polardb_pg_ro2
4f341c948888   polardb/polardb_pg_binary:pfs   "/bin/sh -c bash"   24 hours ago   Up 23 minutes             polardb_pg_ro1
ddf1d8d202f1   polardb/polardb_pg_binary:pfs   "/bin/sh -c bash"   27 hours ago   Up 23 minutes             polardb_pg_rw

polardb-pg postgres.conf

primary/postgresqll.conf
port=5432
polar_hostid=1
polar_enable_shared_storage_mode=on
polar_disk_name='nvme0n1p1'
polar_datadir='/nvme0n1p1/shared_data/'
polar_vfs.localfs_mode=off
shared_preload_libraries='$libdir/polar_vfs,$libdir/polar_worker'
polar_storage_cluster_name='disk'
logging_collector=on
log_line_prefix='%p\t%r\t%u\t%m\t'
log_directory='pg_log'
listen_addresses='*'
max_connections=1000
synchronous_standby_names='replica1'
shared_buffers = 50GB                   # min 128kB
maintenance_work_mem = 4GB              # min 1MB
bgwriter_delay = 10ms                   # 10-10000ms between rounds
synchronous_commit = off                # synchronization level;
checkpoint_timeout = 30min              # range 30s-1d
wal_level = replica                     # minimal, replica, or logical
max_wal_senders = 10                    # max number of walsender processes
max_wal_size = 64GB
min_wal_size = 16GB
checkpoint_completion_target = 0.9      # checkpoint target duration, 0.0 - 1.0
full_page_writes = on                   # recover from partial page writes
max_parallel_workers=64
work_mem = 100MB                                # min 64kB

replica1/postgresql.conf:
port=5433
polar_hostid=2
polar_enable_shared_storage_mode=on
polar_disk_name='nvme0n1p1'
polar_datadir='/nvme0n1p1/shared_data/'
polar_vfs.localfs_mode=off
shared_preload_libraries='$libdir/polar_vfs,$libdir/polar_worker'
polar_storage_cluster_name='disk'
logging_collector=on
log_line_prefix='%p\t%r\t%u\t%m\t'
log_directory='pg_log'
listen_addresses='*'
max_connections=1000

shared_buffers = 50GB                   # min 128kB
work_mem = 100MB                                # min 64kB

replica2/postgresql.conf
port=5433
polar_hostid=3
polar_enable_shared_storage_mode=on
polar_disk_name='nvme0n1p1'
polar_datadir='/nvme0n1p1/shared_data/'
polar_vfs.localfs_mode=off
shared_preload_libraries='$libdir/polar_vfs,$libdir/polar_worker'
polar_storage_cluster_name='disk'
logging_collector=on
log_line_prefix='%p\t%r\t%u\t%m\t'
log_directory='pg_log'
listen_addresses='*'
max_connections=1000
shared_buffers = 50GB                           # min 128kB

work_mem = 100MB                                # min 64kB

polardb pg px parameters

primary / replica1 /replica2:
alter system set polar_cluster_map='replica1|<IP_ADDRESS>|5433,replica2|<IP_ADDRESS>|5434';
alter system set polar_enable_px=on;
alter system set polar_px_enable_partition =true;
alter system set polar_px_optimizer_multilevel_partitioning = true;
alter system set polar_px_dop_per_node =32;
alter system set polar_px_max_workers_number=768;

select pg_reload_conf();

alter table supplier set (px_workers=500);
alter table region set (px_workers=500);
alter table partsupp set (px_workers=500);
alter table part set (px_workers=500);
alter table orders set (px_workers=500);
alter table nation set (px_workers=500);
alter table lineitem set (px_workers=500);
alter table customer set (px_workers=500);

set up TPC-H database

tpc-h scale : 100
build.sh:
pg_user=tpch
pg_passwd=scaleflux
pg_database=tpchdb
pg_host=<IP_ADDRESS>
pg_port=5432
data_scale=100
is_run=-1
test_case=18
clean=
option=""

database size is about 200GB.
pfs -C disk du -d 1 -a /nvme0n1p1/shared_data/base
204175488       /nvme0n1p1/shared_data/base/18513

run TPC-H query 17:

-- using<PHONE_NUMBER> as a seed to the RNG

select
        sum(l_extendedprice) / 7.0 as avg_yearly
from
        lineitem,
        part
where
        p_partkey = l_partkey
        and p_brand = 'Brand#44'
        and p_container = 'WRAP CASE'
        and l_quantity < (
                select
                        0.2 * avg(l_quantity)
                from
                        lineitem
                where
                        l_partkey = p_partkey
        );
--LIMIT -1

Expected behavior
A clear and concise description of what you expected to happen.
Run successfully and return the results.
Screenshots
If applicable, add screenshots to help explain your problem.

client error:

ro instance client query  error:

Environment (please complete the following information):

OS: [e.g. CentOS 7]

[root@sfx110008 cpuset]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

[root@sfx110008 cpuset]# docker version
Client: Docker Engine - Community
 Version:           23.0.1
 API version:       1.42
 Go version:        go1.19.5
 Git commit:        a5ee5b1
 Built:             Thu Feb  9 19:51:00 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          23.0.1
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.19.5
  Git commit:       bc3805a
  Built:            Thu Feb  9 19:48:42 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.16
  GitCommit:        31aa4358a36870b21a992d3ad2bef29e1d693bec
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

[root@sfx110008 cpuset]# docker images
REPOSITORY                  TAG       IMAGE ID       CREATED       SIZE
polardb/polardb_pg_binary   pfs       391354109ecc   2 weeks ago   2.03GB

[root@sfx110008 cpuset]# docker ps
CONTAINER ID   IMAGE                           COMMAND             CREATED        STATUS       PORTS     NAMES
3fd5e70cb3b6   polardb/polardb_pg_binary:pfs   "/bin/sh -c bash"   25 hours ago   Up 2 hours             polardb_pg_ro2
4f341c948888   polardb/polardb_pg_binary:pfs   "/bin/sh -c bash"   26 hours ago   Up 2 hours             polardb_pg_ro1
ddf1d8d202f1   polardb/polardb_pg_binary:pfs   "/bin/sh -c bash"   29 hours ago   Up 2 hours             polardb_pg_rw

···

 - Version [e.g. 22]

···
postgres@ddf1d8d202f1:~/primary/pg_log$ psql -p 5432 -c "select now(), version();"
Timing is on.
              now              |            version
-------------------------------+--------------------------------
 2023-02-16 15:17:56.836803+08 | PostgreSQL 11.9 (POLARDB 11.9)
(1 row)

Time: 7.215 ms

postgres@ddf1d8d202f1:~/primary/pg_log$ pfs
Usage: pfs [-H hostid] [-C|--cluster=clustername] [-t pfsd_timeout] <command> [options] pbdpaths
pfs has following commands
  help       show help info
  tree       list all files in this dir and its subdirs
  ls         list all direntries in this directory
  rmdir      remove an empty directory
  truncate   truncate file
  tail       read file tail incessantly
  fallocate  allocate block for file
  write      write file
  read       read file
  stat       show file info
  touch      create file
  chunk      chunk operations
  cp         copy file or dir
  du         display disk usage statistics
  dumpfs     dump pbd info or data
  dumple     dump log entries
  flushlog   flush log to pbd
  fscp       transfer pfs pbd data
  fstrim     trim filesystem
  info       show pfs meta info
  map        dump a file's block index
  mkdir      create dir
  growfs     grow filesystem
  mkfs       make filesystem
  rename     rename file
  rm         remove file or dir
  usedinfo   dump pbd info or data

pfs version: libpfs_version_("pfsd-build-desc-_-Tue Jan 31 22:56:28 CST 2023")

Additional context
Add any other context about the problem here.

client tpc-h queries logs.
the shell which run tpc-h queries:
polardb_pg_tpch_test.sh.txt

query 17 start at 2023-02-16 13:33:19, error at 2023-02-16 13:33:58 .
polardb_pg_tpch_test.sh.20230216131833.log
-- -polardb instances ( 1rw 2ro) error logs
polardb_pg_1rw2ro_instances_error_logs.tar.gz

@meiq4096 Thanks for your reporting.
As far as I know, we may meet OOM during TPC-H Q17 and Q18. You can try to close this GUC for these two queries:
set polar_px_optimizer_enable_hashagg=0;

@meiq4096 Thanks for your reporting.
As far as I know, we may meet OOM during TPC-H Q17 and Q18. You can try to close this GUC for these two queries:
set polar_px_optimizer_enable_hashagg=0;

It works. Thanks for your help.
tpchdb=> \i sqls/17.sql
      avg_yearly
-----------------------
 32372561.702857142857
(1 row)

Time: 106529.859 ms (01:46.530)
tpchdb=> show polar_px_optimizer_enable_hashagg;
 polar_px_optimizer_enable_hashagg
-----------------------------------
 off
(1 row)

Time: 0.211 ms


Use DeferredResult class instead of 'async' option

Get rid of this flag and delegate the asynchronous declaration to the models.

/test

Fixed! PTAL!

/test


Better Error Handling for Fake XHRs in the wrong state

When trying to answer a request that is not sent yet, or when trying to respond to a request with no headers set, sinon fails quietly.
This can cause bugs that are hard to track down. I'd propose throwing an Error or at least logging something in such a situation.

Sorry, discovered that sinon is already doing this and jQuery was catching the errors.


Add initial i.MX RT 1020 support

This adds basic support for i.MX RT 1020 chips.
It has been verified on the EVK as well as on a custom board design. Not in every possible module/pin configuration though.
Peripherals supported by this are:

LPI2C
LPSPI
LPUART

Clippy failure should be fixed, otherwise this looks good to me

The lpspi::Pins modification is a breaking change. But, it looks like we could rewrite https://github.com/imxrt-rs/imxrt-iomuxc/commit/799d0fb07dd955b35b43a8f3e18e43590d0ef95b by dropping the optional LPSPI daisies and the LPSPI3 implementations. We could then release this within the 0.2 series, making nearly all of the work available to existing users. I plan to try this approach unless someone disagrees.

It's a bit unfortunate for me personally, because LPSPI3 happens to be exactly the bus my own design is using. However, generally this sounds like a very sensible approach. I've taken the liberty to update the PR with changes to that effect.

Thanks for the update. 67a7bf6 applies cleanly into the 0.2 series. I'll release that within the next few days.
Just to clarify my previous comment: we will include the lpspi::Pins trait change and include support for your LPSPI3 implementation in the 0.3 release series. I pushed a re-write of 64374320ff473c18a3aa7928dfe5019bc9227c68 to include in this merge.
I have other minor, breaking changes that I'm considering throughout the imxrt-rs ecosystem. I expect I'll need a few weeks to play with ideas and make releases.

Sorry, I wasn't clear in my previous comment. We will include the lpspi::Pins trait change and include support for your LPSPI3 implementation in the 0.3 release series.

Oh, I did understand that. I just was confused what state you wanted master in, since there is no separate 0.2 branch (yet).
49f1fa189a66284e11b8c22beab9b49c28bfda68 should probably also remove the TODO comment I've added to SPI3.


[Dialog] Add support for custom headers and footers

The Dialog component wraps the children with two Pane's -- one that you can supply custom props to, and another that you cannot. Because of that second pane, you can't supply a custom header and footer via the body and still have those header/footer stick to the top/bottom of the Dialog (CMIIW!).
We can't just remove that Pane, since it would break the rendering behavior of children in a Dialog. As a compromise, this PR introduces a header and footer component that can be used to override the default header and footer.

Before
After

Scrolling doesn't work:
Scrolling works:

Updated this PR to be a non-breaking change -- it now introduces a header/footer prop.

@colinking -- can you share a screenshot of what the props table for Dialog looks like now? I changed a little bit how we resolve PropTypes in the documentation, so just want to make sure that it's accounted for

@akleiner2 here you go! lgtm


[DB] Port DB to MySQL

I'll fill in the reasons for this later

I'm sure this will be covered, but why not postgres? PG support for python seems to be much better from the python dev I've done.


Unable to resolve service for type 'Microsoft.AspNet.Cors.Core.ICorsService' while attempting to activate 'Microsoft.AspNet.Cors.CorsMiddleware'.

I'm trying to use the middleware but I'm getting the following exception.
System.InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNet.Cors.Core.ICorsService' while attempting to activate 'Microsoft.AspNet.Cors.CorsMiddleware'.
   at Microsoft.Framework.Internal.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider)
   at Microsoft.Framework.Internal.ActivatorUtilities.CreateInstance(IServiceProvider provider, Type instanceType, Object[] parameters)
   at Microsoft.AspNet.Builder.UseMiddlewareExtensions.<>c__DisplayClass2_0.<UseMiddleware>b__0(RequestDelegate next)
   at Microsoft.AspNet.Builder.Internal.ApplicationBuilder.Build()
   at Microsoft.AspNet.Hosting.Internal.HostingEngine.Start()
   at Microsoft.AspNet.Hosting.Program.Main(String[] args)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Framework.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider serviceProvider)
   at Microsoft.Framework.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args)
   at Microsoft.Framework.ApplicationHost.Program.Main(String[] args)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Framework.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider serviceProvider)
   at dnx.host.Bootstrapper.RunAsync(List`1 args, IRuntimeEnvironment env, FrameworkName targetFramework)
   at dnx.host.RuntimeBootstrapper.ExecuteAsync(String[] args, FrameworkName targetFramework)
   at dnx.host.RuntimeBootstrapper.Execute(String[] args, FrameworkName targetFramework)

Here is the code I'm using.
Note that I've tried multiple variations but nothing worked, I got the same exception.
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.ConfigureCors(co => co.AddPolicy("AllowAll", cp => cp.AllowAnyOrigin()));
		}

        public void Configure(IApplicationBuilder app)
        {
			app.UseFileServer(new FileServerOptions()
			{
				EnableDefaultFiles = true,
				EnableDirectoryBrowsing = true
			});

			app.UseCors("AllowAll");
		}
    }

Finally here is the project file.
{
	"webroot": "cdnroot",

	"dependencies": {
		"Microsoft.AspNet.Server.IIS": "1.0.0-beta6",
		"Microsoft.AspNet.Server.WebListener": "1.0.0-beta6",
		"Microsoft.AspNet.StaticFiles": "1.0.0-beta6",
		"Microsoft.AspNet.Cors": "1.0.0-beta6"
	},

	"commands": {
		"web": "Microsoft.AspNet.Hosting --config hosting.ini"
	},

	"frameworks": {
		"dnxcore50": { }
	},

	"publishExclude": [
		"node_modules",
		"bower_components",
		"**.xproj",
		"**.user",
		"**.vspscc"
	],
	"exclude": [
		"cdnroot",
		"node_modules",
		"bower_components"
	]
}

You currently need a call to services.AddCors() in addition to services.ConfigureCors(...). We're already planning on merging these two APIs to it's less redundant.


Shoot System

This issue is to create the Shoot System. When a player shoot this system is apply
You must create a new 'Projectile' entity which have a position (position of the player) and a vector of velocity (1, 0 because this projectile goes forward).
This new Entity Projectile has many Component :

Position
Velocity
Weight
Size
LifeTime
Damage
DamageRadius
Colidable

Shoot system is not a system is a function (check #84)


Add stenv.cc.cc.lib to fix loading shared libraries: libstdc++.so.6

Description of changes

Got the windmill executable building so it can execute without error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Things done
Add autoPatchelfIgnoreMissingDeps  and stdenv.cc.cc.lib to buildInputs

Built on platform(s)

[ x ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ x ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ x ] Fits CONTRIBUTING.md.

I have the same fix in another PR, i didnt need the autopatchelfhook, can i ask what you needed it for ?

Entirely possible I don't need that. Happy to remove my PR in favoir of
yours. Is there a way to signal boost and get one merged?
On Fri, 3 Nov 2023, 18:38 Yt, @.***> wrote:

I have the same fix in another PR, i didnt need the autopatchelfhook, can
i ask what you needed it for ?
—
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/265275#issuecomment-1792951545,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAVNVH4GERP6P4F7YDBYXLYCU227AVCNFSM6AAAAAA64XXRPSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJSHE2TCNJUGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

If you remove the autopatchelf stuff , im happy to merge yours, mine wont be ready for a while.
Would you mind updating the package as well if possible?

@happysalada I've made both of those changes. My plan ultimately is to add a flake.nix to windmill with a package and module.

Since the repo is moving quite fast, that makes sense.
You can take whatever you find useful in the module i made. Im not done testing though as i still run into the postgres error

@commandodev did you see my comments ?
If you are busy, I'm happy to take care of this in a separate PR, no worries, just let me know.

Additionally can the commit and PR title please be updated to match CONTRIBUTING.md, thanks

Comments all noted, I'll make those changes this afternoon 👌
On Tue, 7 Nov 2023, 11:14 j-k, @.***> wrote:

Additionally can the commit and PR title please be updated to match
CONTRIBUTING.md, thanks
—
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/265275#issuecomment-1798300978,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAVNVFZQXRCJYYTE3QOCI3YDIJYFAVCNFSM6AAAAAA64XXRPSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJYGMYDAOJXHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Oh i missed that.
That would mean most likely one commit that would be like
windmill: 0.188.1 -> 0.200.0; fix build
Add necessary dynamic library

Youll have to forgive me if the versions are not correct, im on my phone.

Just so you know, I'm waiting for a fix that already hit master to be released but will probably merge this after https://github.com/NixOS/nixpkgs/pull/268259

Should be fixed on master.


Feature/direct producer implementation

This PR is related to #84

Implementation of DirectProducer
Updated Buffered-, Benchmark- and NullProducer to use DirectProducer

Coverage decreased (-0.3%) to 63.835% when pulling 9bece4e176f176ff31534be5a843fda824b684c4 on feature/direct_producer_implementation into 5229cf64ab6738deabb91024182677fb5a0345fc on master.


Pot V2 contract

See https://potlock.org/better-pots
New features:

[x] Add tags on a Pot, perhaps also a pot_type field, to indicate to frontends which kind of Pot this is and how it should be interacted with
[ ] Allow payouts to be issued individually, include a memo
[ ] Allow owner to control matching pool / redistribute matching pool funds if they desire (are there any limitations for this?)
[ ] Add optional compliance_period_ms and compliance_end_ms (similar to cooldown period) as a way to get projects to complete required steps to get funds before they are forfeited/released/redistributed
[ ] Allow owner/admins to blacklist accounts (donors)
[ ] Allow owner/admins to blacklist projects, even after round is live or has ended (this may have no impact within the contract, but is an on-chain external indicator)

Bugfixes/Chores:

[ ] Remove versioning (not needed since contracts are locked and therefore can't be upgraded anyway, just increases code size and deployment cost)
[ ] Handle case where a payout fails so payout can be retried e.g. with new account (currently all_paid_out is set to true in admin_process_payouts and isn't reverted to false in the case of a payout failure, and this prevents admin_process_payouts from being run again)
[ ] Fix this bug - it saves the original transaction signer as the donor_id on the Donation record, which in the case of a DAO proposal will record the donor as the final account that approved the proposal and triggered the function call, not the DAO itself. We should have really saved env::predecessor_account_id() as donor_id in memory at the top of the function call stack and passed it through.
[ ] Don't allow any settings changes once pot is complete
[ ] Fix this net_amount bug
[ ] Return empty vec when no donations for donor, rather than unwrapping/panicking
[ ] Move this line above the Promise (currently all payouts that come into transfer_payout_callback have paid_at as None which is annoying for indexing)

Backlog:

[ ] Allow comment threads on applications
[ ] Options to require github, tg, website, deck, team members etc. for application

Summary
[Brief overview of the enhancement and why it is needed or desired]
Motivation
[More detailed explanation of the motivation for the enhancement, including any benefits it would provide]
Description
[Detailed description of the enhancement, including how it would work and any design considerations]
Alternatives
[Discussion of any alternative solutions that were considered and why the proposed solution is preferred]
Risks
[Identification and mitigation of any potential risks associated with the enhancement]
Acceptance Criteria
[List of criteria that must be met for the enhancement to be considered accepted]
Additional Information
[Any other relevant information, such as links to related issues or pull requests]

@codingshot if you have any list of items you want fixed/added in v2 of the Pot contract, can you add here? Thanks

Allow owner to control matching pool / redistribute matching pool funds if they desire (are there any limitations for this?)

i think still to just projects or refund account, so can't just send to wherver needs to be projects
payouts individually should alway allow set (mark as apid and read if person has been paid)


Allow calling scrollVertical with only the target

Hi,
I noticed that all options for the scrollVertical method of the service are optional but you need to pass an empty object as options.
This PR makes the opts default to an empty object, allowing us to call scrollVertical('target') instead of scrollVertical('target', {})

Seems sane to me

Thanks a lot for the addon by the way :+1: This is just a micro-contribution for an issue I ran into (and thought that other people might have as well)

Thanks, appreciate it! I don't have write on this repo so @jasonkriss will need to merge at his convenience. If you have any time to help us with #8 @corrspt that would be really awesome!

I agree with @blimmer. LGTM. Thanks a lot @corrspt!

@blimmer Just gave you write access btw. Seems silly that you wouldn't have it at this point.

Thanks @jasonkriss !


feat(window): expose a few more window-options

This adds a transparency-option to Window.
EDIT: I guess though, that this puts a transparency on everything, not only the "background-window" as you'd expect. 🤔
Would close #506

I'm not sure what to do about the transparency-flag. I think it makes sense to expose it for full opacity, but perhaps we should name it something else as to reserve it for pure background-transparency?

I'm not sure what to do about the transparency-flag. I think it makes sense to expose it for full opacity, but perhaps we should name it something else as to reserve it for pure background-transparency?

Since it's associated with the window, I don't think it''s a problem. Background transparency would instead be associated with painting I think.

I'm not sure what to do about the transparency-flag. I think it makes sense to expose it for full opacity, but perhaps we should name it something else as to reserve it for pure background-transparency?

Since it's associated with the window, I don't think it''s a problem. Background transparency would instead be associated with painting I think.

Thanks for reviewing and the suggested changes @glennsl!


remove text message in attachment sending

Added one comment. Is media common for both image and file? I don't remember exactly, but I think it's different. Please help take a check and confirm.

Added one comment. Is media common for both image and file? I don't remember exactly, but I think it's different. Please help take a check and confirm.


I can not write anything in terminal

Click button to open terminal window
Terminal window is opened
Cursor is always first line
I can not write anything

I'm having the same issue.

Uninstalled & installed ( again )
Attempted the apm install terminal-plus ( nothing )

All that shows up is the terminal with the blinking curosr.  Terminal isn't even connected

I'm also with this problem.

Atom version: 1.8
OS: Fedora 24

I am also having the same issue
OS: El captain 10.11.5
Atom version: 1.8

I opened up the console and it seems there's an error being triggered when I try to create a terminal - not sure why it's not popping up the bug reporter notification like atom usually does.
Module version mismatch. Expected 47, got 46. Error: Module version mismatch. Expected 47, got 46.

at Error (native)
    at process.module.(anonymous function) [as dlopen] (ATOM_SHELL_ASAR.js:159:20)
    at Object.Module._extensions..node (module.js:450:18)
    at Object.module.(anonymous function) [as .node] (ATOM_SHELL_ASAR.js:159:20)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/home/radix/.atom/packages/terminal-plus/node_modules/pty.js/lib/pty.js:17:9)
    at Module._compile (module.js:425:26)
    at Object.defineProperty.value [as .js] (/usr/share/atom/resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/home/radix/.atom/packages/terminal-plus/node_modules/pty.js/index.js:2:18)
    at Module._compile (module.js:425:26)
    at Object.defineProperty.value [as .js] (/usr/share/atom/resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/home/radix/.atom/packages/terminal-plus/lib/process.coffee:1:7)
    at Object.<anonymous> (/home/radix/.atom/packages/terminal-plus/lib/process.coffee:1:1)
    at Module._compile (module.js:425:26)
    at Object.defineProperty.value [as .coffee] (/usr/share/atom/resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)

Additionally,
Cannot read property 'bind' of null TypeError: Cannot read property 'bind' of null
    at process.<anonymous> (/usr/share/atom/resources/app.asar/src/task-bootstrap.js:82:23)
    at emitTwo (events.js:87:13)
    at process.emit (events.js:172:7)
    at handleMessage (internal/child_process.js:686:10)
    at Pipe.channel.onread (internal/child_process.js:440:11)

The same here too.
Cursor blinking, no prompt and typing doesn't echo in the terminal at all.
OSX Yosemite 10.10.5
Atom 1.8

Same here
Windows 10 pro
Atom 1.8
terminal-plus 0.14.5

Same here
Windows 10 pro
Atom 1.8
terminal-plus 0.14.5

I poked around and found another issue that said that the user couldn't type.
Basically, terminal-plus is no longer working (as you all know), and so here is a link to a forked version that does work. (At least for me).
Check out #241 for more details.

The platformio-atom-ide-terminal is functioning on my computer. :)

It would be nice to resolve this issue. I don't want to resort to a terminal that was built for a hacked-up atom... I'll compare where the two differ and see if I can PR some fixes maybe?

Same issue
ArchLinux (manjaro)
Atom 1.10.0-beta1
Latest version (i'm lazy)

@handicraftsman try https://github.com/platformio/platformio-atom-ide-terminal.

@ramonsantos Lel - same glitch

Same issue
Fedora release 21 (Twenty One)
Atom 1.10.2
terminal-plus 0.14.5


nodediscovery: Try to register node forever

Restarting the agent is very unlikely to help succeed so just keep on
restarting.

This change is

Coverage decreased (-0.01%) to 41.588% when pulling 4f1aaaa0a70548206ee27294424808ea2d38cd64 on pr/tgraf/avoid-nodediscovery-init-failure into 9765d3adffd1554793aeee123a80b23e17b5b6ed on master.

test-me-please


Package unusable due to access control

Describe the bug
I added this package to my Xcode project, and I am unable to use it because the View extension methods are not public.
To Reproduce
Steps to reproduce the behavior:

Add package to Xcode project
Import SwiftUITooltip into ContentView.swift
Attempt to invoke tooltip(...) method.
See compiler error.

Expected behavior
The methods should be accessible.

Will this be fixed?

Hey, I didn't have any time at all for this, but I'll try to fix it todat ;)

Hey @LilaQ @avi-screenovate ! It should work now :) At least it works for me :D Sorry for fixing this forever 😳

@bring-shrubbery

I've just started using this package (v1.0.2), and I still see this error. Would you be able to fix it?
Also is there an option to hide/show the tooltip? If not, would you be able to add that feature?

'DefaultTooltipConfig' initializer is inaccessible due to 'internal' protection level

@tobyloki Could you provide versions of xcode/macos you use?

I use XCode 12.5.1 and the Mac Mini 2020 with the M1 chip.

Ah, my bad, somehow I missed making the initializer itself public.

Try again with v1.0.3, should be working now :)

@tobyloki Tell me if there are still any issues ;)

I tried it out and it works now. Thanks. I did just have to fix one build error in TooltipConfig.swift by simply removing all the keyword public as shown in the below image, and then it built successfully.

Weird that I didn't get this error, but I'll remove those in a bit. Thanks for helping me out solving this issue!


Retire “Error in Booking” reason

This is a duplicate, so we should retire it.

 There seem to be two Error in booking cancellation reasons - we should remove one


Oauth not working on mobile with 2fa

Summary
Oauth not working on mobile with 2fa
Reproduction Steps

Logout Twitter on the web
Generate a link using the OAuth1UserHandler method
Follow this link in the browser
Enter the 2fa code and click log in.
We are transferred to application X, instead of being transferred to callback

Without 2fa all works correctly
Minimal Reproducible Example
async def get_oauth1_user_handler(request: Request):
    return tweepy.OAuth1UserHandler(
        TWITTER_CONSUMER_KEY,
        TWITTER_CONSUMER_SECRET,
        callback="http://localhost:8000/twitter_callback",
        #callback=str(request.url_for("twitter_callback"))
    )

Expected Results
I would expect to be taken to the callback after clicking authorisation, not to the Twitter app on the home page
Actual Results
It takes me to the home page to app X
Twitter API Access Plan
Free
Tweepy Version
Version: 4.14.0
Checklist

[X] I have searched for duplicate issues.
[ ] If applicable, I have shown the entire traceback.
[ ] If applicable, I have removed any visible credentials from my code and/or screenshots.

Additional Context
https://github.com/user-attachments/assets/445e9189-ee23-4622-bd4d-d4d1ebc71f55

I tested API v2, it doesn't work either. I think this is a bug on Twitter


RHEL and CentOS need a distinct template, set as default for their operaitng system

py2pack needs a distinct template for RHEL and CentOS, which have a distinct layout from default Fedora module names. In particular, the dependencies for python2 setuptools packages have different names in older RHEL and the BuildRequires needs to be set appropriately.

I can work around this with a more sophisticated fedora.spec file, which is needed anyway due to the python2 and python3 split.


Use-after-free in eventuals::grpc::Service::Register when registering a second service

The following code...
  auto path = DOMAIN_SOCKET_DIRECTORY / DOMAIN_SOCKET_FILENAME;

  std::string address("unix:" + path.string());

  ServerBuilder builder;
  builder.AddListeningPort(address, grpc::InsecureServerCredentials());

  // [...]

  // NOTE: ObjectStore is an eventuals-grpc generated service.
  auto service = ObjectStore::Instantiate(
      id_provider.Borrow(),
      peer_tracker.Borrow());
  builder.RegisterService(service.get());

  if (run_test_service) {
    LOG(WARNING) << "Running TESTONLY testing service.";
    // NOTE: ObjectStoreTesting is an eventuals-grpc generated service.
    auto test_service = ObjectStoreTesting::Instantiate();
    builder.RegisterService(test_service.get());
  } else {
    LOG(INFO) << "Running production services only.";
  }

  auto build = builder.BuildAndStart();

  if (!build.status.ok()) {
    LOG(FATAL) << "Failed to build and start server: "
               << build.status.error();
  }

... Crashes in builder.BuildAndStart() if run_test_service is true, but works if run_test_service is false.
Running with --config=asan I observe the following error during the crash:

==9330==ERROR: AddressSanitizer: heap-use-after-free on address 0x604000004d58 at pc 0x5591f64d8f72 bp 0x7ffdab8e0900 sp 0x7ffdab8e08f0
WRITE of size 8 at 0x604000004d58 thread T0
#0 0x5591f64d8f71 in eventuals::grpc::Service::Register(eventuals::grpc::Server*) external/com_github_3rdparty_eventuals_grpc/eventuals/grpc/server.h:59
#1 0x5591f64d8f71 in eventuals::grpc::Server::Server(std::vector<eventuals::grpc::Service*, std::allocatoreventuals::grpc::Service* >&&, std::unique_ptr<grpc::AsyncGenericService, std::default_deletegrpc::AsyncGenericService >&&, std::unique_ptr<grpc::Server, std::default_deletegrpc::Server >&&, std::vector<std::unique_ptr<grpc::ServerCompletionQueue, std::default_deletegrpc::ServerCompletionQueue >, std::allocator<std::unique_ptr<grpc::ServerCompletionQueue, std::default_deletegrpc::ServerCompletionQueue > > >&&, std::vector<std::thread, std::allocatorstd::thread >&&) external/com_github_3rdparty_eventuals_grpc/eventuals/grpc/server.cc:114
#2 0x5591f64e9eae in eventuals::grpc::ServerBuilder::BuildAndStart() external/com_github_3rdparty_eventuals_grpc/eventuals/grpc/server.cc:417
#3 0x5591f5c28f9a in main object-store/main.cc:102
#4 0x7fcd0ca090b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
#5 0x5591f5c265bd in _start (/home/vscode/.cache/dazel/respect/execroot/com_github_reboot_dev_respect/bazel-out/k8-fastbuild/bin/object-store/respect-object-store+0x2a25bd)
0x604000004d58 is located 8 bytes inside of 40-byte region [0x604000004d50,0x604000004d78)
freed by thread T0 here:
#0 0x7fcd0d078025 in operator delete(void*, unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x111025)
#1 0x5591f5d24ee7 in ObjectStoreTestingImpl::~ObjectStoreTestingImpl() object-store/object-store.cc:203
#2 0x5591f5c28e45 in std::unique_ptr<eventuals::grpc::Service, std::default_deleteeventuals::grpc::Service >::~unique_ptr() /usr/include/c++/9/bits/unique_ptr.h:81
#3 0x5591f5c28e45 in main object-store/main.cc:94
#4 0x7fcd0ca090b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
previously allocated by thread T0 here:
#0 0x7fcd0d076947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
#1 0x5591f5d237a1 in std::_MakeUniq::__single_object std::make_unique() /usr/include/c++/9/bits/unique_ptr.h:857
#2 0x5591f5d237a1 in respect::object_store::ObjectStoreTesting::Instantiate() object-store/object-store.cc:220
#3 0x5591f5c28d61 in main object-store/main.cc:94
#4 0x7fcd0ca090b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
SUMMARY: AddressSanitizer: heap-use-after-free external/com_github_3rdparty_eventuals_grpc/eventuals/grpc/server.h:59 in eventuals::grpc::Service::Register(eventuals::grpc::Server*)

More context of the code I'm using, for those with access to reboot-dev: this branch.

Closing as this does not appear to be an issue with eventuals-grpc.


Increase max timeout to 300 seconds

Lambda's maximum timeout is 300 seconds.  The max value that up allows is 25 seconds.  In my case, I want my lambda to be able to accept do some processing that can potentially take longer than 25 seconds.
This PR modifies the max timeout to 300 seconds to match lambda.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Unfortunately API Gateway's max timeout limits us

yea :( API Gateway is capped at 30s https://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html — thanks though! Hopefully in the near future we can merge haha

Well that's too bad - thanks for the reply!  I suppose this is another benefit of doing something like #540.


rename-fonts.py does not detect family name correctly

Hi,
I am having an issue using rename-fonts.py to add a suffix to fonts exported by Glyphs.
The script attempts to detect the family name by searching the most common name table indices in both Windows and Mac platforms. Failing that, it simply adds the suffix to the end of the font's full name (after Bold Italic, etc.)
However, it seems that the name table it receives from TTFont(input_name) does not contain the full name table - the Mac Roman entries are all missing and for the Windows English entries, only the first six records are present; the rest are also empty.
However, in order to extract just the family name, either Mac Roman #1 (1, 0, 1) or Windows Engl. #16 (3, 1033, 16) name records need to be parsed. Because these are missing, the script always adds the suffix to the very end of the font name, which is not the correct result.
I'm not quite sure why the complete name table isn't being extracted (have tried looking into the code, but to no avail.) Using ttx to output the XML does return the complete name table (as does DTL OTMaster), so the records are there. Therefore, I assume this is a bug.
For the meantime I have written a workaround, which is less stable (uses the hyphen character to try and guess where the family name ends). It would be great to fix this problem at the source. Thanks!

My bad. I seem to have been running an old version in the wrong directory. Is already fixed in the current commits.


when a user clicks the searchbar, and there's already text in there, the entire text is selected ready to be deleted

this is done, we're just waiting for merging into main branch in PR #30


ModuleNotFoundError: No module named 'packaging'

$ trello-to-deck .. ..
Traceback (most recent call last):
  File "/usr/local/bin/trello-to-deck", line 6, in <module>
    from trello_to_deck.deck import DeckAPI
  File "/usr/local/lib/python3.7/site-packages/trello_to_deck/deck.py", line 2, in <module>
    from packaging import version
ModuleNotFoundError: No module named 'packaging'

I added the dependency


Problems with installtion on NixOS (not a duplicate)

Describe the bug
I added hyprpanel.url = “github:Jas-SinghFSU/HyprPanel”; and nixpkgs.overlays = [ inputs.hyprpanel.overlay ]; to my flake.nix and pkgs.hyprpanel to my home.nix package list. The configuration builds without error, but I can't run ags because for some reason it's not installed.
If it is possible, I would like to install the package in the usual flakes way (via something like imports = [ inputs.hyprpanel.homeManagerModules.default ];) instead of using overlays, but I have tried all the common attributes and didn't get it working. Please help me to find the correct attributes/path to use.

flake.nix
{
  description = "NixOS configuration";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    home-manager.url = "github:nix-community/home-manager";
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
    ironbar.url = "github:JakeStanger/ironbar";
    hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
    catppuccin.url = "github:catppuccin/nix";
  };

  outputs = inputs@{ nixpkgs, home-manager, ... }: {
    nixosConfigurations = {
      nixos = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          ./configuration.nix
          home-manager.nixosModules.home-manager
          {
            home-manager.useGlobalPkgs = true;
            home-manager.useUserPackages = true;
            home-manager.users.tim = import ./home.nix;
            home-manager.backupFileExtension = "old";
            home-manager.extraSpecialArgs = { inherit inputs; };
            nixpkgs.overlays = [ inputs.hyprpanel.overlay ];
          }
        ];
      };
    };
  };
}

To Reproduce

Add  hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";  to inputs = { ... } in flake.nix
Add nixpkgs.overlays = [ inputs.hyprpanel.overlay ]; to the modules configuration in flake.nix
Add pkgs.hyprpanel to home.packages = [ ... ] in home.nix

Expected behavior
Bar runs with the ags command.
Desktop

Distribution: NixOS 4.11.20241009.5633bcf (Vicuna)
Window Manager: Hyprland

If I remove the overlay and add inputs.hyprpanel.packages.${pkgs.system}.default to my home.nix package list, I get

this error
error:
       … while calling the 'head' builtin

         at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/attrsets.nix:1575:11:

         1574|         || pred here (elemAt values 1) (head values) then
         1575|           head values
             |           ^
         1576|         else

       … while evaluating the attribute 'value'

         at /nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/lib/modules.nix:816:9:

          815|     in warnDeprecation opt //
          816|       { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          817|         inherit (res.defsFinal') highestPrio;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: The option `home-manager.users.tim.programs.hyprpanel' does not exist. Definition values:
       - In `/nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source/flake.nix':
           {
             enable = true;
           }


Can't load App store on desktop app

I can't seem to access the app store anymore, it's been going for a solid 3 months now.
I am always greeted by this page :

@AstroZelda that message would appear if you're still using the now defunct commercial version of the app. The app store works in the current release version on Github, which is v2.0.9 as of this writing.

Hello @jsavin
I am now on v2.0.9 as you suggested, and now I can't use Telegram nor Discord anymore...
But that is another subject 😛
Thank you, have a nice day

I can't load Discord either, @AstroZelda did you find a workaround?

@WillyReyno I... err, kinda x) I use another app now