Skip to content

[codex] Add authenticated MyPayTag portal UI - #12

Open
KazanderDad wants to merge 4 commits into
devfrom
codex/5-user-portal-site
Open

[codex] Add authenticated MyPayTag portal UI#12
KazanderDad wants to merge 4 commits into
devfrom
codex/5-user-portal-site

Conversation

@KazanderDad

Copy link
Copy Markdown
Contributor

Summary

Validation

  • pnpm check:i18n passed locally during implementation.
  • pnpm typecheck passed locally during implementation.
  • pnpm lint passed locally during implementation.
  • pnpm build passed locally during implementation.
  • pnpm scan:browser-secrets passed locally during implementation.

Boundary Notes

  • Real staged smoke still depends on backend deployment and Vercel/Supabase env configuration tracked in the backend staging goal.

Orchestrator Lifecycle

worktree_path: /Users/botmaster/src/myPayTag/mypaytag-site-5-user-portal
branch: codex/5-user-portal-site
base_branch: dev
pr_number: pending
safe_to_remove_after_merge: true
backup_branches_to_retire: none

@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
my-pay-tag-site Ready Ready Preview, Comment Jul 21, 2026 7:29pm

Request Review

@KazanderDad
KazanderDad marked this pull request as ready for review July 21, 2026 18:04
@KazanderDad

Copy link
Copy Markdown
Contributor Author

@codex review

@KazanderDad

Copy link
Copy Markdown
Contributor Author

@codex review

1 similar comment
@KazanderDad

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7ef460e62a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

return () => {
cancelled = true;
};
}, [accessToken, type, t]);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Stabilize the translation function used by fetch effects

useTypedTranslation creates a new t wrapper on every render, so including t here causes every completed history fetch to update state, render again, and immediately start another fetch. An authenticated visitor therefore continuously calls the history backend; the identical dependency pattern in ReceivePathSettingsPanel does the same to /api/portal/preferences. Memoize the typed wrapper or otherwise make the effect depend only on stable values.

Useful? React with 👍 / 👎.

Comment thread src/lib/portal-history.ts
Comment on lines +140 to +143
const question = item.kind === "question" ? item : questions.get("questionId" in item ? item.questionId : "");

if (filter === "paying-app") {
return question?.payingDapp.displayName ?? "Unknown PayingDapp";

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve question context when grouping filtered history

When the backend honors type=quotes, type=answers, type=intents, or type=receipts by returning only the requested kinds, this lookup contains no question records, while those item contracts do not carry payingDapp. Consequently the default paying-app view places every filtered result under Unknown PayingDapp. Include grouping context in each summary/response or resolve the referenced questions separately so type-filtered views retain meaningful groups.

Useful? React with 👍 / 👎.

cache: "no-store",
});
if (!response.ok) throw new Error(portalErrorMessage(response.status, t));
return await response.json() as PortalHistoryResponse;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Load remaining history pages

When the backend returns a nextCursor, this function returns only the first response and no caller consumes that cursor or offers a load-more action. Accounts exceeding the backend page size therefore see an incomplete transaction history with no indication that older records exist. Follow nextCursor or expose pagination controls that request subsequent pages.

Useful? React with 👍 / 👎.

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