Skip to content

Fix/snapshot error handling#1351

Draft
vcnainala wants to merge 15 commits intodevelopmentfrom
fix/snapshot-error-handling
Draft

Fix/snapshot error handling#1351
vcnainala wants to merge 15 commits intodevelopmentfrom
fix/snapshot-error-handling

Conversation

@vcnainala
Copy link
Member

No description provided.

Add feature tests to verify compound route functionality:
- Test valid molecule redirects to spectra page
- Test case-insensitive compound identifiers (M188 and m188)
- Test 404 response for non-existent molecules
- Ensure existing invalid identifier test remains intact

Tests follow Laravel 12 testing best practices:
- Use model factories for test data generation
- Use RefreshDatabase trait for clean test state
- Test both success and failure scenarios
- Maintain naming conventions consistent with existing tests
Override Laravel default authentication and password reset messages to prevent user enumeration attacks. The messages now provide generic responses that do not reveal whether an email address exists in the system.
…PI login

Change API login response for unverified accounts from revealing account status to generic 'Invalid login details' message. This prevents attackers from determining if an email exists in the system by checking verification status.
Replace specific error messages in team, project, and study member invitation flows with generic 'Unable to add member with this email address' message. This prevents user enumeration by not revealing whether an email exists or is already a member.
Remove the owner.email filter and sort options from the public data API to prevent user enumeration attacks. Attackers could previously test if emails exist by filtering public data by owner email.
- Add University of Geneva logo
- Add Université Paris-Saclay logo

These logos are used in the partner cards section to represent
natural products community partners.
- Update FAQ questions to focus on key user concerns
- Add modern accordion-style interface with smooth transitions
- Include color-coded states (teal for active, gray for inactive)
- Add help links to documentation and support
- Remove outdated questions and add new relevant FAQs:
  * Why should I submit data to nmrXiv?
  * How nmrXiv is different from Zenodo?
  * Minimum requirements for submission
  * Pre-publication data submission
  * Data ownership rights

Follows Vue 3 composition API and Tailwind CSS v3 best practices.
…ntent

Major Changes:
- Replace static partner grid with horizontal scrollable carousel
- Add 5 partner cards aligned with noBS initiative:
  * Share FAIRly (nmrXiv/NFDI4Chem/FSU Jena)
  * Analyze & Automate (CT.nmrsolutions.io)
  * View & Process (NMRium)
  * Quantify (qnmr.org/UIC)
  * Identify & Qualify (Natural Products Community)

Design Updates:
- Implement card-style layout with rounded corners (28px radius)
- Add white backgrounds with subtle borders
- Include partner logos aligned to bottom
- Add horizontal scroll with navigation controls
- Position controls to the right side
- Stack multiple logos vertically where applicable

Content Updates:
- Update partner descriptions based on noBS website
- Add research data management focus for NFDI4Chem
- Include natural products community partners
- Reorganize section with proper max-width constraints

Layout Improvements:
- Move FAQ section above CTA
- Reduce padding around "Ready to share your data?" CTA
- Align section description with page max-width
- Allow carousel to use full available width

Follows Laravel 12, Vue 3, and Tailwind CSS v3 best practices.
- Create centralized Footer component for consistent site-wide footer
- Include navigation sections: Quick Links, Support, About, Legal
- Add social media links (GitHub)
- Implement responsive grid layout
- Use gradient background with border styling
- Display dynamic copyright year

Follows Vue 3 composition API and Tailwind CSS v3 best practices.
- Modernize page layouts with consistent header and footer
- Replace authentication card with full-width content layout
- Add page headers with dynamic last updated dates
- Improve typography with prose styling
- Add back navigation link to home page
- Remove duplicate headings from markdown files (now in Vue templates)
- Integrate shared Footer component

Improves user experience and maintains consistent branding across legal pages.
Follows Laravel 12 and Vue 3 best practices.
- Remove duplicate footer code from About page
- Use centralized Footer component for consistency
- Reduces code duplication and improves maintainability

Follows DRY principle and Laravel 12 best practices.
- Change button from teal to gray-900 background
- Update hover state to gray-800
- Improve spacing with mr-2 instead of  
- Add smooth transition animation

Aligns with overall design system and improves accessibility.
…mports

Enhance the snapshots batch import module to gracefully handle failures:

- Add timeout mechanism (30s parent, 25s child) to auto-skip slow datasets
- Implement safe component ref checking before method calls
- Add comprehensive error handling for network failures and NMRium errors
- Use $nextTick() to ensure component mounting before loading
- Add proper cleanup in beforeUnmount hooks to prevent memory leaks
- Emit error status to parent component for automatic progression
- Add detailed console logging for debugging failed imports

Previously, the module would crash on "TypeError: Cannot read properties
of undefined (reading 'loadSpectra')" when encountering problematic spectra,
halting the entire batch process. Now it automatically skips failures and
continues processing remaining datasets.

Fixes issue where batch snapshot generation would hang indefinitely on
datasets with missing NMRium data or network timeouts.
Rebuild production assets to include the snapshot error handling
improvements from the previous commit.
@vcnainala vcnainala changed the base branch from main to development February 9, 2026 09:47
@vcnainala vcnainala changed the title Fix/snapshot error handling WIP: Fix/snapshot error handling Feb 9, 2026
@vcnainala vcnainala changed the title WIP: Fix/snapshot error handling Fix/snapshot error handling Feb 9, 2026
@vcnainala vcnainala marked this pull request as draft February 11, 2026 10:28
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