NiftyArt: Release Radar for December

A lot of new developments and updates are happening on the NiftyArt front. This release consolidates a set of backend fixes and frontend refinements focused on minting reliability, session correctness, and websocket stability. Follow this release radar to find out more details, and meet us on an updated platform.

Session and Minting Continuity Fixes

Several issues were traced to session mismatches and stale session references during wallet disconnects, session refresh, and minting flows. Transaction continuations now execute using the active session passed into the callback, rather than the original session context. When a wallet disconnects or a session is recycled, the transaction proposal and transaction continuation state are moved to the newly created session so minting can complete cleanly.

Key improvements in this area include:

  • Transaction continuations bound to the active session

  • Transaction proposals and transaction continuations migrated on session refresh

  • Minting retries supported when previous attempts fail

The minting QR code on the create flow now updates when the session changes, preventing QR codes from embedding an outdated session cookie. Related continuation logic was corrected so the continuation callback uses the current session reference internally when emitting events.

Websocket Thread Safety and Multi-tab Behavior

Intermittent minting failures and missing messages were caused by concurrent websocket sends from multiple threads. A synchronized safeSend path was introduced using a mutex, and websocket broadcasts from both wallet updates and session messaging now route through that locked send mechanism.

A separate UX defect was also addressed where all open NiftyArt tabs reacted to a mint-success websocket message and redirected. The hardcoded redirect in the websocket client was removed, and the create page now performs the redirect based on a scoped emitted event.

Error Handling and Data Correctness

The NFT view page now checks whether an NFT exists. If the ID is invalid, the page hides interactive controls and displays an error panel instead of loading an empty interface.

An additional data consistency fix resolves the “Null” series display when an NFT is not part of a series by handling JSON null values correctly when converting to string values for the table.

Validation handling was also hardened. Validation results do not always return JSON, so a string result handler was added before JSON parsing, along with handling for “transaction already in mempool” cases.

Duplicate Transaction Callback Protection

During testing, duplicate /tx callbacks were observed, where the first callback succeeded and the second returned an “already in mempool” error. This could surface as an error message followed by a successful redirect. A txContinuationProcessing flag was introduced to prevent duplicate processing, and the continuation callback is cleared when processing completes. A follow-up fix ensures the transaction proposal and transaction continuation are only cleared on minting success, allowing a retry if the first attempt fails.

Assets Paging and Consistent Toasts

The Your Assets page now includes paging rather than limiting results without controls. The total item count is returned and displayed on mobile, and paging controls were added to the relevant asset views.

Toast messaging was standardized across multiple pages to use consistent color and duration, and minting success messaging was improved so the user-facing confirmation is clearer and more consistent.

Closing

This release is primarily corrective and stability-focused. The main outcomes are fewer session-related minting failures, fewer intermittent websocket errors, clearer error states on invalid NFT routes, and improved consistency in asset browsing and user messaging. You are now invited to try out the upgraded NiftyArt platform, and please report your feedback or any issues in our community groups.