Skip to content

fix: three findings from the refactor reviews - #391

Merged
PastaPastaPasta merged 1 commit into
stagingfrom
fix/reviewer-findings
Sep 8, 2026
Merged

fix: three findings from the refactor reviews#391
PastaPastaPasta merged 1 commit into
stagingfrom
fix/reviewer-findings

Conversation

@PastaPastaPasta

Copy link
Copy Markdown
Owner

Summary

Three pre-existing bugs the review agents surfaced while checking the refactor PRs. Each was present before the refactors; they are fixed here on their own so the refactors stayed behaviour-preserving.

  • Profile load-more refetched every repost. repostService.getUserReposts has no cursor and returns the full list, so the "load more reposts" branch on the profile page refetched everything and deduplicated it away on each page. The repost cursor state and that branch are removed; only original posts page. First-load behaviour is unchanged.
  • Payment scheme differed between optimistic save and reload. The profile save built scheme with uri.split(':')[0] + ':' while unifiedProfileService lower-cases it, so a Bitcoin: URI rendered with a different scheme until reload. One exported paymentUriScheme serves both.
  • Composer private-feed hook stuck in loading with no user. useComposePrivateFeed initialised loading to true and returned early without clearing it when there was no user, so the visibility selector stayed in its loading state. It now clears.

Part of the anti-slop cleanup series (after #370#390).

Test plan

  • npm run lint (zero warnings), tsc --noEmit, npm run test, npx knip, npm run build all green locally
  • CI
  • Manual: profile with >50 posts scrolls further without a duplicate repost fetch in the network tab; save a profile with a Bitcoin: tip address and see the same scheme icon before and after reload; open compose while logged out and see the selector settle

🤖 Generated with Claude Code

The profile's load-more path kept a repost cursor that nothing honoured: repostService.getUserReposts returns the whole list, so every second page refetched all reposts and deduplicated them away. Only original posts page now. The optimistic profile save built a payment scheme with split(':') while the service lower-cases it; one exported paymentUriScheme serves both, so a Bitcoin: URI shows the same scheme before and after reload. The composer's private-feed hook left loading true forever when the modal opened without a user.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying yappr-v2 with  Cloudflare Pages  Cloudflare Pages

Latest commit: 02499fa
Status:⚡️  Build in progress...

View logs

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: a45ec4e3-0a09-4085-8630-781df6e1682e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@PastaPastaPasta
PastaPastaPasta merged commit 04d4526 into staging Sep 8, 2026
8 of 9 checks passed
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.

1 participant