From 52726dd4baafe0d1e47a2b8a261bc6f127743178 Mon Sep 17 00:00:00 2001 From: linearcombination <4829djaskdfj@gmail.com> Date: Mon, 14 Sep 2026 13:33:01 -0700 Subject: [PATCH 1/3] Enable PDF as user choice again By request of PO --- frontend/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/.env b/frontend/.env index 6274ab66..1cc3a980 100644 --- a/frontend/.env +++ b/frontend/.env @@ -33,4 +33,4 @@ PUBLIC_CHAPTERS_IN_BOOKS_URL = '/chapters_in_books' PUBLIC_PRODUCTION_DOMAIN = 'bibleineverylanguage.org' PUBLIC_TURN_OFF_EPUB = true -PUBLIC_TURN_OFF_PDF = true +PUBLIC_TURN_OFF_PDF = false From 4136aefdf9af90da61d053f3c9f9c014a058115b Mon Sep 17 00:00:00 2001 From: linearcombination <4829djaskdfj@gmail.com> Date: Tue, 15 Sep 2026 06:48:41 -0700 Subject: [PATCH 2/3] Disable error correcting and testing of ndc-x-chibangwe Data API no longer provides this language --- backend/doc/domain/usfm_error_detection_and_fixes.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/doc/domain/usfm_error_detection_and_fixes.py b/backend/doc/domain/usfm_error_detection_and_fixes.py index 66ddf8c9..e8478a0f 100644 --- a/backend/doc/domain/usfm_error_detection_and_fixes.py +++ b/backend/doc/domain/usfm_error_detection_and_fixes.py @@ -173,9 +173,9 @@ ("nak-x-bileki", "reg", "2ti"), ("nak-x-bileki", "reg", "jas"), ("nak-x-bileki", "reg", "mrk"), - ("ndc-x-chibangwe", "reg", "mrk"), - ("ndc-x-chidanda", "reg", "luk"), - ("ndc-x-chidanda", "reg", "gal"), + # ("ndc-x-chibangwe", "reg", "mrk"), # unavailable from data API + # ("ndc-x-chidanda", "reg", "luk"), # unavailable from data API + # ("ndc-x-chidanda", "reg", "gal"), # unavailable from data API ("nfd", "reg", "gal"), ("nfd", "reg", "2th"), ("nfd", "reg", "2ti"), From 17b2d03aabb95a4a7002f6868d07f33c093556e8 Mon Sep 17 00:00:00 2001 From: linearcombination <4829djaskdfj@gmail.com> Date: Tue, 15 Sep 2026 06:50:28 -0700 Subject: [PATCH 3/3] Re-enable PDF frontend tests PDF is enabled in this PR, so we want the tests to be enabled again. --- frontend/tests/e2e/doc_test_1.ts | 2 +- frontend/tests/e2e/doc_test_2.ts | 4 ++-- frontend/tests/e2e/doc_test_3.ts | 2 +- frontend/tests/e2e/doc_test_4.ts | 8 ++++---- frontend/tests/e2e/doc_test_5.ts | 2 +- frontend/tests/e2e/doc_test_7.ts | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/frontend/tests/e2e/doc_test_1.ts b/frontend/tests/e2e/doc_test_1.ts index 8ab2c554..17be82ba 100644 --- a/frontend/tests/e2e/doc_test_1.ts +++ b/frontend/tests/e2e/doc_test_1.ts @@ -49,7 +49,7 @@ test('ui part 2', async ({ page }) => { .nth(2) .click() await page.getByRole('button', { name: 'Next' }).click() - // await page.getByRole('radio', { name: 'PDF' }).click() + await page.getByRole('radio', { name: 'PDF' }).click() await page.getByText('Interleave content by chapter').click() await page.getByRole('button', { name: 'Generate File' }).click() }) diff --git a/frontend/tests/e2e/doc_test_2.ts b/frontend/tests/e2e/doc_test_2.ts index 3b842c23..85a3856a 100644 --- a/frontend/tests/e2e/doc_test_2.ts +++ b/frontend/tests/e2e/doc_test_2.ts @@ -55,7 +55,7 @@ test.skip('can select gateway tab after first selecting heart language and hitti await page.getByText('Regular').click({ timeout: 120_000 }) await page.getByText('Unlocked Literal Bible').click() await page.getByRole('button', { name: 'Next' }).click() - // await page.getByRole('radio', { name: 'PDF' }).click() + await page.getByRole('radio', { name: 'PDF' }).click() await page.getByLabel('Interleave content by chapter').check() await page.getByRole('button', { name: 'Generate File' }).click() }) @@ -68,7 +68,7 @@ test('optional settings', async ({ page }) => { await page.getByRole('button', { name: 'Next' }).click() await page.getByText('Regular').click() await page.getByRole('button', { name: 'Next' }).click() - // await page.getByRole('radio', { name: 'PDF' }).click() + await page.getByRole('radio', { name: 'PDF' }).click() await expect(page.getByRole('main')).toContainText('▶ Show Optional Settings') await page.getByRole('button', { name: '▶ Show Optional Settings' }).click() await expect(page.getByRole('main')).toContainText( diff --git a/frontend/tests/e2e/doc_test_3.ts b/frontend/tests/e2e/doc_test_3.ts index 6e40f19c..32134b18 100644 --- a/frontend/tests/e2e/doc_test_3.ts +++ b/frontend/tests/e2e/doc_test_3.ts @@ -51,7 +51,7 @@ test('use section visual separator setting', async ({ page }) => { await page.getByRole('button', { name: 'Generate File' }).click() }) -test.skip('ordering of books in document title(s) and body', async ({ page }) => { +test('ordering of books in document title(s) and body', async ({ page }) => { await page.goto('http://localhost:8001/') await page.getByPlaceholder('Search Gateway Languages').click() await page.getByPlaceholder('Search Gateway Languages').fill('tpi') diff --git a/frontend/tests/e2e/doc_test_4.ts b/frontend/tests/e2e/doc_test_4.ts index f1cfd7de..76b53635 100644 --- a/frontend/tests/e2e/doc_test_4.ts +++ b/frontend/tests/e2e/doc_test_4.ts @@ -1,6 +1,6 @@ import { expect, test } from '@playwright/test' -test.skip('languages are sorted in clicked order', async ({ page }) => { +test('languages are sorted in clicked order', async ({ page }) => { await page.goto('http://localhost:8001/') await page.getByText('Français (French)').click() await page.getByText('Cebuano').click() @@ -30,7 +30,7 @@ test.skip('languages are sorted in clicked order', async ({ page }) => { ) }) -test.skip('use prince with lots of books', async ({ page }) => { +test('use prince with lots of books', async ({ page }) => { await page.goto('http://localhost:8001/') await page.getByPlaceholder('Search Gateway Languages').click() await page.getByPlaceholder('Search Gateway Languages').fill('tpi') @@ -68,8 +68,8 @@ test('acq', async ({ page }) => { await page.getByRole('button', { name: 'Next' }).click() await page.getByText('Regular').click() await page.getByRole('button', { name: 'Next' }).click() - // await page.getByRole('radio', { name: 'PDF' }).click() - // await page.getByText('Use PrinceXml to produce the').click() + await page.getByRole('radio', { name: 'PDF' }).click() + await page.getByText('Use PrinceXml to produce the').click() await page.getByRole('button', { name: '▶ Show Optional Settings' }).click() await expect(page.getByRole('main')).toContainText( "Use chapter labels, e.g., 'Chapter 1' instead of '1'" diff --git a/frontend/tests/e2e/doc_test_5.ts b/frontend/tests/e2e/doc_test_5.ts index 0c964ce1..65096cf0 100644 --- a/frontend/tests/e2e/doc_test_5.ts +++ b/frontend/tests/e2e/doc_test_5.ts @@ -11,7 +11,7 @@ test('merge of data API data and DOC only data', async ({ page }) => { await expect(page.locator('body')).toContainText('Translation Notes') }) -test.skip('space between end of chunk and beginning of another', async ({ page }) => { +test('space between end of chunk and beginning of another', async ({ page }) => { await page.goto('http://localhost:8001/') await page.getByRole('button', { name: 'Heart' }).click() await page.getByPlaceholder('Search Heart Languages').click() diff --git a/frontend/tests/e2e/doc_test_7.ts b/frontend/tests/e2e/doc_test_7.ts index ed0376eb..438b36c6 100644 --- a/frontend/tests/e2e/doc_test_7.ts +++ b/frontend/tests/e2e/doc_test_7.ts @@ -10,7 +10,7 @@ test('visibility of optional settings based on resources chosen', async ({ page await page.getByLabel('French Louis Segond 1910').uncheck() await page.getByLabel('Translation Words tw').uncheck() await page.getByRole('button', { name: 'Next' }).click() - // await page.getByRole('radio', { name: 'PDF' }).click() + await page.getByRole('radio', { name: 'PDF' }).click() await page.getByRole('button', { name: '▶ Show Optional Settings' }).click() await expect(page.getByRole('main')).toContainText( "Use chapter labels, e.g., 'Chapter 1' instead of '1'" @@ -59,7 +59,7 @@ test('burmese', async ({ page }) => { await expect(page.locator('body')).toContainText('Unlocked Literal Bible') await page.getByLabel('Select all').check() await page.getByRole('button', { name: 'Next' }).click() - // await page.getByRole('radio', { name: 'PDF' }).click() - // await page.getByText('Use PrinceXml to produce the').click() + await page.getByRole('radio', { name: 'PDF' }).click() + await page.getByText('Use PrinceXml to produce the').click() await page.getByRole('button', { name: 'Generate File' }).click() })