Skip to content

fix(lib): defer unsafe updates and clean stale UI paths (#424) - #436

Open
Mekussdev wants to merge 6 commits into
conduit-protocol:mainfrom
Mekussdev:fix/424-427-update-notifications-theme-transactions
Open

fix(lib): defer unsafe updates and clean stale UI paths (#424)#436
Mekussdev wants to merge 6 commits into
conduit-protocol:mainfrom
Mekussdev:fix/424-427-update-notifications-theme-transactions

Conversation

@Mekussdev

Copy link
Copy Markdown

Summary

  • Defer service-worker reloads while tracked transactions are signing, broadcasting, or confirming.
  • Remove the unused custom NotificationCenter event/toast path.
  • Add a three-state ThemeToggle cycle so users can return to system theme mode.
  • Treat an unconfigured transaction-history indexer as a neutral coming-soon state with no retry button.

Checks

  • npm run typecheck
  • npm run lint
  • npm test
  • npm run build

Notes

  • Browser wallet flow was not manually exercised in this environment.
  • The transactions page visible change is the neutral coming-soon empty state for the known unconfigured indexer case.

Closes #424
Closes #425
Closes #426
Closes #427

Add regression coverage for service-worker reload safety, indexer availability errors, and the theme cycle so the assigned fixes are guarded before implementation.
Controller changes can arrive while a wallet operation is signing, broadcasting, or confirming. Check the transaction store before reloading and wait for active transactions to settle so update activation does not interrupt in-flight work.

Closes conduit-protocol#424
The app defaults to following the OS theme, but the navbar toggle previously pinned users to light or dark forever. Cycle dark back to system so users can return to follow-OS mode from the visible control.

Closes conduit-protocol#426
The app already mounts react-hot-toast and no code dispatches the custom notification event. Removing the unreferenced component and test avoids keeping a second notification system that never runs.

Closes conduit-protocol#425
A configured non-demo deploy currently has no transaction-history indexer, which is an expected unavailable state rather than a fetch failure. Use a typed availability error so the page can skip pointless retries and render a neutral coming-soon message while keeping real failures in the error path.

Closes conduit-protocol#427
Record the service-worker, notification, theme, and transaction-history fixes under Unreleased after typecheck, lint, tests, and build passed locally.
@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@Mekussdev Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Jaydbrown

Copy link
Copy Markdown
Contributor

This branch is ~45 files behind main; merging conflicts in lib/indexer.test.ts (both this branch and merged #342 work rewrote the mock setup and added different suites) and CHANGELOG.md, with a ~980-line divergence. Needs a rebase onto current main and a reconciliation of the indexer test file. Leaving open per instruction.

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