Tweak the politeness params on agora so it takes longer to load everything but the screen is more usable, less likely to crash
Details
Details
- Reviewers
johnkuney - Group Reviewers
Restricted Project - Commits
- rABCd32dcc48d1dd: [Cashtab] Make agora screen more polite
Can npm test but really, just observe we are asking for a lot less and less often.
First implementation of these params was trying to keep the same loading behavior. Now that loading behavior is causing the app to fail most every time. So, slow things down.
We may tweak a couple times to get it right but this is also still an interim thing. We need proper lazy loading and search to solve the problem.
Diff Detail
Diff Detail
- Repository
- rABC Bitcoin ABC
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (cashtab-tests) failed.
Failed tests logs:
====== CashTab Unit Tests: <Agora /> We can see a rendered offer ====== Error: Unable to find an element with the text: Cachet. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible. Ignored nodes: comments, script, style <body> <div> <div class="sc-AnqlK jzmxJP" > <section aria-atomic="false" aria-label="Notifications Alt+T" aria-live="polite" aria-relevant="additions text" class="Toastify" /> <div class="sc-keFjpB kpRoMq" > <div class="sc-jWojfa dWofVP" > <div class="sc-dTLGrV hVKRQa" > <img alt="cashtab" class="sc-ivVeuv evHkvQ" src="test-file-stub" /> </div> <div class="sc-hdPSEv NMixZ" > <div class="sc-bqjOQT bJwGKq" > <select class="sc-jkCMRl iyQNVL" data-testid="wallet-select" id="wallets" name="wallets" > <option class="sc-crNyjn fdrrlO" value="Agora Partial Alpha" > Agora Partial Alpha </option> <option class="sc-crNyjn fdrrlO" value="Agora Partial Beta" > Agora Partial Beta </option> </select> <div class="sc-lcpuFF iSIgFF" > <button aria-label="Copy ecash:qqpmsv8yh8wwx3lnf92rrc0e6yq97j6zqs8av8vx8h" class="sc-cJSrbW kZNvLw" > <svg title="copy-paste" /> </button> <div class="sc-eerKOB cvXwwv" > <div class="sc-emmjRN bSWkUh" > <input checked="" class="sc-gFaPwZ iPJMNd" id="show-hide-balance" name="show-hide-balance" title="show-hide-balance" type="checkbox" /> <label class="sc-cpmLhU iUeRKn" for="show-hide-balance" > <span class="sc-dymIpo hGwQkt" data-off="" data-on="" /> <span class="sc-bnXvFD cpOMDW" /> </label> </div> </div> </div> </div> <div class="sc-cmIlrE dkSzlg" title="Wallet Info" > <div class="sc-cpHetk jEKVml" > <div class="sc-nrwXf bsChRe" title="Balance XEC" > 4,200.00 XEC </div> </div> <div class="sc-eitiEO lmPAIm" title="Balance in Local Currency" > $ 0.13 USD </div> <p class="sc-bhlBdH umymk" title="Price in Local Currency" > 1 XEC = 0.00003000 USD </p> </div> </div> <div class="sc-chAAoq bzVCQv" > <div class="sc-yZwTr birQAH" > <h2> Token Offers </h2> <div> Sort by: <div class="sc-hwcHae jnZGJM" title="Sort by TokenId" > TokenID </div> <div class="sc-hwcHae dfnqEL" disabled="" title="Sort by Offer Count" > Offers <div> <div class="sc-jzJRlG eQTBdJ" title="Loading OrderBook info..." > <div /> <div /> <div /> <div /> </div> </div> </div> <span class="sc-fjhmcy ceHQEJ" title="Toggle Active Offers" > My Listings </span> </div> </div> <div class="sc-gacfCG gpjPEu" title="Active Offers" > <div class="sc-cqPOvA jDuRbt" /> </div> </div> </div> <div class="sc-kVrTmx exLrES" > <div class="sc-fHSTwm jBcETl" > <img alt="cashtab" class="sc-ivVeuv evHkvQ" src="test-file-stub" /> </div> <button class="sc-jvEmr hqZIZM" > <span> Transactions </span> <svg /> </button> <button aria-label="Send Screen" class="sc-jvEmr hqZIZM" > <span> Send </span> <svg title="tx-sent" /> </button> <button aria-label="Tokens" class="sc-jvEmr hqZIZM" > <span> Tokens </span> <svg title="Tokens" /> </button> <button aria-label="Receive" class="sc-jvEmr hqZIZM" > <span> Receive </span> <svg title="tx-received" /> </button> <div class="sc-ekkqgF dcQEnG" title="Show Other Screens" > <span class="sc-iBmynh dPVmzy" /> <div class="sc-fKGOjr buAdOz" title="Other Screens" > <button class="sc-hycgNl bNyILw" > <p> Wallet Backup </p> <svg title="wallet" /> </button> <button class="sc-hycgNl bNyILw" > <p> Wallets </p> <svg title="wallets" /> </button> <button class="sc-hycgNl bNyILw" > <p> Listed NFTs </p> <svg title="NFT" /> </button> <button class="sc-hycgNl bNyILw" > <p> Agora </p> <svg title="Meme Agora" /> </button> <button class="sc-hycgNl bNyILw" > <p> Contacts </p> <svg title="Contact List" /> </button> <button class="sc-hycgNl bNyILw" > <p> Airdrop </p> <svg title="tx-airdrop" /> </button> <button class="sc-hycgNl bNyILw" > <p> Rewards </p> <svg title="Cashtab Rewards" /> </button> <button class="sc-hycgNl bNyILw" > <p> Sign & Verify </p> <svg class="sc-htpNat bPFBeM" /> </button> <button class="sc-hycgNl bNyILw" > <p> Settings </p> <svg title="settings" /> </button> </div> </div> </div> </div> </div> </div> </body> at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27) at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33 at Object.findByText (/work/cashtab/src/components/Agora/__tests__/index.test.js:256:26) ====== CashTab Unit Tests: <Agora /> We can see multiple offers, some we made, others we did not, and we can cancel an offer ====== Error: expect(element).not.toBeInTheDocument() expected document not to contain element, found <div class="sc-jzJRlG eQTBdJ" title="Loading OrderBook info..."><div /><div /><div /><div /></div> instead Ignored nodes: comments, script, style <html> <head /> <body> <div> <div class="sc-AnqlK jzmxJP" > <section aria-atomic="false" aria-label="Notifications Alt+T" aria-live="polite" aria-relevant="additions text" class="Toastify" /> <div class="sc-keFjpB kpRoMq" > <div class="sc-jWojfa dWofVP" > <div class="sc-dTLGrV hVKRQa" > <img alt="cashtab" class="sc-ivVeuv evHkvQ" src="test-file-stub" /> </div> <div class="sc-hdPSEv NMixZ" > <div class="sc-bqjOQT bJwGKq" > <select class="sc-jkCMRl iyQNVL" data-testid="wallet-select" id="wallets" name="wallets" > <option class="sc-crNyjn fdrrlO" value="Agora Partial Alpha" > Agora Partial Alpha </option> <option class="sc-crNyjn fdrrlO" value="Agora Partial Beta" > Agora Partial Beta </option> </select> <div class="sc-lcpuFF iSIgFF" > <button aria-label="Copy ecash:qqpmsv8yh8wwx3lnf92rrc0e6yq97j6zqs8av8vx8h" class="sc-cJSrbW kZNvLw" > <svg title="copy-paste" /> </button> <div class="sc-eerKOB cvXwwv" > <div class="sc-emmjRN bSWkUh" > <input checked="" class="sc-gFaPwZ iPJMNd" id="show-hide-balance" name="show-hide-balance" title="show-hide-balance" type="checkbox" /> <label class="sc-cpmLhU iUeRKn" for="show-hide-balance" > <span class="sc-dymIpo hGwQkt" data-off="" data-on="" /> <span class="sc-bnXvFD cpOMDW" /> </label> </div> </div> </div> </div> <div class="sc-cmIlrE dkSzlg" title="Wallet Info" > <div class="sc-cpHetk jEKVml" > <div class="sc-nrwXf bsChRe" title="Balance XEC" > 4,200.00 XEC </div> </div> <div class="sc-eitiEO lmPAIm" title="Balance in Local Currency" > $ 0.13 USD </div> <p class="sc-bhlBdH umymk" title="Price in Local Currency" > 1 XEC = 0.00003000 USD </p> </div> </div> <div class="sc-chAAoq bzVCQv" > <div class="sc-yZwTr birQAH" > <h2> Token Offers </h2> <div> Sort by: <div class="sc-hwcHae jnZGJM" title="Sort by TokenId" > TokenID </div> <div class="sc-hwcHae dfnqEL" disabled="" title="Sort by Offer Count" > Offers <div> <div class="sc-jzJRlG eQTBdJ" title="Loading OrderBook info..." > <div /> <div /> <div />... at toBeInTheDocument (/work/cashtab/src/components/Agora/__tests__/index.test.js:474:23) at runWithExpensiveErrorDiagnosticsDisabled (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:47:12) at checkCallback (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:124:77) at checkRealTimersCallback (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:118:16) at Timeout.task [as _onTimeout] (/work/cashtab/node_modules/jsdom/lib/jsdom/browser/Window.js:520:19) at listOnTimeout (node:internal/timers:581:17) at processTimers (node:internal/timers:519:7) ====== CashTab Unit Tests: <Agora /> We get expected error if we try to buy an offer we cannot afford ====== Error: Unable to find an element with the text: Cachet. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible. Ignored nodes: comments, script, style <body> <div> <div class="sc-AnqlK jzmxJP" > <section aria-atomic="false" aria-label="Notifications Alt+T" aria-live="polite" aria-relevant="additions text" class="Toastify" /> <div class="sc-keFjpB kpRoMq" > <div class="sc-jWojfa dWofVP" > <div class="sc-dTLGrV hVKRQa" > <img alt="cashtab" class="sc-ivVeuv evHkvQ" src="test-file-stub" /> </div> <div class="sc-hdPSEv NMixZ" > <div class="sc-bqjOQT bJwGKq" > <select class="sc-jkCMRl iyQNVL" data-testid="wallet-select" id="wallets" name="wallets" > <option class="sc-crNyjn fdrrlO" value="Agora Partial Alpha" > Agora Partial Alpha </option> <option class="sc-crNyjn fdrrlO" value="Agora Partial Beta" > Agora Partial Beta </option> </select> <div class="sc-lcpuFF iSIgFF" > <button aria-label="Copy ecash:qqpmsv8yh8wwx3lnf92rrc0e6yq97j6zqs8av8vx8h" class="sc-cJSrbW kZNvLw" > <svg title="copy-paste" /> </button> <div class="sc-eerKOB cvXwwv" > <div class="sc-emmjRN bSWkUh" > <input checked="" class="sc-gFaPwZ iPJMNd" id="show-hide-balance" name="show-hide-balance" title="show-hide-balance" type="checkbox" /> <label class="sc-cpmLhU iUeRKn" for="show-hide-balance" > <span class="sc-dymIpo hGwQkt" data-off="" data-on="" /> <span class="sc-bnXvFD cpOMDW" /> </label> </div> </div> </div> </div> <div class="sc-cmIlrE dkSzlg" title="Wallet Info" > <div class="sc-cpHetk jEKVml" > <div class="sc-nrwXf bsChRe" title="Balance XEC" > 0.00 XEC </div> </div> <div class="sc-eitiEO lmPAIm" title="Balance in Local Currency" > $ 0.00 USD </div> <p class="sc-bhlBdH umymk" title="Price in Local Currency" > 1 XEC = 0.00003000 USD </p> </div> </div> <div class="sc-chAAoq bzVCQv" > <div class="sc-yZwTr birQAH" > <h2> Token Offers </h2> <div> Sort by: <div class="sc-hwcHae jnZGJM" title="Sort by TokenId" > TokenID </div> <div class="sc-hwcHae dfnqEL" disabled="" title="Sort by Offer Count" > Offers <div> <div class="sc-jzJRlG eQTBdJ" title="Loading OrderBook info..." > <div /> <div /> <div /> <div /> </div> </div> </div> <span class="sc-fjhmcy ceHQEJ" title="Toggle Active Offers" > My Listings </span> </div> </div> <div class="sc-gacfCG gpjPEu" title="Active Offers" > <div class="sc-cqPOvA jDuRbt" /> </div> </div> </div> <div class="sc-kVrTmx exLrES" > <div class="sc-fHSTwm jBcETl" > <img alt="cashtab" class="sc-ivVeuv evHkvQ" src="test-file-stub" /> </div> <button class="sc-jvEmr hqZIZM" > <span> Transactions </span> <svg /> </button> <button aria-label="Send Screen" class="sc-jvEmr hqZIZM" > <span> Send </span> <svg title="tx-sent" /> </button> <button aria-label="Tokens" class="sc-jvEmr hqZIZM" > <span> Tokens </span> <svg title="Tokens" /> </button> <button aria-label="Receive" class="sc-jvEmr hqZIZM" > <span> Receive </span> <svg title="tx-received" /> </button> <div class="sc-ekkqgF dcQEnG" title="Show Other Screens" > <span class="sc-iBmynh dPVmzy" /> <div class="sc-fKGOjr buAdOz" title="Other Screens" > <button class="sc-hycgNl bNyILw" > <p> Wallet Backup </p> <svg title="wallet" /> </button> <button class="sc-hycgNl bNyILw" > <p> Wallets </p> <svg title="wallets" /> </button> <button class="sc-hycgNl bNyILw" > <p> Listed NFTs </p> <svg title="NFT" /> </button> <button class="sc-hycgNl bNyILw" > <p> Agora </p> <svg title="Meme Agora" /> </button> <button class="sc-hycgNl bNyILw" > <p> Contacts </p> <svg title="Contact List" /> </button> <button class="sc-hycgNl bNyILw" > <p> Airdrop </p> <svg title="tx-airdrop" /> </button> <button class="sc-hycgNl bNyILw" > <p> Rewards </p> <svg title="Cashtab Rewards" /> </button> <button class="sc-hycgNl bNyILw" > <p> Sign & Verify </p> <svg class="sc-htpNat bPFBeM" /> </button> <button class="sc-hycgNl bNyILw" > <p> Settings </p> <svg title="settings" /> </button> </div> </div> </div> </div> </div> </div> </body> at waitForWrapper (/work/cashtab/node_modules/@testing-library/dom/dist/wait-for.js:163:27) at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:86:33 at Object.findByText (/work/cashtab/src/components/Agora/__tests__/index.test.js:794:26)
Each failure log is accessible here:
CashTab Unit Tests: <Agora /> We can see a rendered offer
CashTab Unit Tests: <Agora /> We can see multiple offers, some we made, others we did not, and we can cancel an offer
CashTab Unit Tests: <Agora /> We get expected error if we try to buy an offer we cannot afford