Skip to content

Conversation

@KaruG1999
Copy link
Collaborator

@KaruG1999 KaruG1999 commented Jan 28, 2026

Description:

Fixes #771. Improves KYC callback UX by preserving URL parameters on API failure, allowing users to retry.

Changes:

  • Logic: Moved window.history.replaceState inside the success block (if (res.ok)).

  • Feedback: Added toast.error() for API and network failures.

Verification:

  • Logic verified via static analysis.

  • bun lint passed (Biome).

ℹ️ Note: End-to-end visual testing was limited due to local environment constraints (mocked auth/DB), but the implementation strictly follows the issue logic.

P.S. If any issues arise during the review or a full reproduction is needed, I can set up the complete environment with real variables. I remain available for any further improvements or requested changes.

closes #771

Summary by CodeRabbit

  • Bug Fixes
    • Users now see clear on-screen notifications when KYC profile updates fail, replacing silent console errors.
    • KYC update flow preserves query parameters until the API call succeeds; URL cleanup and page refresh now occur only after a successful update.
    • Page reliably reflects updated KYC status after a successful submission.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link
Contributor

vercel bot commented Jan 28, 2026

@KaruG1999 is attempting to deploy a commit to the kindfi Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 28, 2026

Walkthrough

Deferred URL param cleanup until the KYC API update returns success; added a centralized KYC error message and user-facing toasts on API/fetch failures; moved history replacement to success path and retain params on failure; page reload retained only after successful update.

Changes

Cohort / File(s) Summary
KYC Callback Error Handling
apps/web/components/sections/profile/profile-dashboard.tsx
Added kycUpdateErrorMessage constant; moved window.history.replaceState({}, '', '/profile') to occur only after res.ok; replaced generic console.error with specific messages and showing a toast on API error or fetch exception; removed unconditional URL cleanup; kept page reload only after success.

Sequence Diagram(s)

sequenceDiagram
    actor User
    participant Component as ProfileDashboard
    participant API as KYC API
    participant UI as Toast/History

    User->>Component: Return from KYC flow (with query params)
    Component->>API: POST callback/update request
    alt API Success
        API-->>Component: 200 OK
        Component->>UI: window.history.replaceState('/profile')
        Component->>UI: window.location.reload()
        Component-->>User: Profile refreshed
    else API Failure
        API-->>Component: non-OK response
        Component->>UI: show toast(kycUpdateErrorMessage)
        Note over Component: URL params retained for retry
    else Fetch Error
        API--xComponent: network/exception
        Component->>UI: show toast(kycUpdateErrorMessage)
        Note over Component: URL params retained for retry
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

A callback returned with query in hand,
Toasts now speak where errors stand.
Params wait patient for the verity,
Success clears the path — retry's sincerity. ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main changes: preventing URL cleanup on failure and adding error toasts for the KYC flow.
Linked Issues check ✅ Passed The PR successfully addresses all coding requirements from issue #771: conditional URL cleanup on success, error toast notifications, and page reload only after successful updates.
Out of Scope Changes check ✅ Passed All changes are directly aligned with the KYC callback error handling objectives; no unrelated or out-of-scope modifications were introduced.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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.

@coderabbitai coderabbitai bot added difficulty: medium This issue requires a moderate to a little challenge effort on complexity frontend FE, UI/UX and/or accessibility improvements development related webapp web app related labels Jan 28, 2026
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@apps/web/components/sections/profile/profile-dashboard.tsx`:
- Around line 162-174: Extract the repeated KYC failure message used in the two
toast.error calls into a single constant (e.g. KYC_UPDATE_ERROR) in the
profile-dashboard component and replace both toast.error(...) usages with that
constant; update the code surrounding the success branch (the
window.history.replaceState and window.location.reload calls) to still use the
same constant only for the error branches so the message is centralized and
easier to localize/manage in the future.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@apps/web/components/sections/profile/profile-dashboard.tsx`:
- Around line 168-174: The current promise chain shows
toast.error(kycUpdateErrorMessage) in both the non-ok branch and the .catch(),
but lacks error logging; update the handler so that when res.json() fails, when
the response is non-ok, or when the fetch throws, you log the actual error
(e.g., console.error or the app logger) before calling
toast.error(kycUpdateErrorMessage); specifically add logging in the else block
that currently calls toast.error(kycUpdateErrorMessage) and inside the .catch()
so the thrown error object is recorded while retaining the user-facing toast.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@apps/web/components/sections/profile/profile-dashboard.tsx`:
- Around line 169-172: The console.error in profile-dashboard.tsx that currently
logs a static message when KYC update fails should include the HTTP response
details to aid observability: inside the same error handling/catch where
kycUpdateErrorMessage is used, extract and include the response status (and
optionally response body) from the caught error (e.g., error.response?.status
and error.response?.data or using AxiosError typing), and pass those into the
processLogger/console.error call along with the existing message and
kycUpdateErrorMessage so you can distinguish 4xx vs 5xx failures; update the
console.error call near kycUpdateErrorMessage to include these response details
and use optional chaining/null checks to avoid throwing when response is absent.

@Bran18 Bran18 self-requested a review January 30, 2026 18:39
@vercel
Copy link
Contributor

vercel bot commented Jan 30, 2026

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

Project Deployment Actions Updated (UTC)
kindfi Ready Ready Preview, Comment Jan 30, 2026 6:41pm

Request Review

Copy link
Member

@Bran18 Bran18 left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for including the suggestion that Coderabit made. I know he can be a bit overwhelming at times, but the solution you implemented is very effective, and the user will be notified via the toast, which is always a good thing.

@Bran18 Bran18 merged commit bb2dc12 into kindfi-org:develop Jan 30, 2026
3 of 4 checks passed
@KaruG1999
Copy link
Collaborator Author

Gracias maee, me gustó mucho el proyecto y el coderabbit también, aunque sea exigente 🫰​🥴​

Bran18 added a commit that referenced this pull request Feb 5, 2026
* feat: add didit KYC user flow (#768)

* feat: add dididt KYC user flow

* fix: build issues

* fix(auth): add pending role state and fix user signup default role

* chore: generate Supabase types from remote instance

* fix: configure Vercel for monorepo and add Supabase types

* feat: kindfi nft open zeppelin (#769)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: Reputation Contract for NFT Level Management (#773)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: add root cargo manifest for contracts workspace

* feat(reputation): add cargo manifest for reputation contract

* feat(reputation): add reputation contract main library

* feat(reputation): add reputation contract types and data structures

* feat(reputation): add reputation contract storage layer

* feat(reputation): add reputation contract error types

* feat(reputation): add reputation contract events

* feat(reputation): add NFT client integration for reputation contract

* docs(reputation): add reputation contract documentation

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* feat: Comprehensive Tests and Integration for NFT & Reputation Contracts (#774)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: add root cargo manifest for contracts workspace

* feat(reputation): add cargo manifest for reputation contract

* feat(reputation): add reputation contract main library

* feat(reputation): add reputation contract types and data structures

* feat(reputation): add reputation contract storage layer

* feat(reputation): add reputation contract error types

* feat(reputation): add reputation contract events

* feat(reputation): add NFT client integration for reputation contract

* docs(reputation): add reputation contract documentation

* test(reputation): add reputation contract tests

* test(nft): add NFT contract tests

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* feat: Deployment Scripts and Configuration for NFT & Reputation Contracts (#775)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: add root cargo manifest for contracts workspace

* feat(reputation): add cargo manifest for reputation contract

* feat(reputation): add reputation contract main library

* feat(reputation): add reputation contract types and data structures

* feat(reputation): add reputation contract storage layer

* feat(reputation): add reputation contract error types

* feat(reputation): add reputation contract events

* feat(reputation): add NFT client integration for reputation contract

* docs(reputation): add reputation contract documentation

* test(reputation): add reputation contract tests

* test(nft): add NFT contract tests

* chore: update cargo lock file

* docs: update contracts README

* script: add NFT contract deployment script

* script: add reputation contract deployment script

* chore: add environment example file

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* feat: refactor nft-kindfi with SEP-0050 compatibility (#778)

* feat: add SEP-0050 compliant NFTAttribute struct to nft-kindfi types

Replace Vec<String> attributes with Vec<NFTAttribute> using structured
fields (trait_type, value, display_type, max_value) to comply with the
SEP-0050 Non-Fungible Metadata JSON Schema.

* feat: update nft-kindfi tests to use NFTAttribute struct

Adapt all test helpers and test cases to use the new SEP-0050 compliant
NFTAttribute struct instead of plain strings for metadata attributes.

* feat: update reputation nft_client to SEP-0050 attribute format

Refactor NFTMetadata mirror and level attribute helpers to use the new
NFTAttribute struct. Update cross-contract call types and all related
tests for SEP-0050 compliance.

* fix(kyc): prevent URL params cleanup on failure and add error toasts (#777)

* fix(kyc): prevent URL params cleanup on failure and add error toasts

* refactor(kyc): deduplicate error message string per code review

* fix(kyc): sync with develop and add error logging per code review

* refactor: centralize didit kyc status mapping logic (#779)

* refactor: centralize didit kyc status mapping logic

* refactor: apply code review feedback (arrow functions, type-only imports, and alias paths)

* style(ui): use bg-primary token instead of hex code in progress bar (#780)

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore: add vercel skills set for OSS

* fix: add new migration strategy

* feat: add fundation support

* chore: generate Supabase database types using MCP tool

- Generated complete TypeScript types from Supabase database
- Includes all tables, enums, functions, and relationships
- Fixes Vercel build error: Module '@services/supabase' has no exported member 'Database'

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: add complete Supabase database types

- Generated TypeScript types from Supabase database using MCP tool
- Includes all tables, enums, functions, and relationships
- Fixes Vercel build error: Module '@services/supabase' has no exported member 'Database'

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: add complete Supabase database types

- Generated TypeScript types from Supabase database using MCP tool
- Includes all tables, enums, functions, and relationships
- Fixes Vercel build error: Module '@services/supabase' has no exported member 'Database'

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: Karen Giannetto <karengiannetto99@gmail.com>
Co-authored-by: Delfina luna Corradini <105253541+delfinacorr@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Bran18 added a commit that referenced this pull request Feb 5, 2026
* feat: add didit KYC user flow (#768)

* feat: add dididt KYC user flow

* fix: build issues

* fix(auth): add pending role state and fix user signup default role

* chore: generate Supabase types from remote instance

* fix: configure Vercel for monorepo and add Supabase types

* feat: kindfi nft open zeppelin (#769)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: Reputation Contract for NFT Level Management (#773)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: add root cargo manifest for contracts workspace

* feat(reputation): add cargo manifest for reputation contract

* feat(reputation): add reputation contract main library

* feat(reputation): add reputation contract types and data structures

* feat(reputation): add reputation contract storage layer

* feat(reputation): add reputation contract error types

* feat(reputation): add reputation contract events

* feat(reputation): add NFT client integration for reputation contract

* docs(reputation): add reputation contract documentation

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* feat: Comprehensive Tests and Integration for NFT & Reputation Contracts (#774)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: add root cargo manifest for contracts workspace

* feat(reputation): add cargo manifest for reputation contract

* feat(reputation): add reputation contract main library

* feat(reputation): add reputation contract types and data structures

* feat(reputation): add reputation contract storage layer

* feat(reputation): add reputation contract error types

* feat(reputation): add reputation contract events

* feat(reputation): add NFT client integration for reputation contract

* docs(reputation): add reputation contract documentation

* test(reputation): add reputation contract tests

* test(nft): add NFT contract tests

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* feat: Deployment Scripts and Configuration for NFT & Reputation Contracts (#775)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: add root cargo manifest for contracts workspace

* feat(reputation): add cargo manifest for reputation contract

* feat(reputation): add reputation contract main library

* feat(reputation): add reputation contract types and data structures

* feat(reputation): add reputation contract storage layer

* feat(reputation): add reputation contract error types

* feat(reputation): add reputation contract events

* feat(reputation): add NFT client integration for reputation contract

* docs(reputation): add reputation contract documentation

* test(reputation): add reputation contract tests

* test(nft): add NFT contract tests

* chore: update cargo lock file

* docs: update contracts README

* script: add NFT contract deployment script

* script: add reputation contract deployment script

* chore: add environment example file

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* feat: refactor nft-kindfi with SEP-0050 compatibility (#778)

* feat: add SEP-0050 compliant NFTAttribute struct to nft-kindfi types

Replace Vec<String> attributes with Vec<NFTAttribute> using structured
fields (trait_type, value, display_type, max_value) to comply with the
SEP-0050 Non-Fungible Metadata JSON Schema.

* feat: update nft-kindfi tests to use NFTAttribute struct

Adapt all test helpers and test cases to use the new SEP-0050 compliant
NFTAttribute struct instead of plain strings for metadata attributes.

* feat: update reputation nft_client to SEP-0050 attribute format

Refactor NFTMetadata mirror and level attribute helpers to use the new
NFTAttribute struct. Update cross-contract call types and all related
tests for SEP-0050 compliance.

* fix(kyc): prevent URL params cleanup on failure and add error toasts (#777)

* fix(kyc): prevent URL params cleanup on failure and add error toasts

* refactor(kyc): deduplicate error message string per code review

* fix(kyc): sync with develop and add error logging per code review

* refactor: centralize didit kyc status mapping logic (#779)

* refactor: centralize didit kyc status mapping logic

* refactor: apply code review feedback (arrow functions, type-only imports, and alias paths)

* style(ui): use bg-primary token instead of hex code in progress bar (#780)

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore: add vercel skills set for OSS

* fix: add new migration strategy

* feat: add fundation support

* chore: generate Supabase database types using MCP tool

- Generated complete TypeScript types from Supabase database
- Includes all tables, enums, functions, and relationships
- Fixes Vercel build error: Module '@services/supabase' has no exported member 'Database'

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: add complete Supabase database types

- Generated TypeScript types from Supabase database using MCP tool
- Includes all tables, enums, functions, and relationships
- Fixes Vercel build error: Module '@services/supabase' has no exported member 'Database'

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: add complete Supabase database types

- Generated TypeScript types from Supabase database using MCP tool
- Includes all tables, enums, functions, and relationships
- Fixes Vercel build error: Module '@services/supabase' has no exported member 'Database'

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix: WebAuthn cross environments

---------

Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: Karen Giannetto <karengiannetto99@gmail.com>
Co-authored-by: Delfina luna Corradini <105253541+delfinacorr@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Bran18 added a commit that referenced this pull request Feb 5, 2026
* feat: add didit KYC user flow (#768)

* feat: add dididt KYC user flow

* fix: build issues

* fix(auth): add pending role state and fix user signup default role

* chore: generate Supabase types from remote instance

* fix: configure Vercel for monorepo and add Supabase types

* feat: kindfi nft open zeppelin (#769)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: Reputation Contract for NFT Level Management (#773)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: add root cargo manifest for contracts workspace

* feat(reputation): add cargo manifest for reputation contract

* feat(reputation): add reputation contract main library

* feat(reputation): add reputation contract types and data structures

* feat(reputation): add reputation contract storage layer

* feat(reputation): add reputation contract error types

* feat(reputation): add reputation contract events

* feat(reputation): add NFT client integration for reputation contract

* docs(reputation): add reputation contract documentation

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* feat: Comprehensive Tests and Integration for NFT & Reputation Contracts (#774)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: add root cargo manifest for contracts workspace

* feat(reputation): add cargo manifest for reputation contract

* feat(reputation): add reputation contract main library

* feat(reputation): add reputation contract types and data structures

* feat(reputation): add reputation contract storage layer

* feat(reputation): add reputation contract error types

* feat(reputation): add reputation contract events

* feat(reputation): add NFT client integration for reputation contract

* docs(reputation): add reputation contract documentation

* test(reputation): add reputation contract tests

* test(nft): add NFT contract tests

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* feat: Deployment Scripts and Configuration for NFT & Reputation Contracts (#775)

* feat: add KindFi NFT contract structure and types

- Add Cargo.toml for nft-kindfi contract with OpenZeppelin dependencies
- Add types.rs with NFTMetadata struct and StorageKey enum
- Add errors.rs with custom error definitions
- Add events.rs with metadata update events

* feat: implement KindFi NFT core functionality

- Add lib.rs with main contract implementing NonFungibleToken, AccessControl, and custom metadata functions
- Add metadata.rs for on-chain metadata storage and retrieval
- Add mint.rs for sequential token ID minting with metadata
- Add burn.rs for token burning functionality
- Implement role-based access control (minter, burner, metadata_manager)
- Add OpenZeppelin Stellar Contracts integration

* fix: update workspace members for compilation

- Comment out non-existent contract members to allow compilation
- Add nft-kindfi to implemented contracts
- Reorganize workspace members with clear sections

* chore: update Cargo.lock with new contract dependencies

* feat: update to OpenZeppelin Stellar Contracts v0.6.0

- Update soroban-sdk from 22.0.6 to 23.4.0
- Update all OpenZeppelin dependencies from v0.3.0 to v0.6.0
- Restructure dependencies: stellar-access-control → stellar-access, stellar-non-fungible → stellar-tokens

* feat: update nft-kindfi dependencies for v0.6.0

- Update contract dependencies to use new package structure
- stellar-access-control → stellar-access
- stellar-access-control-macros → stellar-macros
- stellar-non-fungible → stellar-tokens

* refactor: update imports for OpenZeppelin v0.6.0

- Update stellar_access_control imports to stellar_access::access_control
- Update stellar_non_fungible imports to stellar_tokens::non_fungible
- Update stellar_access_control_macros to stellar_macros
- Fix AccessControl trait method signatures to match v0.6.0 API

* chore: kindfi information in the workspace.package and comments added in members

* fix: target changed to wasm32v1-none and leaving necessary components

* chore: Add additional information about kindfi to contract cargo.toml and change crate-type to just (cdylib)

* fix: config.toml file removed since it generated conflicts with rust base and the tests did not compile

* refactor: change in the use of events, since due to the sdk update they are now used with the contractevent and topic macro

* refactor: structure change in the use of events of the form .publish(e) for the different files that propagate the events

* doc: detailed documentation about the nft-kindfi contract

* chore: add admin.require_auth() add admin.require_auth() for validation and security of contract initialization

* fix: validation was added for the metadata and the event was created to send this

* feat: add root cargo manifest for contracts workspace

* feat(reputation): add cargo manifest for reputation contract

* feat(reputation): add reputation contract main library

* feat(reputation): add reputation contract types and data structures

* feat(reputation): add reputation contract storage layer

* feat(reputation): add reputation contract error types

* feat(reputation): add reputation contract events

* feat(reputation): add NFT client integration for reputation contract

* docs(reputation): add reputation contract documentation

* test(reputation): add reputation contract tests

* test(nft): add NFT contract tests

* chore: update cargo lock file

* docs: update contracts README

* script: add NFT contract deployment script

* script: add reputation contract deployment script

* chore: add environment example file

---------

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* feat: refactor nft-kindfi with SEP-0050 compatibility (#778)

* feat: add SEP-0050 compliant NFTAttribute struct to nft-kindfi types

Replace Vec<String> attributes with Vec<NFTAttribute> using structured
fields (trait_type, value, display_type, max_value) to comply with the
SEP-0050 Non-Fungible Metadata JSON Schema.

* feat: update nft-kindfi tests to use NFTAttribute struct

Adapt all test helpers and test cases to use the new SEP-0050 compliant
NFTAttribute struct instead of plain strings for metadata attributes.

* feat: update reputation nft_client to SEP-0050 attribute format

Refactor NFTMetadata mirror and level attribute helpers to use the new
NFTAttribute struct. Update cross-contract call types and all related
tests for SEP-0050 compliance.

* fix(kyc): prevent URL params cleanup on failure and add error toasts (#777)

* fix(kyc): prevent URL params cleanup on failure and add error toasts

* refactor(kyc): deduplicate error message string per code review

* fix(kyc): sync with develop and add error logging per code review

* refactor: centralize didit kyc status mapping logic (#779)

* refactor: centralize didit kyc status mapping logic

* refactor: apply code review feedback (arrow functions, type-only imports, and alias paths)

* style(ui): use bg-primary token instead of hex code in progress bar (#780)

Co-authored-by: Brandon Fernández <31634868+Bran18@users.noreply.github.com>

* chore: add vercel skills set for OSS

* fix: add new migration strategy

* feat: add fundation support

* chore: generate Supabase database types using MCP tool

- Generated complete TypeScript types from Supabase database
- Includes all tables, enums, functions, and relationships
- Fixes Vercel build error: Module '@services/supabase' has no exported member 'Database'

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: add complete Supabase database types

- Generated TypeScript types from Supabase database using MCP tool
- Includes all tables, enums, functions, and relationships
- Fixes Vercel build error: Module '@services/supabase' has no exported member 'Database'

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: add complete Supabase database types

- Generated TypeScript types from Supabase database using MCP tool
- Includes all tables, enums, functions, and relationships
- Fixes Vercel build error: Module '@services/supabase' has no exported member 'Database'

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix: WebAuthn cross environments

* Fix: WebAuthn non dynamic

* Fix: add path alias

---------

Co-authored-by: Matias Aguilar <aaguilar1x@gmail.com>
Co-authored-by: Karen Giannetto <karengiannetto99@gmail.com>
Co-authored-by: Delfina luna Corradini <105253541+delfinacorr@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

difficulty: medium This issue requires a moderate to a little challenge effort on complexity frontend FE, UI/UX and/or accessibility improvements development related webapp web app related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve KYC callback error handling and retry UX in ProfileDashboard

2 participants