fix(api): prevent duplicate feed and search requests #213

Open
anomalist wants to merge 1 commits from address-duplicates into master
Owner

Build Architecture Guard PR Template

Change Level

  • Level: L1 / L2 / L3 (pick one)

Why: …

Scope & Impact

  • Files & platforms touched: …
  • Risk triggers (env / script flow / packaging / SW+WASM /
    Docker / signing): …
  • Mitigations/validation done: …

Commands Run (paste exact logs/snips)

  • Web: npm run build:web / :prod
  • Electron: npm run build:electron:dev / package step
  • Mobile: npm run build:android:test / iOS equivalent
  • Clean/auto-run impacted scripts

Artifacts

  • Names + sha256 of artifacts/installers:

Artifacts:

<name-1>  <sha256-1>
<name-2>  <sha256-2>

Docs

  • BUILDING.md updated (sections): …
  • Troubleshooting updated (if applicable)

Rollback

  • Verified steps (1–3 cmds) to restore previous behavior

L3 only

  • ADR link:

ADR: https://…

# Build Architecture Guard PR Template ## Change Level - [ ] Level: **L1** / **L2** / **L3** (pick one) **Why:** … ## Scope & Impact - [ ] Files & platforms touched: … - [ ] Risk triggers (env / script flow / packaging / SW+WASM / Docker / signing): … - [ ] Mitigations/validation done: … ## Commands Run (paste exact logs/snips) - [ ] Web: `npm run build:web` / `:prod` - [ ] Electron: `npm run build:electron:dev` / package step - [ ] Mobile: `npm run build:android:test` / iOS equivalent - [ ] Clean/auto-run impacted scripts ## Artifacts - [ ] Names + **sha256** of artifacts/installers: Artifacts: ```text <name-1> <sha256-1> <name-2> <sha256-2> ``` ## Docs - [ ] **BUILDING.md** updated (sections): … - [ ] Troubleshooting updated (if applicable) ## Rollback - [ ] Verified steps (1–3 cmds) to restore previous behavior ## L3 only - [ ] ADR link: ADR: https://…
anomalist added 1 commit 2025-10-29 12:11:57 +00:00
Add concurrency guards to prevent duplicate API requests when
methods are called multiple times before completion.

- HomeView.updateAllFeed(): guard against concurrent calls with
  retry count limit to prevent infinite recursion
- DiscoverView.searchAll(): guard initial searches while allowing
  concurrent pagination
- DiscoverView.searchStarred(): guard against concurrent calls

These changes prevent duplicate network requests while preserving
legitimate concurrent pagination behavior.
Checking for merge conflicts…
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin address-duplicates:address-duplicates
git checkout address-duplicates
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: trent_larson/crowd-funder-for-time-pwa#213