-
Notifications
You must be signed in to change notification settings - Fork 2
Merge develop into main #505
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
yinanazhou
wants to merge
139
commits into
main
Choose a base branch
from
develop
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
139 commits
Select commit
Hold shift + click to select a range
ed9fa10
fix: instrument navbar style
yinanazhou 20558a5
fix: add navigation support for google translate
yinanazhou 3bfc769
Merge pull request #392 from DDMAL/nav-fix
yinanazhou d865125
Merge pull request #395 from DDMAL/gt-fix
yinanazhou 5b2aa55
fix: move count num outside of hbs facet list for google translate
yinanazhou 88457b3
Merge pull request #397 from DDMAL/hbs-trans
yinanazhou b2fc4f9
fix: change detail page title to instrument name
yinanazhou 58a3b30
Merge pull request #401 from DDMAL/instrument-title
yinanazhou 82900f6
Update adding instrument name to see if that already exists in UMIL_db
PouyaMohseni 8f5b4b7
Revert "Update adding instrument name to see if that already exists i…
PouyaMohseni 73f9021
Fix duplicate added names in update_umil_db.py
PouyaMohseni 62936e9
test: set up vitest and add frontend unit test
yinanazhou 0bc7203
test: init playwright configs & set up test dataset
yinanazhou dc30dfb
test: init playwright pages
yinanazhou 7cbd74f
test: init playwright fixtures
yinanazhou 67462a5
test: add separate docker compose config for E2E test
yinanazhou a05de14
test: add navigation E2E test for desktop and mobile
yinanazhou 1ea3a06
ci: init workflow for E2E tests
yinanazhou d4cdd78
fix(update_umil_db.py): check for duplicate name in query and umil_db
PouyaMohseni ccbcd48
test: add E2E authentication tests for desktop and mobile
yinanazhou cfebcde
refactor: remove unnecessary async for `isMobile`
yinanazhou 0bc9d36
fix: use class selector for language btns on home page
yinanazhou 32dd4f6
test: init test for google translate automation on language btn
yinanazhou 0462f60
fix: update auth setup and optimize auth test
yinanazhou ad17cc4
fix: update test mode environment variable for instrument import command
yinanazhou 3922ba9
ci: add step to build frontend assets before E2E tests
yinanazhou e28d0c2
fix: add error handling to instrument import in E2E test
yinanazhou f75e80e
fix: add solr indexing & error handling
yinanazhou f9f20d6
fix(import_languages.py): add User-Agent header to prevent request bl…
PouyaMohseni aa3b6bf
fix(detail.html): add notranslate to alias fields
PouyaMohseni ade151c
Created spreadsheet directory for storing spreadsheet versions in zip…
kyrieb-ekat 2687f26
Merge pull request #422 from DDMAL/spreadsheet
kyrieb-ekat 98553bf
feat: add RTL support and ltr-keep override for Google Translate in scss
PouyaMohseni bdc6bc0
feat: force left-to-right for the French content
PouyaMohseni b699533
fix(detail.html): add notranslate to alias fields
PouyaMohseni 06846f1
fix: update setCookie & add deleteCookie for safari
yinanazhou bdac44f
test: add checks for frSite & enSite cookie
yinanazhou 9b68aee
test: update unit test for cookies
yinanazhou 9845583
fix: add comments and changed ltr-keep to force-ltr
PouyaMohseni c72e94f
fix: added notranslate to UMIL name
PouyaMohseni f0cadc2
fix: enable baseURL inheritance in playwright setup project
yinanazhou 65ea6d6
Fix: Check new name exists in UMIL_db
PouyaMohseni b52ea3b
fix: add notranslate to UMIL name
PouyaMohseni cc2a00b
fix: decode cookie in readCookie to match writeCookie
yinanazhou a890e96
Merge pull request #415 from DDMAL/vitest-init
yinanazhou 5918295
chore: add auto-generated test results to gitignore
yinanazhou 0caf30e
chore: add .cursor/ to gitignore
yinanazhou b5b14d5
feat(auth): add email verification for user registration
yinanazhou b76b934
test: add email verification to registration e2e tests
yinanazhou d28b0c3
chore: comment out email settings in .env.sample
yinanazhou 42067e3
fix: remove email param in `extractVerificationUrl`
yinanazhou bebbc79
style: remove `View all languages` button
yinanazhou ac0c524
Merge branch 'develop' into fix/import-languages-header
PouyaMohseni eb456a8
fix(import_languages.py): add User-Agent header to prevent request bl…
PouyaMohseni fbbdc6f
Merge pull request #442 from DDMAL/remove-view-all
yinanazhou 4fff599
fix: update translated-rtl and force-ltr to the nested version
PouyaMohseni aaa055a
refactor: extract email sending task from nested function
yinanazhou aef1e64
Merge pull request #439 from DDMAL/email-notif
yinanazhou 1cad557
feat: add RTL language support to instrument detail page
PouyaMohseni aa48ad8
fix: rename direction to html_direction in the Language model and enh…
PouyaMohseni 4a334dd
fix: removed the unused variable: fetched_dir
PouyaMohseni 86650d5
Merge pull request #428 from DDMAL/rtl-googletranslate
PouyaMohseni b05019f
Merge pull request #445 from DDMAL/add-lang-align
PouyaMohseni d0d0353
fix: repair failing tests by correcting instruments migration chain
PouyaMohseni cea2f93
Merge pull request #447 from DDMAL/fix-migrations
PouyaMohseni d2329ac
fix: adjust table direction when translated to rtl
PouyaMohseni c5a29f4
fix: standardize instrument titles using original Wikidata capitaliza…
PouyaMohseni a08aef7
fix: make addName modal rtl-friendly
PouyaMohseni a6ed3f4
Merge pull request #438 from DDMAL/correct-capitalization
PouyaMohseni 1eee976
fix: add space between colon for ID and InstrumentName
PouyaMohseni df56332
fix: use Bootstrap prebuilt features and align stack layout with wind…
PouyaMohseni 3adc41a
Merge pull request #452 from DDMAL/rtl-fix-addname
PouyaMohseni 3df22be
Merge pull request #449 from DDMAL/direction-support-inst-detail
PouyaMohseni d49e147
feat: add `force-rtl` utilities for forced-ltr contexts
PouyaMohseni bd2ee9b
Merge pull request #451 from DDMAL/rtl-exception-fix
PouyaMohseni 944690d
feat(auth): add email verification workflow with rate limiting
yinanazhou e56019f
chore: rename `**/registration/**` to `**/auth/**`
yinanazhou db7f250
test: update auth tests for registration workflow changes
yinanazhou bc1cb80
fix: validate next parameter to prevent open redirect attacks
yinanazhou 806c686
fix: check for unverified accounts before form validation
yinanazhou e70313f
refactor: reorder rate limit check for email resending
yinanazhou 333d8dc
fix: add redirect authenticated users to custom login
yinanazhou e49d733
test: increase timeout in CI
yinanazhou 8717cec
test: use `html[lang]` instead of cookies in GT E2E test
yinanazhou dbcd878
refactor: make resend verification cooldown atomic with cache.add()
yinanazhou 97e4558
fix: clear stale pending verification session for unverified account
yinanazhou 8f57cff
test: disable GT script loading for most E2E tests to prevent 429
yinanazhou 99eb613
fix: set cooldown on expiration to prevent race condition
yinanazhou d3742b3
fix: verify password for existing unverified accounts when register
yinanazhou da3eebd
fix: show all active users on home page
PouyaMohseni 677e9b2
feat: set all the default values in Statistics Section to 0
PouyaMohseni 9f3da9b
feat: switch to Masonry view on small screens
PouyaMohseni 1515530
Revert "feat: switch to Masonry view on small screens"
PouyaMohseni 17bb9fa
Merge pull request #460 from DDMAL/email-wkflow
yinanazhou da7880d
Merge pull request #461 from DDMAL/editors_count
PouyaMohseni 1b62609
test(e2e): refactor Google Translate with config modes
yinanazhou 00e17aa
fix: limit table height only if more than 5 labels
PouyaMohseni 4fba34d
Merge pull request #495 from DDMAL/gt-test
yinanazhou b3efd01
ci: add automated release workflow with deployment options
yinanazhou cea527b
ci: add rollback to production
yinanazhou c12c5e4
ci: add step to validate version input
yinanazhou 31f81d3
ci: queue prod deployment instead of cancel
yinanazhou 8afe323
chore: update black version in pre-commit configuration to 26.1.0
yinanazhou e624c5c
Merge pull request #499 from DDMAL/ci-prod
yinanazhou 2d84e64
ci: fix version assignment in deployment workflow
yinanazhou ad2bf1d
Merge pull request #506 from DDMAL/ci-prod
yinanazhou 235e95b
ci: fix error message for invalid deploy version
yinanazhou 51d4bcc
Merge pull request #507 from DDMAL/ci-prod
yinanazhou c163eaa
feat: add max for Go To Page in pagination
PouyaMohseni afefb69
fix: handle multiple `Go To Page` inputs
PouyaMohseni 753b43f
fix: use edismax to support special characters in Solr contextual que…
PouyaMohseni 9403fba
feat: add rtl/ltr direction support for adding instrument name
PouyaMohseni b11fc31
fix: move inline script from `addName.html` to `AddName.ts`
PouyaMohseni f31bd2e
refactor: move `readLanguagesFromPage` to utils and rename to `getLan…
PouyaMohseni 5b7e3cd
fix: add `notranslate` to username in the navbar drop down
PouyaMohseni ae7e4ff
fix: add `notranslate` to the shown search query in instruments page
PouyaMohseni 52f64c3
fix: add `notranslate` to the `About` page
PouyaMohseni c4b6836
fix: add `notranslate` to dropdown language menu
PouyaMohseni 94ddf56
Merge pull request #475 from DDMAL/fix-page-option
PouyaMohseni c85c4cc
Merge pull request #469 from DDMAL/invalid-query
PouyaMohseni d9ae3a3
Merge pull request #504 from DDMAL/table-height
PouyaMohseni 9956e5a
Merge pull request #448 from DDMAL/rtl-support-add-inst
PouyaMohseni 77f6f50
fix: add http error handling
yinanazhou a5ff62c
Merge pull request #509 from DDMAL/fix-http
yinanazhou b0aca63
chore: update LLM files in `.gitignore`
yinanazhou 4f6680e
feat(instruments): init instrument creation feature
yinanazhou ca9a723
feat: init instrument deletion feature
yinanazhou 6110c55
chore: update vite config
yinanazhou eb871a5
test: update instrument url to use `umil_id`
yinanazhou ee6e146
ci: update pre commit version & config
yinanazhou c296de1
refactor: extract shared NameRowManager and unify patterns
yinanazhou f2c14fa
test: CRUD test for name and instrument
yinanazhou f8656f3
fix: add html direction null check
yinanazhou 6a337e9
chore: remove duplicate entries in .gitignore
yinanazhou a80cdba
chore: update `docker-compose` to `docker compose`
yinanazhou 086d662
fix: correct syntax for error message
yinanazhou 48d06ae
chore: add comment for Wikidata `languageinfo`
yinanazhou 0b46f56
fix: index add/delete names
yinanazhou b6815a2
Merge pull request #513 from DDMAL/create_inst
yinanazhou File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| name: Auto Release | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
|
|
||
| jobs: | ||
| release: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v5 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| - name: Semantic Release | ||
| uses: cycjimmy/semantic-release-action@v4 | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| with: | ||
| extra_plugins: | | ||
| @semantic-release/changelog | ||
| @semantic-release/git |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| name: E2E Tests | ||
| on: [push, pull_request] | ||
|
|
||
| jobs: | ||
| e2e-tests: | ||
| name: Run E2E Tests | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 30 | ||
|
|
||
| steps: | ||
| # Step 1: Checkout the repository | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| # Step 2: Set up Node.js | ||
| - name: Set up Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: "20" | ||
| cache: "npm" | ||
| cache-dependency-path: web-app/frontend/package-lock.json | ||
|
|
||
| # Step 3: Install frontend dependencies | ||
| - name: Install dependencies | ||
| working-directory: web-app/frontend | ||
| run: npm ci | ||
|
|
||
| # Step 4: Install Playwright browsers | ||
| - name: Install Playwright Browsers | ||
| working-directory: web-app/frontend | ||
| run: npx playwright install --with-deps chromium firefox webkit | ||
|
|
||
| # Step 4.5: Build frontend assets | ||
| # Nginx mounts ./web-app/frontend/assets/ from the host, | ||
| # so we need to build assets BEFORE starting Docker containers. | ||
| # Otherwise CSS/JS won't load properly in tests. | ||
| - name: Build frontend assets | ||
| working-directory: web-app/frontend | ||
| run: | | ||
| npm run sass:build | ||
| npm run build | ||
| echo "Verifying build output..." | ||
| ls -la assets/css/ dist/ | ||
| test -f dist/manifest.json || (echo "ERROR: manifest.json not found!" && exit 1) | ||
| test -d assets/css || (echo "ERROR: CSS directory not found!" && exit 1) | ||
|
|
||
| # Step 5: Create environment file for Docker Compose | ||
| - name: Create .env file | ||
| run: | | ||
| cat > .env << EOF | ||
| # Test Database Configuration | ||
| TEST_POSTGRES_DB=vim_test | ||
| TEST_POSTGRES_USER=vim_test_user | ||
| TEST_POSTGRES_PASSWORD=vim_test_password | ||
|
|
||
| # Application Configuration | ||
| HOST_NAME=localhost | ||
| DJANGO_SECRET_KEY=test-secret-key-for-ci-only-not-for-production | ||
| EOF | ||
|
|
||
| # Step 6: Start Docker Compose services and wait for healthchecks | ||
| - name: Start Docker Compose | ||
| run: docker compose -f docker-compose-test.yml up -d --wait | ||
|
|
||
| # Step 7: Check Docker services status | ||
| # - name: Check Docker services | ||
| # run: docker compose -f docker-compose-test.yml ps | ||
|
|
||
| # Step 8: Run E2E tests | ||
| - name: Run Playwright tests | ||
| working-directory: web-app/frontend | ||
| run: npm run test:e2e | ||
|
|
||
| # Step 9: Upload Playwright report (on failure) | ||
| - name: Upload Playwright Report | ||
| if: failure() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: playwright-report | ||
| path: web-app/frontend/tests/playwright-report/ | ||
| retention-days: 30 | ||
|
|
||
| # Step 10: Upload test results (on failure) | ||
| - name: Upload Test Results | ||
| if: failure() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: test-results | ||
| path: web-app/frontend/tests/test-results/ | ||
| retention-days: 30 | ||
|
|
||
| # Step 11: Clean up - Stop and remove Docker containers | ||
| - name: Stop Docker Compose | ||
| if: always() | ||
| run: docker compose -f docker-compose-test.yml down -v |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| name: Frontend Tests | ||
| on: [push, pull_request] | ||
|
|
||
| jobs: | ||
| frontend-unit-tests: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Set up Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: "20" | ||
| cache: "npm" | ||
| cache-dependency-path: web-app/frontend/package-lock.json | ||
|
|
||
| - name: Install dependencies | ||
| working-directory: web-app/frontend | ||
| run: npm ci | ||
|
|
||
| - name: Run unit tests | ||
| working-directory: web-app/frontend | ||
| run: npm test |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,4 +7,4 @@ jobs: | |
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: psf/black@stable | ||
| - uses: psf/black@stable | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| { | ||
| "branches": ["main"], | ||
| "plugins": [ | ||
| "@semantic-release/commit-analyzer", | ||
| "@semantic-release/release-notes-generator", | ||
| "@semantic-release/changelog", | ||
| [ | ||
| "@semantic-release/git", | ||
| { | ||
| "assets": ["CHANGELOG.md"], | ||
| "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" | ||
| } | ||
| ], | ||
| "@semantic-release/github" | ||
| ] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # Frontend tests (Vitest) | ||
| test-frontend: | ||
| docker compose exec app npm test --prefix /virtual-instrument-museum/frontend | ||
|
|
||
| .PHONY: test-frontend | ||
|
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.