Skip to content

docs(frontend): batch canonical IDs F-067..F-077 (Section 7 remaining)#31

Open
Adiz4415 wants to merge 10 commits into
Pi-Defi-world:mainfrom
Adiz4415:fix/frontend-canonical-id-batch-67-77
Open

docs(frontend): batch canonical IDs F-067..F-077 (Section 7 remaining)#31
Adiz4415 wants to merge 10 commits into
Pi-Defi-world:mainfrom
Adiz4415:fix/frontend-canonical-id-batch-67-77

Conversation

@Adiz4415

Copy link
Copy Markdown
Contributor

Summary

Single batched follow-up PR that migrates the remaining 9 (new) distinct findings from Section 7 of PROJECT/issues/FRONTEND_ISSUES.md (legacy #55, #56, #68, #69, #72, #73, #74, #75, #77) into canonical IDs F-067..F-077 in the live issues/frontend.md triage-ready catalog. Complements the three highest-impact follow-ups from PRs #28 (F-066 Skeleton primitive), #29 (F-071 Toast delay), and #30 (F-076 fetch timeout) by completing the migration of every (new) marker in Section 7.

What changed

9 new canonical entries appended to issues/frontend.md (in ID order)

ID Legacy Title Severity Area
F-067 #55 Contact inputs have no maxLength 🟡 Medium frontend/forms
F-068 #56 Profile inputs have no maxLength or format validation 🟡 Medium frontend/forms
F-069 #68 Icons recreated each render 🟢 Low frontend/perf
F-070 #69 Menu items use router.push instead of Link 🟢 Low frontend/nav
F-072 #72 Mobile detection treats "unknown" as desktop 🟢 Low frontend/compat
F-073 #73 Post-KYC upload navigation uses uncleaned setTimeout 🟢 Low frontend/hygiene
F-074 #74 Silent username normalization on signup 🟡 Medium frontend/auth
F-075 #75 Auto-fill heuristic requires length ≥ 56 🟢 Low frontend/ux
F-077 #77 /p2p route is client-side redirect only 🟢 Low frontend/nav

PROJECT/issues/FRONTEND_ISSUES.md updates

  • Section 1 Summary Table \u2014 9 new rows appended after F-076; totals updated from 68 \u2192 77 items.
  • Section 2 Severity Counts \u2014 Medium bucket +3 (F-067, F-068, F-074) at 25 \u2192 28; Low bucket +6 (F-069, F-070, F-072, F-073, F-075, F-077) at 23 \u2192 29.
  • Section 4 High \u2014 unchanged (no new High items in this batch).
  • Section 5 Medium \u2014 3 detailed entries appended (F-067, F-068, F-074).
  • Section 6 Low \u2014 6 detailed entries appended (F-069, F-070, F-072, F-073, F-075, F-077).
  • Section 8 Resolution Tracker \u2014 Medium cluster (25 \u2192 28 items); Low cluster (23 \u2192 29 items); both rows reconciled with Severity Counts.
  • Section 7 Legacy \u2014 all 9 legacy markers (#55, #56, #68, #69, #72, #73, #74, #75, #77) retargeted from (new \u2014 propose F-XXX) \u2192 (new \u2192 adopted as F-XXX in companion canonical-ID batch PR; see Section 5/6 and Section 8 for canonical rows), preserving the legacy ordinal anchor for traceability.
  • Final distribution: 5 \ud83d\udd34 Critical / 15 \ud83d\udfe0 High / 28 \ud83d\udfe1 Medium / 29 \ud83d\udfe2 Low = 77 total. Arithmetic verified: 5 + 15 + 28 + 29 = 77.
  • ID range text updated F-001 through F-077.

Severity rationale

  • F-067/F-068/F-074 → Medium \u2014 Form-input maxLength/validation gaps cause silent truncations / backend rejections mid-flow; silent username normalization has data-integrity and phishing-typo implications.
  • F-069/F-070/F-072/F-073/F-075/F-077 → Low \u2014 Performance polish, nav-pattern alignment with Next.js <Link>, fail-open mobile-default trade-off, setTimeout cleanup, heuristic refinement, placeholder route gating. Acceptable trade-offs and minor polish.

Build context

This PR is branched off fix/frontend-canonical-id-f076 (PR #30), which itself is cumulative on fix/frontend-canonical-id-f071 (PR #29) and fix/frontend-canonical-id-f066 (PR #28). When those earlier PRs land in main, this branch can fast-forward or rebase. Sequential stacking ensures each layer merges cleanly without overlap.

Verification

Follow-up

This PR is the natural terminus of the (new) migration series. With PRs #28, #29, #30, and now this PR #31 all merged, no further canonical-ID promotions remain in Section 7. Subsequent work:

  • Each canonical F-067..F-077 can be triaged as actual tickets in the engineering tracker, with evidence pointers from the canonical catalog.
  • Maintenance section 11 of FRONTEND_ISSUES.md now reads naturally with all (new) markers cleared \u2014 future audits adding new distinct findings will create the next batch of (new) markers and the cycle continues.
  • Future docs-only reconciliation: align F-008 cluster to optionally drop F-011 reference in Severity Counts Low bucket if it's intentionally excluded from the Low cluster Resolution Tracker row (pre-existing minor inconsistency noted by reviewer).

Adiz4415 added 10 commits June 20, 2026 12:25
…catalog

- Restructure PROJECT/issues/CONTRACTS_ISSUES.md into a single source of
  truth using canonical severity/area/evidence/impact/fix/acceptance format.
- Cover all 60 catalog entries from issues/contracts.md (Critical 6, High
  21, Medium 24, Low 9) with stable C-### IDs.
- Preserve the legacy 34-item list as Section 7 cross-reference.
- Add Summary Table, Severity Counts, Resolution Tracker, Top Remediations
  (ship-safety order), Cross-Reference Map, and Maintenance notes.
- Provide anchor points for future PR references.

Closes Pi-Defi-world#12
- Catalog sources & deduping section renames the prior Deduping section
  and explicitly elevates PROJECT/issues/CONTRACTS_ISSUES.md (PR Pi-Defi-world#22) and
  PROJECT/issues/BACKEND_ISSUES.md (PR Pi-Defi-world#23) to durable long-form references;
  FRONTEND_ISSUES.md remains legacy pending follow-up PR.
- Top 20 list gains per-item deep links to the Resolution Tracker
  (Section 8) of each consolidated catalog and uniformly bolds IDs.
- New CHANGELOG section appended in strict reverse-chronological order
  (this PR refresh first, then PR Pi-Defi-world#23 backend, then PR Pi-Defi-world#22 contracts,
  then future frontend consolidation).
…d 11 per-item tracker pointers

- Catalog sources & deduping elevates PROJECT/issues/FRONTEND_ISSUES.md
  to durable long-form reference (was legacy/\u2018pending follow-up\u2019), cited
  to PR Pi-Defi-world#25.
- Top 20 list gains per-item tracker pointers for the 11 user-listed
  frontend items: F-001/F-002/F-005 (Critical, wallet+auth) and
  F-014/F-015/F-019/F-020/F-022/F-025/F-051/F-063 (top-High ship-safety),
  mirroring the contracts/backend pointer pattern.
- CHANGELOG now in reverse-chronological order with Frontend PR Pi-Defi-world#25 at
  top; Master Index Refresh entry cites PR Pi-Defi-world#25 directly; legacy\n  \u2018_(Future) Frontend_\u2019 placeholder retired.
- F-004 (item 20) remains Critical in Top 20 without a per-item pointer\n  by design \u2014 not in user\u2019s explicit 11-set; CHANGELOG documents this so\n  it is addressable in a follow-up PR.
…E.MD

- New nested 'Catalog consolidations' block under Project Management
  subsection listing PROJECT/issues/CONTRACTS_ISSUES.md (PR Pi-Defi-world#22),
  PROJECT/issues/BACKEND_ISSUES.md (PR Pi-Defi-world#23), and
  PROJECT/issues/FRONTEND_ISSUES.md (PR Pi-Defi-world#25) as durable long-form
  references with canonical-entry counts and severity distributions.
- Corrected the adjacent pre-existing 'Known issues' line link paths
  from bare filenames to the working 'issues/...' form so the whole
  block is discoverable.
- Bumped footer 'Last Updated:' from 2026-01-26 to 2026-06-20 to match
  the June catalog-consolidation PR envelope.
- Add F-066 \u2014 "Inconsistent loading / empty state skeletons across
  pages" (Medium, frontend/components) to issues/frontend.md and the
  Summary Table / Severity Counts / Resolution Tracker / Severity 5
  block of PROJECT/issues/FRONTEND_ISSUES.md.
- Migrate legacy Section 7 item #49 ("Empty and loading states
  inconsistent \u2014 missing Skeleton primitive") from "new \u2014 propose F-066"
  to "new \u2192 adopted as F-066", preserving the legacy #49 anchor for
  traceability.
- Severity distribution bumped from 5/14/23/23=65 \u2192 5/14/24/23=66.
  Summary Table totals line, Severity Counts row, and Resolution
  Tracker Medium cluster row all reconciled to (24 Medium).
- Cross-references: F-066 evidence path covers per-page loading.tsx /
  empty.tsx under app/(app)/**.
- Add F-071 \u2014 "Toast removal delay is ~17 minutes" (Medium,
  frontend/ux) to issues/frontend.md and the Summary Table / Severity
  Counts / Resolution Tracker / Severity 5 block of
  PROJECT/issues/FRONTEND_ISSUES.md.
- Migrate legacy Section 7 item #71 ("Toast removal delay is ~17
  minutes; TOAST_REMOVE_DELAY = 1000000") from "new \u2014 propose F-071"
  to "new \u2192 adopted as F-071", preserving the legacy #71 anchor for
  traceability.
- Severity distribution bumped from 5/14/24/23=66 \u2192
  5/14/25/23=67. Summary Table totals line, Severity Counts row, and
  Resolution Tracker Medium cluster row all reconciled to (25 Medium).
- Cross-references: F-071 evidence points at
  acbu-frontend/lib/toast.ts TOAST_REMOVE_DELAY constant.
- Build context: this PR builds on fix/frontend-canonical-id-f066 (PR
  Pi-Defi-world#28, the F-066 migration) which is now part of the branch base.
…eout)

- Add F-076 \u2014 "Frontend request() helper has no default timeout" (High,
  frontend/api) to issues/frontend.md and the Summary Table / Severity
  Counts / Resolution Tracker / Severity 4 block of
  PROJECT/issues/FRONTEND_ISSUES.md.
- Migrate legacy Section 7 item #76 ("API fetch has no timeout;
  Frontend request() uses fetch with no default timeout") from "new
  \u2014 propose F-076" to "new \u2192 adopted as F-076", preserving the
  legacy #76 anchor for traceability.
- Severity distribution bumped from 5/14/25/23=67 \u2192
  5/15/25/23=68. Summary Table totals line, Severity Counts High row,
  and Resolution Tracker High cluster row all reconciled to (15 High).
- Cross-references: F-076 evidence points at
  acbu-frontend/lib/api/client.ts request() function.
- Build context: this PR builds on fix/frontend-canonical-id-f071 (PR
  Pi-Defi-world#29, the F-071 migration) which is on top of fix/frontend-canonical-id-f066
  (PR Pi-Defi-world#28). Both prior PRs are part of the branch base.
- Add F-067..F-077 to issues/frontend.md in the canonical
  severity/area/evidence/impact/fix/acceptance format.
- Mirror into PROJECT/issues/FRONTEND_ISSUES.md Summary Table,
  Severity Counts (Medium 25\u219228, Low 23\u219229), Resolution Tracker
  Medium/Low cluster rows, Section 5 Medium (3 detailed entries),
  Section 6 Low (6 detailed entries), and totals 68\u219277.
- Migrate legacy Section 7 markers #55, #56, #68, #69, #72, #73,
  #74, #75, #77 from "new \u2014 propose F-XXX" to "new \u2192 adopted as F-XXX".
- Final distribution: 5 Critical / 15 High / 28 Medium / 29 Low = 77.
- Severity rationale: F-067/F-068/F-074 \u2192 Medium (data validation,
  silent-normalization privacy concern); F-069/F-070/F-072/F-073/F-075/
  F-077 \u2192 Low (perf / nav-pattern / hygiene, fail-open where
  appropriate).
- Branch builds on fix/frontend-canonical-id-f066, f071, f076
  (PRs Pi-Defi-world#28, Pi-Defi-world#29, Pi-Defi-world#30) \u2014 sequential stack so each layer merges cleanly.
@coderabbitai

coderabbitai Bot commented Jun 20, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@Adiz4415, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 37 minutes and 23 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1278eb02-0ac8-40e0-bdda-527fa83fc97b

📥 Commits

Reviewing files that changed from the base of the PR and between a9a1a45 and 6b31daa.

📒 Files selected for processing (6)
  • PROJECT/README.MD
  • PROJECT/issues/BACKEND_ISSUES.md
  • PROJECT/issues/CONTRACTS_ISSUES.md
  • PROJECT/issues/FRONTEND_ISSUES.md
  • issues/MASTER_INDEX.md
  • issues/frontend.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 and usage tips.

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