Skip to content

Conversation

@graycreate
Copy link
Member

@graycreate graycreate commented Oct 18, 2025

Summary

  • Add a small green dot (#52bf1c) to the left of the online user count text
  • Apply SwiftUI numeric animation when online count changes
  • Add smart 300ms delay before hiding refresh indicator when count updates
  • Improves visual indication of the online status in pull-to-refresh view

Changes

  • Modified HeadIndicatorView.swift:
    • Add green Circle (6x6pt) before the online count text
    • Implement animated number transitions with .contentTransition(.numericText()) (iOS 16+)
    • Track animated count state for smooth transitions
  • Modified UpdatableView.swift:
    • Track previous online count to detect changes
    • Add 300ms delay before hiding refresh indicator when count changes
    • Immediate hide when count stays the same

Features

  1. Visual Indicator: Green dot shows live/active online status
  2. Smooth Animations: Numbers transition smoothly instead of instant changes
  3. Smart Timing: Keeps indicator visible longer when data updates, allowing users to see the change

Test Plan

  • Build and install successfully
  • Pull to refresh on Feed page
  • Verify green dot appears next to online count
  • Verify numeric animation when count changes (iOS 16+)
  • Verify 300ms delay when count changes

🤖 Generated with Claude Code

Add a small green dot (#52bf1c) to the left of the online user count text in the pull-to-refresh indicator for better visual indication.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings October 18, 2025 05:22
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds a visual indicator to the online user count display by placing a small green dot next to the count text in the pull-to-refresh header view.

  • Adds a 6x6pt green circle (#52bf1c) as a status indicator
  • Implements HStack layout with 4pt spacing to position the dot before the text
  • Uses the existing Color.hex() utility for color specification

@github-actions
Copy link

Code Coverage Report ❌

Current coverage: 0%

Improvements to the online user count display:
1. Apply SwiftUI numericText animation when count changes (iOS 16+)
2. Add 300ms delay before hiding refresh indicator when count changes
3. Record previous count to detect changes during refresh

This creates a smoother UX by:
- Animating number transitions instead of instant changes
- Keeping the indicator visible longer when data updates
- Allowing users to see the count change before it disappears

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions bot added size/M and removed size/S labels Oct 18, 2025
@github-actions
Copy link

Code Coverage Report ❌

Current coverage: 0%

@graycreate graycreate merged commit 87e6bc4 into main Oct 18, 2025
6 checks passed
@graycreate graycreate deleted the feature/online-indicator-dot branch October 18, 2025 07:06
graycreate added a commit that referenced this pull request Oct 18, 2025
Problem:
- In v1.1.4, online count always shows as 0
- animatedOnlineCount is initialized to 0 as default
- When onlineStats changes from nil to a value, animatedOnlineCount stays at 0
- onChange only triggers when the value changes, not on initial load

Solution:
- Add onAppear to initialize animatedOnlineCount from stats.onlineCount
- Check if animatedOnlineCount is 0 and stats has valid count
- This ensures the count displays correctly on first load

Fixes the regression introduced in PR #57 where animated count feature
broke the initial display of online user count.
graycreate added a commit that referenced this pull request Oct 18, 2025
* fix: Initialize animatedOnlineCount when view appears with stats

Problem:
- In v1.1.4, online count always shows as 0
- animatedOnlineCount is initialized to 0 as default
- When onlineStats changes from nil to a value, animatedOnlineCount stays at 0
- onChange only triggers when the value changes, not on initial load

Solution:
- Add onAppear to initialize animatedOnlineCount from stats.onlineCount
- Check if animatedOnlineCount is 0 and stats has valid count
- This ensures the count displays correctly on first load

Fixes the regression introduced in PR #57 where animated count feature
broke the initial display of online user count.

* chore: Change default TestFlight release to internal testing

- Set distribute_external to false (internal testing only)
- Remove public beta groups and external tester notifications
- Skip beta review submission for internal builds
- Update workflow and lane descriptions
- Simplify upload_to_testflight parameters

This allows faster iteration and testing without requiring
Beta App Review approval for each build. Public beta releases
can still be done manually through App Store Connect when needed.

* feat: Add configurable release channel parameter

- Add 'release_channel' workflow input (internal/public_beta)
- Default to 'internal' for automatic releases
- Support 'public_beta' for manual workflow_dispatch
- Fastlane beta lane now accepts channel parameter
- Dynamically configure TestFlight distribution based on channel:
  - internal: No beta review, internal testers only
  - public_beta: Submit for beta review, notify external testers
- Update GitHub Release notes to reflect selected channel
- Update notification messages based on channel

Usage:
- Automatic (push to main): Uses 'internal' by default
- Manual workflow: Can select 'public_beta' in workflow dispatch UI
- Local fastlane: fastlane beta channel:public_beta
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants