Repository navigation
chore(deps): adopt dialogs 8 with isolated native viewer - #9301
Merged
vitormattos merged 17 commits intoNov 2, 2026
Merged
Conversation
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
vitormattos
force-pushed
the
dependabot/npm_and_yarn/nextcloud/dialogs-8.0.0
branch
from
November 2, 2026 16:19
40e2a84 to
a95e263
Compare
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
vitormattos
approved these changes
Nov 2, 2026
vitormattos
deleted the
dependabot/npm_and_yarn/nextcloud/dialogs-8.0.0
branch
November 2, 2026 20:27
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Migrate LibreSign's own notifications and PDF file picker to
@nextcloud/dialogs8.0.0, using the official package name without npm aliases, peer overrides, or forced installation.Native Viewer compatibility
The native
@nextcloud/viewerand its Image Editor still require dialogs 7 as a peer dependency. The Viewer is essential to LibreSign's signed-document preview, including the protection that prevents a signed UUID PDF from exposing the owner's original file ID.To preserve that public Viewer API and keep each package's declared peer contract intact:
src/viewer/contains a minimal, private installation boundary for the existing Viewer and its dialogs 7 peer, with its own lockfile and a public-API re-export. The rootpostinstallinstalls this lockfile reproducibly.getViewer(),getHandlers(), andcanView(), with existing signed-UUID access safeguards unchanged.No upstream package files were modified. No external pull requests, issues, or comments were created.
Visual behavior
Dialogs 8 uses accessible Vue toasts at the Nextcloud bottom-start position by design; no global CSS offset was added. Real browser testing revealed a mobile overlap after requesting signatures: the redundant success toast covered the Open file action in the request sidebar. Since the signer and document status already update to Ready to sign, the two success toasts for individual and bulk signature requests were removed. Other contextual toasts and persistent
NcNoteCardnotifications remain unchanged.Actual LibreSign screenshots — Nextcloud 36 development environment
Captured in the real LibreSign request-signature UI on an isolated Nextcloud 36 environment, using the repository's
small_valid.pdffixture and a disposable test account. The account language and browser locale were set to English (en/en-US). No synthetic mockups.Mobile after (390×844): a signature request moves to Ready to sign; Open file remains unobstructed, with no redundant success toast.
Desktop after (1440×900): the same real signing-request interface shows the updated signer and document status, without a redundant toast.
Regression: before the fix, the success toast overlapped the Open file action on mobile. It was reproduced in a real browser. The historical Portuguese-language capture is intentionally not retained here; all screenshots shown in this PR are in English.
These images are attached to the PR description only; none are committed to the repository.
Native PDF Viewer regression verification
Using an isolated Nextcloud 36 environment with LibreSign 16.0.0-dev.3 and files_pdfviewer 9.0.0-dev.0, the actual LibreSign Open file action opened a PDF using the native
data-handler=pdfdialog and the PDFViewer iframe, without browser popups or JavaScript exceptions.Regression protection in commit
5a7f970: CI now installs files_pdfviewer, and the anonymous signed-PDF Playwright scenario requires the native Viewer and a loaded PDF page. The complete GitHub Actions matrix has passed on HEAD20d5d39.Temporary Viewer cleanup guard
Dependabot already checks
/src/viewerdaily. When a PR changes the isolated Viewer manifest or lockfile, the existing Build Javascript CI checks whether the updated Viewer (including its Image Editor) can resolve with dialogs 8 using strict npm peer dependencies.src/viewer/, the extrapostinstall, nested Dependabot and REUSE entries, restore direct Viewer imports/mocks, and run the PDF security and E2E tests.TODO(viewer-compat)with a reference to PR chore(deps): adopt dialogs 8 with isolated native viewer #9301. Search for this marker during cleanup. The temporary rootpackage.jsonscripts.postinstallcannot carry a comment in JSON, so both the Viewer bridge and CI guard explicitly identify it for removal.src/tests/utils/dialogs.spec.ts: it is permanent API regression coverage for dialogs 8, not part of the temporary Viewer isolation. Reassess Vue deduplication instead of removing it automatically.No additional scheduled workflow or monitoring scripts are maintained. This mechanism reacts to Dependabot PRs rather than to every new upstream release, and never changes upstream repositories or creates external comments.
Verification
npm ci, including the native Viewer's nestednpm ci: passed.npm ls: passed with no peer conflicts, no aliases and no overrides.npm run ts:check,npm run lint,npm run stylelint,npm run build: passed locally.npm run test: 3,555 tests passed across 275 files on the rebased HEAD.Merge-conflict resolution and regression verification (2026-11-02): The original 13 commits were replayed individually on the current
mainusing signed DCO commits (no squash); two further signed commits reconciledpackage-lock.jsonwith newermaindependencies and fixed two ESLint format errors surfaced by the newer toolchain. The resulting 15-commit branch is mergeable without a conflict, with dialogs 8 in the application and the Viewer isolated on its supported dialogs 7 dependency. Validated with clean root and Viewernpm ci/npm ls, TypeScript, production build, lint, 3,555 unit tests, real native PDF Viewer and file picker, plus focused signing E2E scenarios in an isolated Nextcloud 36 environment. The complete GitHub Actions CI for HEAD20d5d39completed successfully (22 workflows). No merge was performed.Playwright CI regression repairs (
20d5d39, 2026-11-02)files_pdfviewerdevelopment branch references a non-existentfiles_pdfviewer-main.cssentry point. In the disposable CI installation only, a missing empty CSS entry point is supplied; the actual styles remain in the upstream Vite CSS chunks. MarkedTODO(viewer-compat)referencing PR chore(deps): adopt dialogs 8 with isolated native viewer #9301 for eventual removal.text/cssin a CI-equivalent static path, 3,555 Vitest cases passed, ESLint passed with no errors, TypeScript, build, YAML andgit diff --checkpassed.20d5d39; no upstream repository was changed and no merge was performed.