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