Skip to content

Conversation

@yinanazhou
Copy link
Member

@yinanazhou yinanazhou commented Jan 18, 2026

This PR merges the latest changes from develop into main. This should trigger the latest release-deployment workflow described in https://github.com/DDMAL/UMIL/wiki/Deployment-%26-Release


Note

Bold highlights denote major areas.

  • CI/CD & Releases: Add semantic-release on main and production deploy workflow with version selection, validation, rollback to last deployed, and docker build/up; fix CI build formatting
  • Test infrastructure: New Playwright E2E pipeline and frontend unit tests (Vitest); add docker-compose-test.yml, test dataset, and .env test DB vars
  • Auth & email: Implement email verification flow (views, URLs, templates), async email sending, token generation/validation, resend rate limiting, session helpers; configurable SMTP with console fallback
  • Data model & import: Add Language.html_direction with migration; enrich language import (headers, SPARQL for text direction); instrument import uses small dataset in test mode
  • App behavior & i18n: Pass languages to frontend as JSON; support RTL/"notranslate" in templates, pagination/input tweaks; use Solr edismax; avoid title-casing names; dedupe name additions
  • Frontend: Improve Google Translate initialization and cookie handling; add RTL utility classes and tests; update build/test deps and scripts
  • Configs: Deployment compose includes email envs; settings add MODE=test DB, site constants, messages; ignore test artifacts and add pre-commit Black rev

Written by Cursor Bugbot for commit a5ff62c. This will update automatically on new commits. Configure here.

yinanazhou and others added 30 commits September 19, 2025 17:48
- Set the active tab to "instruments" for instrument detail page
- Removed active style to unify active navtab style

refs: #391
- Removed existing google translate widge on initialization
- Added event listeners for navigation

refs: #394
fix: instrument navbar style
fix: add navigation support for google translate
- Google translate doesn't work well with numbers. The best practice is to only put human-readable part in a separate span.
- This is needed to make sure that all the hbs items can be translated well.

refs: #393
fix: move count num outside of hbs facet list for google translate
fix: change detail page title to instrument name
- Added test for `cookies.ts`, `NameValidator.ts`, and `WikidataService.ts`.
- Added Makefile for running frontend tests using Docker.
- Added CI test for frontend unit test

refs: #398
- Updated all related functions
- Removed id selector for language btns on home page as in there are two of each, one for desktop and one for mobile
- Added `.desktop` and `.mobile` to distinguish the layout
- Updated event listeners for this change
fix: add http error handling
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 5 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

- Add CreateInstrument Django view with form handling and validation
- Implement frontend UI with CreateInstrument TypeScript module
- Add CreateInstrumentValidator for frontend form validation
- Add CreateInstrumentManager for API interactions and DatabaseService
- Create error_codes and exceptions modules for structured error handling
- Add migration 0012 for instrument creation feature
- Update InstrumentName and AVResource models to support creation workflow
- Update management commands (import, download, index) for creation compatibility
- Update instrument views and templates with creation UI
- Update Docker Compose and nginx configurations
- Add comprehensive test suite for creation workflows

ref: #406
- Add Django DELETE endpoint with permission checks for user-created instruments
- Add confirmation modal template and delete button on detail page
- Add TypeScript DeleteInstrumentManager for modal interaction and API call
- Add Solr cleanup on successful deletion via transaction.on_commit
- Restrict delete access to instrument creator and superusers
- Create NameRowManager class to extract duplicated name row management logic
  (row creation, RTL support, add/remove rows, form data collection)
- Refactor AddNameManager to use NameRowManager via composition
- Refactor CreateInstrumentManager to use NameRowManager via composition
- Move AddName publish logic from entry point into AddNameManager for consistency
- Fix DeleteNameManager to use shared getCsrfToken utility instead of private method
- Update entry points (AddName.ts, CreateInstrument.ts) to follow consistent initialization pattern
Feature: create/delete instruments
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.

3 participants