Skip to content

fix: improve home pull-to-refresh - #532

Open
pwltr wants to merge 1 commit into
masterfrom
fix/pull-to-refresh
Open

pwltr wants to merge 1 commit into
masterfrom
fix/pull-to-refresh

Conversation

@pwltr

@pwltr pwltr commented Apr 30, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #519
Closes #344

Description

  • Replaces the native Home refresh indicator with a stable custom indicator and reserved spacing, avoiding the layout jump when refresh completes.
  • Keeps wallet and activity synchronization on the existing refresh lifecycle.
  • Refreshes exchange rates on every eligible Home pull and keeps visible refresh feedback active until all requested work finishes, including when the wallet node is unavailable.
  • Adds a shared Home scroll identifier and an iOS journey for deterministic rate-refresh verification.

Out of Scope

Design

N/A — no design available.

Preview

Empty:

Simulator.Screen.Recording.-.iPhone.17.-.2026-09-24.at.21.55.15.mov

Populated:

Simulator.Screen.Recording.-.iPhone.17.-.2026-09-24.at.21.54.43.mov

QA Notes

Journeys

  • new pull-to-refresh-rates.xml — Home pull visibly refreshes exchange rates and records a successful update

Manual Tests

N/A

Automated Checks

  • ran simulator frame-difference analysis — refresh completion has no isolated layout jump

@pwltr pwltr changed the title WIP fix(ui): add a custom pull-to-refresh progress indicator Apr 30, 2026
@pwltr
pwltr force-pushed the fix/pull-to-refresh branch 2 times, most recently from ee3b578 to 9de80cf Compare September 24, 2026 19:52
@pwltr pwltr changed the title fix(ui): add a custom pull-to-refresh progress indicator fix: improve home pull-to-refresh Sep 24, 2026
@pwltr
pwltr marked this pull request as ready for review September 24, 2026 19:56
@greptile-apps

greptile-apps Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

The PR should not merge until the refresh-completion layout movement is addressed.

Findings

  1. P1 Refresh completion moves wallet content ▶
  2. P2 Rates-only pulls lack feedback ▶
  3. P2 Duplicate assertion depends on timing ▶

Summary

The PR replaces Home’s native pull-to-refresh control with a custom gesture observer and spinner, adds an independent exchange-rate refresh, and provides a log-based QA journey.

  • The conditional wallet padding still moves content when refresh completes.
  • Rates-only pulls have no visible refresh feedback, and the journey’s duplicate-fetch assertion is timing-dependent.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[Home pull ends] --> B{Wallet page?}
  B -- No --> Z[Ignore]
  B -- Yes --> C[Start rate-refresh task]
  C --> D{Wallet node running?}
  D -- No --> E[Return without spinner]
  D -- Yes --> F{Home refresh already active?}
  F -- Yes --> G[Skip wallet and activity sync]
  F -- No --> H[Show spinner and add wallet padding]
  H --> I[Sync wallet, then activity]
  I --> J[Hide spinner and remove padding]
Loading

Reviews (1) · Last reviewed commit: "fix: improve pull-to-refresh feedback"

Comment thread Bitkit/Views/HomeScreen.swift
Comment thread Bitkit/Views/HomeScreen.swift Outdated
Comment thread journeys/home/pull-to-refresh-rates.xml Outdated
@pwltr
pwltr force-pushed the fix/pull-to-refresh branch from 9de80cf to 165c525 Compare September 24, 2026 20:13
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.

Re-fetch currency rates on pull-to-refresh Design review notes for v2.2.0 (v60)

1 participant