Skip to content

[Release] Stage to Main - #884

Open
Ruchika4 wants to merge 5 commits into
mainfrom
stage
Open

[Release] Stage to Main#884
Ruchika4 wants to merge 5 commits into
mainfrom
stage

Conversation

Ruchika4 and others added 5 commits August 25, 2026 11:21
## MWPW-204909 - Add gen-presentation-v2 / interactive-report / stylize
verbs and PDF integrity validation

### Summary
Adds support for three new Acrobat verbs and introduces config-driven
PDF pre-upload validation — encryption / password-protection,
corrupted-file, AcroForm, and scanned-document detection — alongside a
generalized word page-count check.

Updating pdf-lite library code with latest version 1.14.0

### Changes

**New verbs**
- Registered `gen-presentation-v2`, `interactive-report`, and `stylize`
across the enabled-features list (`workflow.js`), `LIMITS_MAP`
(`action-binder.js`), and the verb config arrays in
`target-config.json`.
- Added a `page-limit-15` limit (used by `stylize`) in `limits.json`.

**Config-driven PDF validation** (`action-binder.js`,
`pdflite-validator.js`)
- `pdflite-validator.js` now surfaces `isEncrypted`,
`isPasswordProtected`, `hasAcroForm`, and `isScanned` from pdflite file
details, and flags files as corrupted when `fileDetails` throws.
- `filterFilesWithPdflite` runs integrity, AcroForm, scanned, and
page-count checks selectively per verb, driven by new config lists:
`pdfIntegrityCheckVerbs`, `pdfAcroformCheckVerbs`,
`pdfScannedCheckVerbs`, and `wordPageCountVerbs` (the word page-count
check is now config-driven instead of hardcoded to `resume-builder`).
- The per-check logic is unified behind a single helper to remove
duplication across the integrity/AcroForm/scanned checks.
- Encrypted / password-protected / corrupted, form-containing, and
scanned PDFs are filtered out with error toasts.

**Scanned-document detection**
- `pdflite`'s scan (`IS_SCANNED_DOCUMENT`) is only computed when
`fileDetails` is called with `checkScanned = true`, so `checkScanned` is
threaded through `validateFilesWithPdflite` and enabled only for verbs
in `pdfScannedCheckVerbs` (currently `stylize`) to avoid the extra OCR
cost on other flows.

**Corrupted-file handling**
- An exception thrown from pdflite's `fileDetails` signifies a
corrupted/unreadable PDF; these are now caught and rejected via the
existing integrity check (no new error code).

**New error codes / messages**
- Added `validation_error_password_protected(_multi)`,
`validation_error_acroform_not_supported(_multi)`, and
`validation_error_scanned_document(_multi)` to the error map and message
maps.

### Testing
- Added unit tests for `pdflite-validator` covering the new encryption /
password-protection / AcroForm fields — passing.
- Verified the existing Acrobat action-binder unit suite runs against
the updated code (headless CI).
- Suggested QA:
- Upload flows for `gen-presentation-v2`, `interactive-report`, and
`stylize` (page limits, allowed file types).
- Upload an encrypted / password-protected PDF, a PDF containing a form,
and a corrupted PDF to a verb in `pdfIntegrityCheckVerbs` /
`pdfAcroformCheckVerbs` and confirm the correct error toast appears and
the file is excluded.
- Upload a scanned PDF to `stylize` and confirm the scanned-document
error toast fires.
- Confirm word page-count validation still fires for `resume-builder`
and the newly configured verbs.
- All these 3 verbs have the small file optimization enabled too. Please
verify that as part of QA.
  - Validate file upload works for signed in users too for all 3 verbs.

Unity integration is not implemented on stage on Unity BE and product
side yet, so the end-to-end flow will not work for now. Please test all
the client-side validation till then.

### Test URLs
-
https://mwpw-204909--da-dc--adobecom.aem.page/acrobat/online/test/ruchika/interactive-report?unitylibs=avalon
-
https://mwpw-204909--da-dc--adobecom.aem.page/acrobat/online/test/ruchika/generate-presentation?unitylibs=avalon
-
https://mwpw-204909--da-dc--adobecom.aem.page/acrobat/online/test/ruchika/stylize?unitylibs=avalon

---------

Co-authored-by: Ruchika Sinha <tek10248@Ruchikas-MacBook-Pro.local>
[MWPW-199553] Unity a11y fixes for prompt bar across unity widgets

Resolves: [MWPW-199553](https://jira.corp.adobe.com/browse/MWPW-199553)
[MWPW-199555](https://jira.corp.adobe.com/browse/MWPW-199555)
[MWPW-199557](https://jira.corp.adobe.com/browse/MWPW-199557)
[MWPW-199558](https://jira.corp.adobe.com/browse/MWPW-199558)

**Test URLs:**
- Before: 1.
https://main--da-cc--adobecom.aem.page/products/firefly?unitylibs=stage
2.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-video-generator?unitylibs=stage
3.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-art-generator?unitylibs=stage
4.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-face-generator?unitylibs=stage
5.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-voice-generator?unitylibs=stage
6.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-painting-generator?unitylibs=stage
- After: 1.
https://main--da-cc--adobecom.aem.page/products/firefly?unitylibs=mwpw-199553
2.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-video-generator?unitylibs=mwpw-199553
3.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-art-generator?unitylibs=mwpw-199553
4.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-face-generator?unitylibs=mwpw-199553
5.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-voice-generator?unitylibs=mwpw-199553
6.
https://main--da-cc--adobecom.aem.page/products/firefly/features/ai-painting-generator?unitylibs=mwpw-199553

---------

Co-authored-by: vipulg <vipulg@adobe.com>
…report to pdf only for viewer flow (#880)

## Summary

- Restricted `gen-presentation-v2` and `interactive-report` verbs to
PDF-only file uploads by replacing `allowed-filetypes-study-spaces` +
`allowed-filetypes-eml-msg-images` with `allowed-filetypes-pdf-only` in
`action-binder.js`
- Removed both verbs from `nonpdfSfuProductScreen` in
`target-config.json` (non-PDF product screen is irrelevant when only PDF
is accepted)
- Removed both verbs from `wordPageCountVerbs` in `target-config.json`
(Word page count validation is no longer needed)
- Deleted the `allowed-filetypes-eml-msg-images` entry from
`limits.json` as it was exclusively used by these two verbs and is now
dead config

## Test plan

- [ ] Upload a PDF to `gen-presentation-v2` — should proceed normally
- [ ] Upload a PDF to `interactive-report` — should proceed normally
- [ ] Upload a non-PDF file (e.g. `.docx`, `.pptx`, `.jpg`) to either
verb — should be rejected with a file type validation error
- [ ] Verify no regressions on other verbs that use
`allowed-filetypes-study-spaces` (`quiz-maker`, `flashcard-maker`,
`mindmap-maker`)

Test Url:

**Stage:**
https://stage--da-dc--adobecom.aem.page/acrobat/campaign/generate-presentation?unitylibs=stage
**Branch:**
https://mwpw-206115--da-dc--adobecom.aem.page/acrobat/campaign/generate-presentation?unitylibs=MWPW-206112


**Stage:**
https://stage--da-dc--adobecom.aem.page/acrobat/campaign/interactive-report?unitylibs=stage
**Branch:**
https://mwpw-206115--da-dc--adobecom.aem.page/acrobat/campaign/interactive-report?unitylibs=MWPW-206112

Co-authored-by: Ruchika Sinha <tek10248@Ruchikas-MacBook-Pro.local>
… remaining acrobat verbs (#879)

<!-- Before submitting, please review all open PRs. -->

* As part of batch 3 enable small file optimization for all acrobat
verbs for file size less than 1 MB
* Since we are enabling it for all existing verbs removed
directUploadVerbs from target config
* With this change any future acrobat verb will automatically inherit
small file upload optimization

Resolves: [MWPW-205562](https://jira.corp.adobe.com/browse/MWPW-205562)

**Test URLs:**
- Before:
https://stage--da-dc--adobecom.aem.page/acrobat/online/ai-summary-generator?unitylibs=stage
- After:
https://stage--da-dc--adobecom.aem.page/acrobat/online/ai-summary-generator?unitylibs=MWPW-205562

- Before:
https://stage--da-dc--adobecom.aem.page/acrobat/online/word-to-pdf?unitylibs=stage
- After:
https://stage--da-dc--adobecom.aem.page/acrobat/online/word-to-pdf?unitylibs=MWPW-205562

- Before:
https://stage--da-dc--adobecom.aem.page/acrobat/campaign/generate-presentation?unitylibs=stage
- After:
https://stage--da-dc--adobecom.aem.page/acrobat/campaign/generate-presentation?unitylibs=MWPW-205562

**Testing Note:**
* Test across existing acrobat verbs for small file and make sure upload
works as expected with just one Upload api call
* For files greater than 1MB it should have finalize calls and have
existing flow across verbs

Co-authored-by: Ruchika Sinha <tek10248@Ruchikas-MacBook-Pro.local>
@aem-code-sync

aem-code-sync Bot commented Sep 4, 2026

Copy link
Copy Markdown

Hello, I'm the AEM Code Sync Bot and I will run some actions to deploy your branch and validate page speed.
In case there are problems, just click a checkbox below to rerun the respective action.

  • Re-run all PSI checks
  • Re-run failed PSI checks
  • Re-sync branch
Commits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants