Skip to content

fix(mobile): follow the Android text size and keep content on screen at large sizes - #526

Open
yhabib wants to merge 18 commits into
mainfrom
fix/android-text-scale
Open

yhabib wants to merge 18 commits into
mainfrom
fix/android-text-scale

Conversation

@yhabib

@yhabib yhabib commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Motivation

Chrome on Android ignored the OS font size. The root stayed at 16px at 150% (Pixel 9 emulator, Chrome 155). The text-scale meta tag makes the root follow it (24px at 150%). Safari ignores the tag.

With the tag on, a check at 411px width found content past the right edge. At 130% it hit the theme toggle, a link button, and the neuron stats. At 200% it hit much more: proposal cards, "Go to voting", the neuron cards, big numbers, CTA labels, vote buttons, and settings switches. After the fixes, nothing goes past the edge at 100%, 130%, 150%, 180%, or 200% on the dashboard, neurons (with neurons), neuron detail, voting, proposals, proposal detail, settings, and the deposit, staking, and address book drawers. At 100%, button sizes match main at 411px and 1280px.

Changes

  • Added <meta name="text-scale" content="scale"> to index.html.
  • Switched Button sizes to min-h-* and let labels wrap.
  • Capped Badge, Skeleton, and tooltips at the available width, and let the CardHeader column shrink.
  • Stacked rows and grids by container width in rem when they do not fit: vote buttons, dialog error actions, neuron stats, vote tally, the monthly overview header, and the theme row.
  • Hid the theme labels and the advanced feature icons by container width in rem.
  • Applied wrap-anywhere to titles, big amounts, and settings text.

Screenshots

411px width with the Android font size at 200%. Before, the app ignores the setting.

Before After
Dashboard at 200% font size, before Dashboard at 200% font size, after
Proposals at 200% font size, before Proposals at 200% font size, after
Neurons at 200% font size, before Neurons at 200% font size, after
Settings at 200% font size, before Settings at 200% font size, after

Chrome on Android ignored the OS font size. The text-scale meta tag makes
the root font size follow it (24px at 150%).
Buttons wrap their label and use a minimum height. Badges stop at the
container width. A card header column can shrink below its content.
At 130% to 200% text size, some dashboard, proposal, and settings content
went past the right edge. Rows wrap, long words break, narrow grids stack,
and labels hide by container width in rem.
@yhabib
yhabib requested a review from a team as a code owner October 17, 2026 18:24
Copilot AI balanced review requested due to automatic review settings October 17, 2026 18:24
@zeropath-ai

zeropath-ai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

✅ No security or compliance issues detected. Reviewed everything up to eb9785f.

Security Overview
Detected Code Changes
Change Type Relevant files
Enhancement ► src/governance-app-frontend/src/common/components/Alert.tsx
    Modify layout/grid classes to be more responsive with min/max widths and wrap behavior
► src/governance-app-frontend/src/common/components/AmountInput.tsx
    Adjust container usage and responsive padding; hide ICP label on small screens
► src/governance-app-frontend/src/common/components/Card.tsx
    Adjust header layout to accommodate responsive wrap
► src/governance-app-frontend/src/common/components/EmptyActionState.tsx
    Add wrap-anywhere to title alignment
► src/governance-app-frontend/src/common/components/MutationDialog.tsx
    Make error phase container container-aware and adjust action layout for responsiveness
► src/governance-app-frontend/src/common/components/Skeleton.tsx
    Expand skeleton to full max width
► src/governance-app-frontend/src/common/components/Tooltip.tsx
    Use dynamic max width for tooltip content
► src/governance-app-frontend/src/common/components/badge/badgeVariants.tsx
    Allow max width for badges
► src/governance-app-frontend/src/common/components/button/buttonVariants.tsx
    Relax button sizing and min-height to improve responsiveness
► src/governance-app-frontend/src/features/account/components/AccountCard.tsx
    Wrap available balance line and adjust balance display for wrap
► src/governance-app-frontend/src/features/account/components/DepositICPModal.tsx
    Make QR code container responsive (max width)
Enhancement ► src/governance-app-frontend/src/features/addressBook/components/AddressBookCard.tsx
    Enable wrapping and reflow for address book items
► src/governance-app-frontend/src/features/addressBook/components/AddressBookModal.tsx
    Wrap content for smaller viewports
► src/governance-app-frontend/src/features/dashboard/components/ExecutiveSummaryCard.tsx
    Enable wrap behavior in layout grid and text blocks
► src/governance-app-frontend/src/features/dashboard/components/IcpPriceCard.tsx
    Allow wrapping of header area
► src/governance-app-frontend/src/features/dashboard/components/LockedSupplyBar.tsx
    Relax grid to multi-row; add word-break for labels; wrap total section
► src/governance-app-frontend/src/features/dashboard/components/SmartTitle.tsx
    Wrap title and subtitle text
► src/governance-app-frontend/src/features/dashboard/components/TotalAssetsCard.tsx
    Wrap assets text for long values
► src/governance-app-frontend/src/features/dashboard/components/TotalStakedCard.tsx
    Use container-aware CardContent; adjust grid to wrap on small viewports
► src/governance-app-frontend/src/features/proposals/components/ProposalDetailsVoting.tsx
    Make footer and content container responsive; toggle layout based on container
► src/governance-app-frontend/src/features/proposals/components/ProposalListItem.tsx
    Truncate long time and topic labels; adjust CardFooter layout for container awareness; make vote/actions area responsive
► src/governance-app-frontend/src/features/stakes/components/NeuronCard.tsx
    Add wrap behavior and responsive adjustments for staked amount display
► src/governance-app-frontend/src/features/stakes/components/StakedCard.tsx
    Make CardContent container-aware and enable responsive multi-column layout
► src/governance-app-frontend/src/features/stakes/components/summaryCards/AutomaticVotingCard.tsx
    Allow wrapping within card layout
► src/governance-app-frontend/src/features/stakes/components/summaryCards/CapitalCard.tsx
    Allow wrapping within card layout
► src/governance-app-frontend/src/features/stakes/components/summaryCards/EarningsCard.tsx
    Allow wrapping within card layout
► src/governance-app-frontend/src/features/stakes/components/summaryCards/EngagementCard.tsx
    Allow wrapping within card layout
► src/governance-app-frontend/src/features/userAccount/components/AdvancedFeaturesCard.tsx
    Wrap feature items and adjust icon visibility on smaller screens
► src/governance-app-frontend/src/features/userAccount/components/ThemeCard.tsx
    Make container-aware layout; adjust responsive toggle group and icons for narrower viewports
► src/governance-app-frontend/src/routes/_auth/neurons/index.tsx
    Adjust grid layout to support wrapping on smaller screens

@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

📊 Build Bundle Stats

The latest build generated the following assets:

dist/index.html                                           6.00 kB │ gzip:   1.71 kB
dist/assets/index-DrXJkmd-.css                          152.54 kB │ gzip:  24.46 kB
dist/assets/icpLedger-B78ugtmj.js                         0.23 kB │ gzip:   0.21 kB
dist/assets/Skeleton-DJ8dHm3a.js                          0.45 kB │ gzip:   0.33 kB
dist/assets/webhid-D0yio6wG.js                            0.53 kB │ gzip:   0.32 kB
dist/assets/useTvlValue-C9WdQjVG.js                       0.60 kB │ gzip:   0.41 kB
dist/assets/nnsDapp-C8tRuP9M.js                           0.68 kB │ gzip:   0.25 kB
dist/assets/SkeletonPageHeader-S3Vt6pkx.js                0.76 kB │ gzip:   0.47 kB
dist/assets/PageHeader-jXzaR6sL.js                        0.77 kB │ gzip:   0.45 kB
dist/assets/CertifiedBadge-c-5Gi3gF.js                    0.81 kB │ gzip:   0.48 kB
dist/assets/Separator-CrMCj-hB.js                         0.83 kB │ gzip:   0.50 kB
dist/assets/SkeletonStatCard-4QI8mudz.js                  0.91 kB │ gzip:   0.56 kB
dist/assets/useForecastPeriod-CeQsZo21.js                 1.01 kB │ gzip:   0.61 kB
dist/assets/utils-Gi3nCkKJ.js                             1.02 kB │ gzip:   0.59 kB
dist/assets/useIcpIndex-BVyKkmMR.js                       1.09 kB │ gzip:   0.64 kB
dist/assets/numbers-ljh6lz7V.js                           1.15 kB │ gzip:   0.57 kB
dist/assets/routeLoaders-Bn4rgCX_.js                      1.19 kB │ gzip:   0.55 kB
dist/assets/rolldown-runtime-DAXXjFlN.js                  1.26 kB │ gzip:   0.70 kB
dist/assets/advancedFeatures-AwrJjAEJ.js                  1.50 kB │ gzip:   0.74 kB
dist/assets/events-Cu8c9AT8.js                            1.68 kB │ gzip:   0.87 kB
dist/assets/SkeletonListRows-Bh92eL36.js                  1.69 kB │ gzip:   0.53 kB
dist/assets/useLedgerNeuronCall-CIxUI-G8.js               1.89 kB │ gzip:   1.03 kB
dist/assets/errors-C_oENL0S.js                            1.95 kB │ gzip:   0.97 kB
dist/assets/AnimatedNumber-Ny-KNlYn.js                    1.98 kB │ gzip:   1.13 kB
dist/assets/useCommandPaletteSettings-DH1XRY6q.js         2.13 kB │ gzip:   1.06 kB
dist/assets/addressBook-CMTyZztV.js                       2.14 kB │ gzip:   1.19 kB
dist/assets/useIcpIndexTransactionsPolling-B7Ku8Cq1.js    2.15 kB │ gzip:   1.15 kB
dist/assets/useGovernanceAppCanister-COpZau6k.js          2.41 kB │ gzip:   1.07 kB
dist/assets/useShortcutSettings-B189kN_1.js               2.41 kB │ gzip:   1.19 kB
dist/assets/useAddHotkey-BAohrCMe.js                      2.61 kB │ gzip:   1.34 kB
dist/assets/governance-CZfO9uhN.js                        2.99 kB │ gzip:   1.15 kB
dist/assets/ToggleGroup-CRbjYfZx.js                       3.09 kB │ gzip:   1.41 kB
dist/assets/useClaimPendingDeviceStakes-DScGkehu.js       3.12 kB │ gzip:   1.43 kB
dist/assets/SkeletonText-dMNyTbvj.js                      3.74 kB │ gzip:   1.30 kB
dist/assets/useAccounts-Bw9Vizub.js                       4.96 kB │ gzip:   2.21 kB
dist/assets/tickers-KS1Nt-GW.js                           6.54 kB │ gzip:   2.73 kB
dist/assets/useNowInSeconds-DAD6uOuU.js                   7.12 kB │ gzip:   3.04 kB
dist/assets/DeviceActionDetail-CKjbIuld.js                8.50 kB │ gzip:   3.05 kB
dist/assets/TopicFollowingAccordion-PQ-tB0G6.js           8.55 kB │ gzip:   3.41 kB
dist/assets/AlertDialog-G0IcsVed.js                       8.99 kB │ gzip:   3.16 kB
dist/assets/routes-DkLrCDQl.js                            9.16 kB │ gzip:   3.15 kB
dist/assets/ledgerIdentity-CbGbEww2.js                   10.16 kB │ gzip:   3.70 kB
dist/assets/MutationDialog-BFwCQSQ-.js                   11.60 kB │ gzip:   4.03 kB
dist/assets/spamFilter-DfB0_S9e.js                       11.77 kB │ gzip:   5.02 kB
dist/assets/ResponsiveDialog-E0r5eR3g.js                 14.56 kB │ gzip:   4.07 kB
dist/assets/_id-BZ0fSQte.js                              16.82 kB │ gzip:   5.38 kB
dist/assets/AmountInput-DGl_ZSZk.js                      16.91 kB │ gzip:   6.76 kB
dist/assets/_auth-CzGInIcL.js                            22.49 kB │ gzip:   8.30 kB
dist/assets/HideBalancesToggle-BQSDAE_X.js               23.03 kB │ gzip:   8.60 kB
dist/assets/vendor-buffer-EX-AqChq.js                    26.95 kB │ gzip:   8.18 kB
dist/assets/accounts-Cz1-5q1b.js                         32.02 kB │ gzip:  10.90 kB
dist/assets/SendICPButton-ZMuqpytB.js                    37.04 kB │ gzip:  13.52 kB
dist/assets/settings-Dyru6AaL.js                         54.96 kB │ gzip:  15.72 kB
dist/assets/dashboard-BC_85cMO.js                        58.34 kB │ gzip:  19.29 kB
dist/assets/index-Co1HZxYe.js                            62.79 kB │ gzip:  17.85 kB
dist/assets/voting-CN6Ono5u.js                           69.45 kB │ gzip:  21.72 kB
dist/assets/vendor-md-CGr8lPUw.js                        73.29 kB │ gzip:  19.98 kB
dist/assets/button-DGeHYA-7.js                           84.94 kB │ gzip:  28.37 kB
dist/assets/neurons-DZgxcCkj.js                          90.62 kB │ gzip:  27.14 kB
dist/assets/DisburseModal-ZiX91PKz.js                   101.49 kB │ gzip:  29.64 kB
dist/assets/vendor-tanstack-CLWhAzzP.js                 120.02 kB │ gzip:  39.23 kB
dist/assets/vendor-jsqr-CjiBYtfG.js                     129.98 kB │ gzip:  47.50 kB
dist/assets/vendor-core-react-bRRjyX41.js               189.81 kB │ gzip:  59.76 kB
dist/assets/vendor-recharts-D2GxZz0f.js                 280.26 kB │ gzip:  76.81 kB
dist/assets/vendor-ledger-Bz6feAP8.js                   403.26 kB │ gzip:  98.84 kB
dist/assets/vendor-icp-e5O_ocwA.js                      468.31 kB │ gzip: 117.84 kB
dist/assets/vendor-libs-CXEHHDQp.js                     581.21 kB │ gzip: 186.96 kB

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Theme controls can still overflow and become clipped when enlarged text shares a horizontal row with the description.

1 open issue
What changed in this PR

Improves Android text scaling and adapts frontend layouts to keep enlarged content on screen.

Changes:

  • Enables OS text scaling in supported Android browsers.
  • Makes buttons, labels, and large values wrap.
  • Adds container-based layouts for cards and controls.
File Description
src/​governance-app-frontend/​src/​routes/​_auth/​voting/​proposals/​$id/​index.tsx Truncates detail badges.
src/​governance-app-frontend/​src/​features/​userAccount/​components/​ThemeCard.tsx Makes theme labels container-responsive.
src/​governance-app-frontend/​src/​features/​userAccount/​components/​GovernanceAccessCard.tsx Allows help-link wrapping.
src/​governance-app-frontend/​src/​features/​userAccount/​components/​CommandPaletteCard.tsx Wraps settings text.
src/​governance-app-frontend/​src/​features/​userAccount/​components/​AdvancedFeaturesCard.tsx Wraps text and conditionally hides icons.
src/​governance-app-frontend/​src/​features/​userAccount/​components/​AccountIdCard.tsx Wraps heading and badge.
src/​governance-app-frontend/​src/​features/​stakes/​components/​StakedCard.tsx Adapts headers, values, and columns.
src/​governance-app-frontend/​src/​features/​proposals/​components/​ProposalListItem.tsx Truncates proposal badges.
src/​governance-app-frontend/​src/​features/​proposals/​components/​ProposalDetailsVoting.tsx Makes tally columns container-responsive.
src/​governance-app-frontend/​src/​features/​dashboard/​components/​TotalStakedCard.tsx Wraps large totals.
src/​governance-app-frontend/​src/​features/​dashboard/​components/​TotalAssetsCard.tsx Wraps asset values.
src/​governance-app-frontend/​src/​features/​dashboard/​components/​SmartTitle.tsx Wraps hero text.
src/​governance-app-frontend/​src/​features/​dashboard/​components/​ExecutiveSummaryCard.tsx Wraps header actions and summary text.
src/​governance-app-frontend/​src/​features/​addressBook/​components/​AddressBookModal.tsx Wraps empty-state text.
src/​governance-app-frontend/​src/​features/​addressBook/​components/​AddressBookCard.tsx Allows controls to wrap.
src/​governance-app-frontend/​src/​features/​account/​components/​AccountCard.tsx Wraps balance values.
src/​governance-app-frontend/​src/​common/​components/​Card.tsx Allows header columns to shrink.
src/​governance-app-frontend/​src/​common/​components/​button/​buttonVariants.tsx Uses minimum heights and wrapping labels.
src/​governance-app-frontend/​src/​common/​components/​badge/​badgeVariants.tsx Caps badge width.
src/​governance-app-frontend/​src/​common/​components/​AmountInput.tsx Preserves compact MAX button sizing.
src/​governance-app-frontend/​index.html Enables Android OS text scaling.

Review effort: Balanced

At md with large text, the description and the labeled toggles did not
fit in one row, and the toggles went past the card edge.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

App-wide text scaling and shared controls need remaining layout fixes and final browser-based accessibility verification.

2 open issues
1 resolved since last review

Review effort: Balanced

Comment thread src/governance-app-frontend/index.html Resolved
At 150% text size and above, the Yes and No buttons did not fit in one
row, and the icon-only theme toggles overflowed on a 320px screen.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Global text scaling still exposes loading and error-state overflow and needs final browser validation.

No open issues 🎉

2 previously missed issues

In code that hasn't changed since last review

Medium severity Stack recovery actions when the dialog width is insufficient

src/​governance-app-frontend/​index.html:7

At 320px width and 200% OS text size, MutationDialog.tsx:162–172 still places Close and Retry in a non-wrapping row. With a 32px root, the drawer has 256px available, but the two size="xl" buttons need 282px for padding, gap and borders alone, before their labels. Enabling scaling therefore makes the recovery actions overflow after a failed maturity stake or disbursement. Stack this shared error-action row when its available width is insufficient, using a rem-based container query like the voting rows.

Medium severity Constrain dashboard skeleton bars to the available width

src/​governance-app-frontend/​index.html:7

The dashboard loading placeholders remain wider than the screen with text scaling enabled. At 200% with a 32px root on a 411px screen, SmartTitle.tsx:52–53 renders w-72/w-64 bars at 576px/512px, but MainLayout provides only 347px and clips horizontal overflow. DashboardSkeleton.tsx:111 also has an uncapped w-64 bar. Add max-w-full to these placeholders so pending requests do not leave the loading UI extending beyond the visible area.

2 resolved since last review

Review effort: Balanced

… text sizes

Skeleton bars stop at the container width. The error actions in mutation
dialogs and the neurons summary grid stack when narrow. Neuron cards and
the neuron detail wrap long amounts. Tooltips stay within the viewport.
@yhabib

yhabib commented Oct 17, 2026

Copy link
Copy Markdown
Collaborator Author

Also handled the two previously missed ones, plus the neurons page and the neuron detail.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The address-book Open control remains clipped on narrow screens with enlarged text.

No open issues 🎉

1 previously missed issue

In code that hasn't changed since last review

Medium severity Allow action group to wrap to prevent Open control clipping

src/​governance-app-frontend/​src/​features/​addressBook/​components/​AddressBookCard.tsx:27

Wrapping the outer row does not let the count badge and Open button wrap: their inner action group still uses a non-wrapping flex row, and both controls have shrink-0. On narrow screens with enlarged text (such as 320px at 200%), this group exceeds the available width and the settings card's overflow-hidden clips the Open control. Add flex-wrap to the inner action group too.

Review effort: Balanced

Card headers, setting rows, the address book actions, alerts, and the
neuron detail rows wrap. The deposit QR code and the amount input shrink
to the available width.
@yhabib

yhabib commented Oct 17, 2026

Copy link
Copy Markdown
Collaborator Author

Done for the address book actions. Also went through every screen at 360px with 200% text. 320px is covered up to 150%, 320px at 200% is out of scope.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The sign-in card’s minimum width still causes horizontal overflow with enlarged text.

No open issues 🎉

1 previously missed issue

In code that hasn't changed since last review

Medium severity Sign-in card overflows horizontally at enlarged text scaling

src/​governance-app-frontend/​index.html:7

The global scaling opt-in also affects sign-in, where src/routes/index.tsx:254 still applies md:min-w-lg. At an 800px-wide viewport with a 32px root (200% text size), that minimum is 1024px, but the surrounding sm:p-12 leaves only 608px. The card therefore overflows horizontally before login. Remove md:min-w-lg (retaining w-full and md:max-w-lg) or constrain its minimum to the available width, and include the sign-in page in enlarged-text checks.

Review effort: Balanced

The sign-in card minimum width stops at the available width. The stats
row stacks when narrow, and the logo and hero title fit the screen.
@yhabib

yhabib commented Oct 17, 2026

Copy link
Copy Markdown
Collaborator Author

Done. Also checked the whole sign-in page from 320px to 1280px.

@yhabib
yhabib requested a balanced review from Copilot October 17, 2026 19:53
… fix/android-text-scale

# Conflicts:
#	src/governance-app-frontend/src/features/dashboard/components/ExecutiveSummaryCard.tsx
#	src/governance-app-frontend/src/features/stakes/components/NeuronCard.tsx

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Root text scaling and shared-control sizing changes warrant final human validation across devices, browsers, and text sizes.

No open issues 🎉

Review effort: Balanced

# Conflicts:
#	src/governance-app-frontend/src/features/stakes/components/summaryCards/AutomaticVotingCard.tsx
#	src/governance-app-frontend/src/features/stakes/components/summaryCards/EngagementCard.tsx
… fix/android-text-scale

# Conflicts:
#	src/governance-app-frontend/src/features/stakes/components/summaryCards/CapitalCard.tsx
#	src/governance-app-frontend/src/features/stakes/components/summaryCards/EarningsCard.tsx
#	src/governance-app-frontend/src/features/stakes/components/summaryCards/EngagementCard.tsx

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Shared sizing changes need final cross-browser visual validation, and the theme-control breakpoint still needs correction.

1 open issue

Review effort: Balanced

The labeled theme toggles need 18rem with their padding, icons, and gaps.
Below that they show icons only.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Application-wide sizing changes need final device-level validation, and a tooltip caller still bypasses the new width limit.

1 open issue
1 resolved since last review

Review effort: Balanced

The legend tooltip stops at the available width. Its labels and total row
wrap when the text is large.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Shared sizing changes need final cross-device validation, and narrow-screen login overflow remains unresolved.

No open issues 🎉

1 previously missed issue

In code that hasn't changed since last review

Medium severity Prevent oversized login button from overflowing narrow cards

src/​governance-app-frontend/​src/​routes/​index.tsx:255

At 200% text size (32px root) on a 320px viewport, this card has only 174px of inner width after page padding, card padding, and borders. The login button below still uses size="xxl": its horizontal padding and gap alone require 176px, before the logo or label. Allowing normal wrapping therefore cannot keep the sign-in content inside the card. Reduce the button padding in narrow containers and allow long label words to break.

1 resolved since last review

Review effort: Balanced

@yhabib

yhabib commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator Author

Not applicable. 320px at 200% is out of scope, the sign-in page fits at 360px with 200% text.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

App-wide text scaling and shared sizing changes warrant final human visual verification across browsers, viewport widths, and Android text sizes.

No open issues 🎉

Review effort: Balanced

…oid-text-scale

# Conflicts:
#	src/governance-app-frontend/src/features/stakes/components/StakedCard.tsx
… fix/android-text-scale

# Conflicts:
#	src/governance-app-frontend/src/features/userAccount/components/AdvancedFeaturesCard.tsx

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

App-wide text scaling and shared control sizing warrant final human validation of rendered layouts and interactions on Android.

No open issues 🎉

Review effort: Balanced

… fix/android-text-scale

# Conflicts:
#	src/governance-app-frontend/src/features/proposals/components/ProposalDetailsVoting.tsx
Copilot AI balanced review requested due to automatic review settings November 5, 2026 19:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The login button still overflows on a 320px phone at 200% Android text size because its padding and gap alone exceed the available width, requiring reduced horizontal padding in narrow containers.

1 open issue

Review effort: Balanced

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants