Skip to content

Releases: VEuPathDB/web-monorepo

some minor verbiage modifcations

09 Sep 22:15

Choose a tag to compare

1474 little things (#1475)

* Add basic subscription management banner for guest users

- Create SubscriptionManagementBanner component with placeholder "Hello world" message
- Integrate banner into Announcements system to show for guest users only
- Add currentUser to fetchAnnouncementsData to enable user state checking
- Use currentUser.isGuest as placeholder until backend provides isSubscribed property

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Make subscription management banner dismissible

- Add dismissible: true property to subscription-management announcement
- Update dismissible logic to check announcementData.dismissible before category fallback
- Allows users to close the subscription banner independently of category rules

* Convert Announcements component to TypeScript

- Add comprehensive type definitions for all interfaces and props
- Create type guards for SiteMessage vs SiteAnnouncement distinction
- Type all function parameters and return values
- Use ReturnType<typeof useLocation> for location typing
- Maintain all existing functionality while adding type safety

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* banner dismissal timeout now works

* placeholder text and buttons for the subscription banner

* user menu profile status checkmark/warning triangle stubbed via user.isGuest

* convert UserMenu to TypeScript functional component

* add subscription status info to UserMenu

* fix import

* "Tabbed" user profile navigation and form behaviour changes (#1451)

* Add sectioned navigation to user profile page (WIP)

Implement a tabbed sidebar navigation for the user profile page that reuses the styling and behavior from RecordNavigationSection used on gene pages. The profile now has four sections: Account, Subscription, Preferences, and Security, each with individual Save/Cancel buttons and unsaved changes protection.

- Add ProfileNavigationSection component with tab navigation
- Add UserSubscriptionManagement placeholder component (TypeScript)
- Update UserAccountForm to use sidebar layout with conditional section rendering
- Add unsaved changes detection and warning system
- Implement per-section Save/Cancel buttons while maintaining single form state
- Update UserFormContainer to support change discarding functionality

Note: Human accomplice also made a few manual edits during development.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* functional component- and typescript-ification, still WIP

* ts sorted; discard works but poor implementation poss

* Improve user profile form structure and discard functionality

- Add proper Redux-based form reset with resetProfileForm action
- Restructure UserAccountForm with section-specific forms
- Replace window.confirm with Dialog component for better UX
- Change Cancel buttons to "Reset form" for clarity
- Remove unnecessary onSubmit flow to UserSubscriptionManagement
- Security section no longer shows inappropriate submit buttons

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* comments and aesthetics

* add URL-hash and forward-back navigation; link-to-tab now possible with hash

* leave-page-protection for user profile page

* resolve duplicated navigation protection problem

* UserRegistration.tsx typescript conversion

* reinstated single-page registration form

* Implement smart save button system and fix form submission bug

- Replace interpretFormStatus functions with SaveButton component
- Add SaveButton with animated states: Save → Saving → Saved → auto-revert
- Replace Reset form buttons with OutlinedButton and fix wrapping
- Add PROFILE_FORM_RESET action for clean local state resets
- Fix SwissArmyButton to use type="button" preventing accidental form submissions
- Remove messageElement rendering in favor of component-based UI

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix import bug in jsx

* fix form reset behaviour after successful save; disable reset button; tidy up

* tweaked SaveButton animation

* Fix form validation UI when using custom SaveButton

Replace checkValidity() with reportValidity() to restore proper form
validation behavior. When validation fails, the browser now automatically
focuses the invalid field and displays validation tooltips, matching the
original native form submission experience.

This fixes the regression introduced when switching from native submit
buttons to the custom SaveButton component.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix ProfileModal integration with refactored user forms

Replace deprecated `showChangePasswordBox` prop with `singleFormMode`
throughout the user profile form system. This fixes compatibility
between the ProfileModal and the newly refactored UserFormContainer/
UserAccountForm components.

Key changes:
- ProfileModal now passes `singleFormMode={true}` to UserProfileController
- Remove `showChangePasswordBox` prop from UserFormContainer and UserAccountForm
- Upgrade UserProfile.jsx to TypeScript with proper type definitions
- UserAccountForm always renders password section (only displayed in tabbed mode)
- Modal automatically hides when all required profile fields are completed

Note: Modal behavior tested locally - appears correctly and form saves
successfully. Modal should auto-dismiss when backend returns updated
user state with all required fields filled, but this is difficult to
test without database manipulation to create missing required fields.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* move privacy info link to above private info

* remove unused imports; remove duplicate PrivacyPolicy

* a few styling tweaks

* simplify css and update styles

* title styling and other styling updates

* add nav icons

* Save buton updates

* update confirm discard dialog styling

* yet another try at the save button

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: asizemore <annsize@seas.upenn.edu>

* use theme in profile

* fixed save button for real

* simplify isGuest condition

* removed disableResetButton

* prevent Save button showing previous section's status

* Checkpoint commit for integration with new oauth API

* Cleanup and set new condition on person icon conditional

* Protect against undefined

* Remove user email line; not needed

* Add check for subscription banner

* Comment out last attempt; broke the site

* Add custom user icons (#1454)

* add usercheck and userwarn icons

* adjust css for tall user profile icons

* fix color and add margin for collapsed header

* fix guest logic

* use coreui colors for icons

* continue tweaking alignment

* fix height change between guest and logged in

* another tweak for positioning the user icon

* header layout adjustments

* less controversial spacing

* use ignore-existing so that we dont overwrite icons

* use specific version of svgr/cli

* removed commented line

---------

Co-authored-by: Bob <uncoolbob@gmail.com>

* Add more logic to subscription management page and first try at typeahead

* standardise save button for single form mode

* fix missing HTML5 form validation feedback

* Fix form validation for select elements and highlight missing required fields

- Fix HTML5 form validation to include select elements in validation check
- Add visual highlighting (red borders) for empty required fields in ProfileModal
- Update SingleSelect component to support className prop
- Add highlightMissingFields prop chain through user profile components
- Improve ProfileModal banner text to clearly indicate missing field requirement

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Improved verbiage via Steve and Ryan

* proof of concept update-and-submit-handler

* remove unnecessary condition

* added onSavedDisplayEnd callback to SaveButton

* renamed it to onSuccess

* Banner styling updates (#1457)

* adjust banner colors

* add cta buttons to banner

* use theming for button roles

* cleanup spacing and add story

* update theme palette everywhere

* forgot ortho

* update susbscription banner with new component

* add subscription banner button

* update subscription info banner

* fix hover background

* prop rename

* one last place to add new colors

* improve banner styling consistency

* banner listen to set theme level

* added personalized message

* improve logic

* update logic for user icon

* add UserGuest icon

* Checkpoint commit since seemingly almost there

* Implement some of Bob's changes and fix a bug or two

* prevent status icons from floating away

* Use new onSuccess prop

* handle join button action with history

* add icon to subscribed status in profile header

* unwrap UserSubscriptionManagement

* Fix up logic for subscription management

* Revert for compilation

* Get TypeAhead working

* Fix SaveButton setTimeout race conditions and modal timing issues

  - Restructure SaveButton useEffect to prevent dependency loop with hasSuccessReverted
  - Add useRef for reliable timeout cleanup and prevent overlapping timers
  - Memoize onSuccess callbacks to avoid unnecessary re-renders
  - Improve subscription modal UX text and timing
  - Disable SaveButton in 'new' state for better UX

* make save button timeout reversion reliable

* remove onscreen debugging

* Refactor UserSubscriptionManagement conditional rendering

Move loading check to parent component (UserAccountForm) to enable
hooks usage in UserSubscriptionManagement. Make subscriptionGroups
prop required and remove early return.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor so modal UX is less jarring

* fixed banner dismissal

* Fixes for updating page state when user changes subscription status

* subheading subscribed status now from store state, not form state

* some little things

* consistent use of database-backed user data

* more canonical modal behaviour

* move NumberedHeader to coreui

* layout and colors

* add links

* update styling for subscribed user

* update styles for leave group dialog

* move getSubscriptionGroups to a hook and standardise return value to array or undefined

* additional style updates

* wire in react-query for genomics-site

* fix Select colors

* add providers for mbio and clinepi

* nearly forgot ortho

* split UserMenuGuest from UserMenu

* added UserMenuGuest to HeaderNav

* run yarn and add lockfile

* add userloggedin icon (#1471)

* standardise userIsSubscribed logic and add proper test to UserFormContainer

* make use of UserLoggedIn icon

* fix broken registration form

* clean up announcement logic; was showing for guests

* Add first cut of infrastructure to delete account

* more fixes to broken registration form (and user identification form)

* Standardise bold styling on user profile tab contents headings.

* get started on useSubscriptions feature flag

* showSubscriptionProds feature flag

* add SHOW_SUBSCRIPTION_PRODS to .env example

* comment out subscription-info banner; it will come from backend/dashboard

* change account to profile

* typeahead cursor updates

* give breathing room to confirm leave group dialog

* swap subscription icon and improve verbiage

---------

Co-authored-by: Bob <uncoolbob@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Ryan Doherty <tech@conical.org>
Co-authored-by: Ryan Doherty <385683+ryanrdoherty@users.noreply.github.com>
(cherry picked from commit b285e63369f4e23e9fb1a9fd7ace2e6e47b8d9cf)

v1.3.8

05 Sep 17:05
f8f4e4e

Choose a tag to compare

What's Changed

  • Ignore claude file by @bobular in #1444
  • Mbio diff abund remove values from picker that have been filtered out by @asizemore in #1435
  • Add opt-in keyboard movement for Dialog components by @bobular in #1447
  • More robust gatekeeping of AI expression summary sections by @bobular in #1452
  • Wgcna prime time updates by @asizemore in #1440
  • Add build-forever watch mode for library development by @bobular in #1458
  • Standardize coreui build process to use veupathdb-react-scripts by @bobular in #1463
  • All changes made for subscriptions feature by @ryanrdoherty in #1477
  • DatasetGraph functional component and TypeScript refactor for potential WDK error reporting by @bobular in #1461
  • Handle bad graphs response by @ryanrdoherty in #1397

Full Changelog: v1.3.7...v1.3.8

v1.3.6-patch.7

05 Sep 16:33

Choose a tag to compare

v1.3.6-patch.7 Pre-release
Pre-release

Full Changelog: v1.3.6-patch.6...v1.3.6-patch.7

Also removed EdaNotebookParameter.tsx

various updates before subscription feature

01 Sep 23:42

Choose a tag to compare

update menu link to static content (pubs) (nupur slacked)

mbio url to FAQ in header menu: do not use beta

bob/ann updates web-monorepo: V1.3.6 patch.4 preparation
open

web-monorepo: Add opt-in keyboard movement for Dialog components
closed

july 4? cristina: “add columns” popup shows some red weird message , bob opens issue web-monorepo: //github add margins to fix clipped red text bug

july 2 eda : nupur slacks: labels on mosaic plots X axes are missing. Click for example. This is happening for curated and diy studies. bob takes over Mosaic plots missing x-axis labels
bug

some better decision in gen epage to show or not AI section
aug 5 2025 i approve bobs PR web-monorepo: //github use transcript expression table size instead of the new attributes to decide on AI or not-AI

Variable values -removed because of a different variable filter- still showing in app dropdowns
closed

v1.3.7

18 Jul 14:05
6e4763c

Choose a tag to compare

What's Changed

Full Changelog: v1.3.6...v1.3.7

attempt to fix editing of UDs metadata

20 Jun 13:11

Choose a tag to compare

trying to fix the editing of UDs metadata in qa

fix UD metadata edit

20 Jun 19:27

Choose a tag to compare

fix UD metadata edit

vb remove unused link, fungi model orgs in gene page inline

06 Jun 22:43

Choose a tag to compare

will rebuild only vb and fungi with the new tag,

v1.3.6

29 May 20:18
7bef07b

Choose a tag to compare

What's Changed

  • Fix: WDK popup auto-center on async content load by @bobular in #1412

Full Changelog: v1.3.5...v1.3.6

v1.3.6-patch.1

29 May 20:23
7bef07b

Choose a tag to compare

v1.3.6-patch.1 Pre-release
Pre-release

What's Changed

  • AI expression summary client work