with one click
debug
// Debug common issues in the vision-next Hive web app with known solutions and investigation patterns
// Debug common issues in the vision-next Hive web app with known solutions and investigation patterns
Add a new feature to the Ecency web app following established patterns
Add a new query to @ecency/sdk or the web app with React Query integration
Add a new blockchain mutation to @ecency/sdk and wire it up in the web app
Review code changes for bugs, patterns violations, and common pitfalls in the vision-next codebase
| name | debug |
| description | Debug common issues in the vision-next Hive web app with known solutions and investigation patterns |
| argument-hint | ["issue-description"] |
| disable-model-invocation | true |
Investigate and fix issues in the Ecency Vision-Next codebase. Start by identifying the category.
Symptoms: Post shows as deleted, 404, or loading forever
Investigation:
apps/web/src/app/(dynamicPages)/entry/[category]/[author]/[permlink]/ componentsentry-not-found-fallback.tsx — handles the "not found on primary node" flowpackages/sdk/src/modules/bridge/verify-on-alternate-node.ts — verifies post exists on other Hive API nodesKnown issues:
isVerifying guard must check hasTransitioned to prevent showing deleted screen after successful verificationverify-on-alternate-node must validate response.author === author && response.permlink === permlink — don't trust any truthy responseCONFIG.hiveClient.currentAddress before async operationsRPC node configuration: apps/web/public/public-nodes.json
Common leak sources found in this codebase:
| Hook/Component | Issue | Fix |
|---|---|---|
useIsMobile | Missing removeEventListener | Return cleanup from useEffect |
useCountdown | Missing clearInterval | Return cleanup from useEffect |
HiveMarketRateListener | Module-level let for interval | Use useRef instead |
useUploadTracker | setTimeout without cleanup | Store timeout ID, clear on unmount |
| React Query cache | No gcTime configured | Set explicit gcTime on QueryClient |
Investigation pattern:
addEventListener without matching removeEventListenersetInterval/setTimeout without cleanup in useEffect returnlet variables in React components/hooksgcTime/staleTimeAuth methods: key (direct), keychain (extension), hivesigner (OAuth), hiveauth (QR)
Investigation:
adapter.getLoginType() in web broadcast adapterAuthorityLevel in use-broadcast-mutation.tsapps/web/src/features/shared/auth-upgrade/Known issues:
/api/hs-token-refresh routeecency-auth-upgrade CustomEvent dispatch in web-broadcast-adapter.tsTwitter/X in-app browser:
Can't find variable: CONFIG — caused by Twitter widget scripts expecting global window.CONFIGapps/web/src/app/layout.tsx that sets window.CONFIG = window.CONFIG || {}Zoom positioning (medium-zoom):
img.complete && img.naturalHeight !== 0) before initializing medium-zoomfeatures/post-renderer/components/utils/imageZoomEnhancer.tsSymptoms: Runaway fetching, lost content on scroll back
Investigation:
getNextPageParam — must return undefined (not null) to stop paginationinitialPageParam type# Always rebuild after SDK changes
pnpm --filter @ecency/sdk build
# Or rebuild all packages
pnpm build:packages
The web app imports from packages/sdk/dist/, not source files.
app/(dynamicPages)/ for dynamic routes, features/ for feature modulescore/global-store/modules/, React Query cachepnpm test -- <relevant-test-file># Check for common issues
pnpm lint
pnpm typecheck
pnpm test
# Run specific test
pnpm --filter @ecency/web test -- path/to/test.spec.tsx
pnpm --filter @ecency/sdk test -- path/to/test.spec.ts
# Check bundle
pnpm --filter @ecency/sdk build