Page MenuHomePhabricator

[Cashtab] Fix airdrop tx render issue
ClosedPublic

Authored by bytesofman on Apr 18 2024, 23:02.

Details

Reviewers
emack
Group Reviewers
Restricted Project
Commits
rABCb544cbdd9137: [Cashtab] Fix airdrop tx render issue
Summary

Do not render entire tokenId in a link that is going to the tokenId. No one will read all 64 chars. Instead, abbreviate.

Add a break-all rule to prevent any overflow issues should they come up.

Test Plan

npm test

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Failed tests logs:

====== CashTab Unit Tests: <Tx /> Received airdrop with msg (legacy push) with no token info in cache ======
TestingLibraryElementError: Unable to find an element with the text: bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c. 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-bdVaJa jjgtxs"
    >
      <div
        class="sc-bwzfXH evareY"
      >
        <div
          class="sc-htpNat fTPTBn"
          type="Received"
        >
          <div
            class="sc-bxivhb cHJlww"
          >
            <svg
              title="tx-received"
            />
            <div
              class="sc-EHOje eTNtAZ"
            >
              <div
                class="sc-gzVnrw heeZCw"
              >
                <div
                  class="sc-bZQynM kOWhJU"
                >
                  Received
                   from
                  <a
                    class="sc-kGXeez fCnRQr"
                    href="https://explorer.e.cash/address/ecash:qp36z7k8xt7k4l5xnxeypg5mfqeyvvyduu04m37fwd"
                    rel="noreferrer"
                    target="_blank"
                  >
                    qp3...fwd
                  </a>
                </div>
                <div
                  class="sc-hwwEjo cQMDVj"
                >
                  <svg
                    class="sc-kPVwWT jkJnoM"
                    title="Finalized by Avalanche"
                    viewBox="0 0 52 52"
                    xmlns="http://www.w3.org/2000/svg"
                  >
                    <circle
                      class="sc-kfGgVZ eVBTzZ"
                      cx="26"
                      cy="26"
                      fill="none"
                      r="25"
                    />
                    <path
                      class="sc-esjQYD cnXDYD"
                      d="M14.1 27.2l7.1 7.2 16.7-16.8"
                      fill="none"
                    />
                  </svg>
                </div>
              </div>
              <div
                class="sc-htoDjs kcOqHg"
              >
                Oct 1, 2022, 23:36:08
              </div>
            </div>
          </div>
          <div
            class="sc-dnqmqq cGIJgt"
          >
            <div
              class="sc-iwsKbI bFYjcF"
            >
              5.69
               XEC
            </div>
            <div
              class="sc-gZMcBi duMjuZ"
            >
              $
              0.00
            </div>
          </div>
        </div>
        <div
          class="sc-kpOJdX kTGcaF"
        >
          <div
            class="sc-ckVGcZ duFkoQ"
          >
            <svg
              title="tx-airdrop"
            />
            <div
              class="sc-dxgOiQ cclswX"
            >
              Airdrop to holders of
               
              <a
                class="sc-jWBwVP fDrbnp"
                href="https://explorer.e.cash/tx/bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c"
                rel="noreferrer"
                target="_blank"
              >
                bdb...37c
              </a>
            </div>
          </div>
          <img
            alt="icon for bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c"
            height="32"
            src="https://icons.etokens.cash/32/bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c.png"
            width="32"
          />
          <div
            class="sc-jKJlTe itNDJR"
          >
            evc token service holders air drop      ❤          
          </div>
        </div>
      </div>
      <div
        class="sc-jTzLTM btsHzU"
      >
        <div
          class="sc-fjdhpX dnUlwb"
        >
          <div
            class="sc-jzJRlG gEyaXg"
          >
            Avalanche Finalized
          </div>
          <div
            class="sc-hwwEjo cQMDVj"
          >
            <svg
              class="sc-kPVwWT hxPyUc"
              title="Finalized by Avalanche"
              viewBox="0 0 52 52"
              xmlns="http://www.w3.org/2000/svg"
            >
              <circle
                class="sc-kfGgVZ eVBTzZ"
                cx="26"
                cy="26"
                fill="none"
                r="25"
              />
              <path
                class="sc-esjQYD cnXDYD"
                d="M14.1 27.2l7.1 7.2 16.7-16.8"
                fill="none"
              />
            </svg>
          </div>
        </div>
        <div
          class="sc-cSHVUG gDEcVa"
        >
          <div
            class="sc-fAjcbJ dKNdXN"
          >
            <button
              class="sc-kAzzGY jjfqUh"
            >
              <svg
                title="copy-paste"
              />
            </button>
          </div>
          <a
            class="sc-chPdSV fCIcLj"
            href="https://explorer.e.cash/tx/6e3baf279770c3ed84981c414f433e654cdc1b12df3024051f0f7c215a13dca9"
            rel="noreferrer"
            target="_blank"
          >
            <svg
              class="sc-brqgnP czEshA"
            />
          </a>
          <a
            class="sc-chPdSV fCIcLj"
            href="https://blockchair.com/ecash/transaction/6e3baf279770c3ed84981c414f433e654cdc1b12df3024051f0f7c215a13dca9.pdf"
            rel="noreferrer"
            target="_blank"
          >
            <svg
              class="sc-cMljjf hlUukk"
            />
          </a>
          <button
            class="sc-kAzzGY jjfqUh"
          >
            <svg
              title="add-contact"
            />
          </button>
        </div>
      </div>
    </div>
    ,
  </div>
</body>
    at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
    at Object.getByText (/work/cashtab/src/components/Home/Tx/__tests__/index.test.js:869:20)
    at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
    at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
    at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
    at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
    at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
    at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
    at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
    at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)

Each failure log is accessible here:
CashTab Unit Tests: <Tx /> Received airdrop with msg (legacy push) with no token info in cache

Failed tests logs:

====== CashTab Unit Tests: <Tx /> Received airdrop with msg (legacy push) with no token info in cache ======
TestingLibraryElementError: Unable to find an element with the text: bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c. 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-bdVaJa jjgtxs"
    >
      <div
        class="sc-bwzfXH evareY"
      >
        <div
          class="sc-htpNat fTPTBn"
          type="Received"
        >
          <div
            class="sc-bxivhb cHJlww"
          >
            <svg
              title="tx-received"
            />
            <div
              class="sc-EHOje eTNtAZ"
            >
              <div
                class="sc-gzVnrw heeZCw"
              >
                <div
                  class="sc-bZQynM kOWhJU"
                >
                  Received
                   from
                  <a
                    class="sc-kGXeez fCnRQr"
                    href="https://explorer.e.cash/address/ecash:qp36z7k8xt7k4l5xnxeypg5mfqeyvvyduu04m37fwd"
                    rel="noreferrer"
                    target="_blank"
                  >
                    qp3...fwd
                  </a>
                </div>
                <div
                  class="sc-hwwEjo cQMDVj"
                >
                  <svg
                    class="sc-kPVwWT jkJnoM"
                    title="Finalized by Avalanche"
                    viewBox="0 0 52 52"
                    xmlns="http://www.w3.org/2000/svg"
                  >
                    <circle
                      class="sc-kfGgVZ eVBTzZ"
                      cx="26"
                      cy="26"
                      fill="none"
                      r="25"
                    />
                    <path
                      class="sc-esjQYD cnXDYD"
                      d="M14.1 27.2l7.1 7.2 16.7-16.8"
                      fill="none"
                    />
                  </svg>
                </div>
              </div>
              <div
                class="sc-htoDjs kcOqHg"
              >
                Oct 1, 2022, 23:36:08
              </div>
            </div>
          </div>
          <div
            class="sc-dnqmqq cGIJgt"
          >
            <div
              class="sc-iwsKbI bFYjcF"
            >
              5.69
               XEC
            </div>
            <div
              class="sc-gZMcBi duMjuZ"
            >
              $
              0.00
            </div>
          </div>
        </div>
        <div
          class="sc-kpOJdX TQvxM"
        >
          <div
            class="sc-ckVGcZ duFkoQ"
          >
            <svg
              title="tx-airdrop"
            />
            <div
              class="sc-dxgOiQ cclswX"
            >
              Airdrop to holders of
               
              <a
                class="sc-jWBwVP fDrbnp"
                href="https://explorer.e.cash/tx/bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c"
                rel="noreferrer"
                target="_blank"
              >
                bdb...37c
              </a>
            </div>
          </div>
          <img
            alt="icon for bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c"
            height="32"
            src="https://icons.etokens.cash/32/bdb3b4215ca0622e0c4c07655522c376eaa891838a82f0217fa453bb0595a37c.png"
            width="32"
          />
          <div
            class="sc-jKJlTe itNDJR"
          >
            evc token service holders air drop      ❤          
          </div>
        </div>
      </div>
      <div
        class="sc-jTzLTM btsHzU"
      >
        <div
          class="sc-fjdhpX dnUlwb"
        >
          <div
            class="sc-jzJRlG gEyaXg"
          >
            Avalanche Finalized
          </div>
          <div
            class="sc-hwwEjo cQMDVj"
          >
            <svg
              class="sc-kPVwWT hxPyUc"
              title="Finalized by Avalanche"
              viewBox="0 0 52 52"
              xmlns="http://www.w3.org/2000/svg"
            >
              <circle
                class="sc-kfGgVZ eVBTzZ"
                cx="26"
                cy="26"
                fill="none"
                r="25"
              />
              <path
                class="sc-esjQYD cnXDYD"
                d="M14.1 27.2l7.1 7.2 16.7-16.8"
                fill="none"
              />
            </svg>
          </div>
        </div>
        <div
          class="sc-cSHVUG gDEcVa"
        >
          <div
            class="sc-fAjcbJ dKNdXN"
          >
            <button
              class="sc-kAzzGY jjfqUh"
            >
              <svg
                title="copy-paste"
              />
            </button>
          </div>
          <a
            class="sc-chPdSV fCIcLj"
            href="https://explorer.e.cash/tx/6e3baf279770c3ed84981c414f433e654cdc1b12df3024051f0f7c215a13dca9"
            rel="noreferrer"
            target="_blank"
          >
            <svg
              class="sc-brqgnP czEshA"
            />
          </a>
          <a
            class="sc-chPdSV fCIcLj"
            href="https://blockchair.com/ecash/transaction/6e3baf279770c3ed84981c414f433e654cdc1b12df3024051f0f7c215a13dca9.pdf"
            rel="noreferrer"
            target="_blank"
          >
            <svg
              class="sc-cMljjf hlUukk"
            />
          </a>
          <button
            class="sc-kAzzGY jjfqUh"
          >
            <svg
              title="add-contact"
            />
          </button>
        </div>
      </div>
    </div>
    ,
  </div>
</body>
    at Object.getElementError (/work/cashtab/node_modules/@testing-library/dom/dist/config.js:37:19)
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:76:38
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:52:17
    at /work/cashtab/node_modules/@testing-library/dom/dist/query-helpers.js:95:19
    at Object.getByText (/work/cashtab/src/components/Home/Tx/__tests__/index.test.js:869:20)
    at Promise.then.completed (/work/cashtab/node_modules/jest-circus/build/utils.js:298:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (/work/cashtab/node_modules/jest-circus/build/utils.js:231:10)
    at _callCircusTest (/work/cashtab/node_modules/jest-circus/build/run.js:316:40)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at _runTest (/work/cashtab/node_modules/jest-circus/build/run.js:252:3)
    at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:126:9)
    at _runTestsForDescribeBlock (/work/cashtab/node_modules/jest-circus/build/run.js:121:9)
    at run (/work/cashtab/node_modules/jest-circus/build/run.js:71:3)
    at runAndTransformResultsToJestFormat (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (/work/cashtab/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (/work/cashtab/node_modules/jest-runner/build/runTest.js:367:16)
    at runTest (/work/cashtab/node_modules/jest-runner/build/runTest.js:444:34)
    at Object.worker (/work/cashtab/node_modules/jest-runner/build/testWorker.js:106:12)

Each failure log is accessible here:
CashTab Unit Tests: <Tx /> Received airdrop with msg (legacy push) with no token info in cache

This revision is now accepted and ready to land.Apr 19 2024, 01:41
This revision was automatically updated to reflect the committed changes.