Skip to content

Staging#171

Open
samseaver wants to merge 286 commits intoModelSEED:stagingfrom
VibhavSetlur:staging
Open

Staging#171
samseaver wants to merge 286 commits intoModelSEED:stagingfrom
VibhavSetlur:staging

Conversation

@samseaver
Copy link
Copy Markdown
Contributor

No description provided.

…aGrid

MUI v8 DataGrid requires showToolbar={true} to be set explicitly to render any toolbar passed via slots. The CustomPagination was also restored.
VibhavSetlur and others added 30 commits April 6, 2026 11:20
- Parse stringified solutiondata field from workspace objects
- Try alternative ref paths when API returns wrong format
- Handle /gapfill. vs /gapfilling/ path variations
- Add fallback logic to try multiple path formats

Backend issues remain (José to fix):
- API returns wrong ref: /gapfill.gf.0 instead of /gapfilling/gf.0
- API doesn't parse solutiondata field into solution_reactions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Code review cleanup - no functional changes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
My grep check was wrong - useState is used for pagination and sort state.
All biochem pages reviewed and found to be high quality.

Code quality: 9/10
- Proper error handling
- Performance optimizations (useMemo, useCallback)
- TypeScript types throughout
- Server-side pagination
- CSV export
- External database links
- Loading states

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
useState was incorrectly removed - it's used for paginationModel and sortModel state.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Expand README.md with architecture diagram, data flow, file reference tables
- Add file-level JSDoc header to page.tsx
- Add component JSDoc with @returns to TeamPage
- Add JSDoc header to [name]/page.tsx documenting route params
- Expand README.md with architecture diagram, data flow, file reference
- Add file-level JSDoc header to page.tsx
- Enhance highlightText JSDoc with @param, @returns, @example
- Add component JSDoc with @returns to PublicationsPage
- app/compare: Add file JSDoc, section comments, component JSDoc, README
- app/genome: Add file JSDoc, type/helper section markers, helper JSDocs, component JSDoc, expanded README
- app/feature: Add file JSDoc header
- app/media: Add file JSDoc, section markers, helper JSDocs, component JSDoc, README
- app/model: Add file JSDoc header, expanded README
- app/fba: Add file JSDoc, section marker, component JSDoc, README
- app/gapfill: Add file JSDoc, section marker, component JSDoc, README
- app/data: Add file JSDoc header, component JSDoc
- app/about: Add JSDoc headers to page.tsx, version/page.tsx, StatusTable.tsx, data-sources/page.tsx, expanded README
- app/events: Add JSDoc headers to page.tsx and all plantseed2015-2018 pages, expanded README
- app/projects: Add JSDoc headers to page.tsx, regulons/page.tsx, fusions/page.tsx, expanded README
Ignore PRODUCTION_POLISH_PLAN.md so local planning notes stay untracked on strict branches.

Made-with: Cursor
Keep `template_type` equal to the user-selected upload template so `auto` is no longer coerced to `gn` in the frontend request payload.

Made-with: Cursor
Replaces the static PNG gallery below the reaction equation with an
integrated inline diagram: compound structures rendered from SMILES via
RDKit.js (WebAssembly), positioned reactants → arrow → products with
the reversibility field driving the arrow symbol.

- lib/rdkit.ts: singleton WASM loader (cached promise, client-side only)
- components/ui/MoleculeRenderer.tsx: 'use client' + next/dynamic ssr:false
  rendering pipeline with skeleton loading, WASM memory cleanup via
  mol.delete() in finally block, try/catch fallback to CDN PNG, and
  forward-compatible atomColors prop for summer atom-mapping overlays
- components/ui/ReactionStructureEquation.tsx: parses equation string
  into reactant/product compound tokens, batch-fetches compound data
  (name, smiles, aliases) via new getCompoundsForReaction, renders
  compound cards with MUI Tooltip showing name/ID/synonyms
- lib/api/biochem.ts: add getCompoundsForReaction fetching smiles,
  inchikey, aliases fields (existing getCompoundsByIds unchanged)
- reaction detail page: replace CompoundStructureGallery with
  ReactionStructureEquation, retain ChemicalEquation text row

Made-with: Cursor
- Replace MUI Tooltip with CSS hover panel below cards to avoid render loops
- Memoize parsed equation, display map, and hooks order for ReactionStructureEquation
- Stabilize MoleculeRenderer atom highlight deps via serialized atomColors key
- Improve compound detail formatting for metadata, aliases, and synonyms

Made-with: Cursor
Improve visual hierarchy and readability across reaction/compound detail pages by reducing boxed styling, strengthening tag emphasis, and aligning alias/pathway group layouts with clearer source-to-value structure.

Made-with: Cursor
Add a quick filter bar with column controls and sticky headers so users can scan and narrow workspace listings faster, and improve empty-state messaging to clearly distinguish empty folders from filtered no-match states.

Made-with: Cursor
Resolve empty model detail tabs by prioritizing /model workspace objects and API payloads over folder stubs, add a clear warning for incomplete model copies, and improve navigation and tab readability on smaller screens.

Made-with: Cursor
Add targeted Playwright coverage for model API path behavior and frontend rendering, including successful model loads, stub-model warning states, and tab data availability checks.

Made-with: Cursor
Prevent loadRDKitScript from hanging when a matching script tag already exists by short-circuiting on known status and checking completion in a microtask, and pin the rdkit package version to match the runtime loader target.

Made-with: Cursor
Extract a shared field-aware helper for compound batch lookups so reaction and generic compound fetches use consistent deduped query behavior, and add unit coverage for getCompoundsForReaction.

Made-with: Cursor
Deduplicate reaction compound IDs before query-key/data fetch to reduce redundant requests, make the synonym tooltip scrollable by allowing pointer interaction, add an accessible img role/label for inline RDKit SVG renders, and remove trailing whitespace in the sign-in modal.

Made-with: Cursor
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.

2 participants