LibreSign / LibreSign/libresign

Automate the request signature screenshot generation

Open
#8,090 4 comments 0 reactions 1 assignee View on GitHub

@J0aoSiqueira is already working on this.

Since Aug 28, 2026.

feature-request frontend good first issue
Dominant language
PHP
Stars
818
Forks
146
Avg merge
11h 31m
Merged PRs (30d)
326

Description

The screenshot used to show the LibreSign request signature interface is currently updated manually.

We should automate its generation, so developers can recreate it with a single command when the interface changes.

The generated screenshot must replace:

img/screenshot/request-signature.png

A similar approach is already used by profile_fields, where a script from package.json runs a Playwright script responsible for preparing the page and generating screenshots.

What should be done

Add a script to package.json to generate the request signature screenshot. For example:

"screenshots:refresh": "node playwright/generate-screenshots.mjs"

The exact script and file names can be adjusted to fit the LibreSign structure.

The Playwright script should:

  • log in using the existing Playwright helpers;
  • open the LibreSign Request Signatures page;
  • wait until the upload interface is fully loaded;
  • expand the Settings section in the left sidebar;
  • keep the upload interface visible, before any document is uploaded;
  • take a screenshot using fixed and predictable browser dimensions;
  • save it directly to img/screenshot/request-signature.png, replacing the existing file.

Existing Playwright code should be reused where possible instead of implementing the same navigation again.

For example:

The screenshot generator does not need to continue the signature flow after reaching the upload screen.

Acceptance criteria

  • A developer can generate the screenshot using an npm script from package.json.
  • The command does not require manual browser interaction.
  • Existing Playwright helpers are reused where possible.
  • The screenshot shows the Request Signatures upload interface.
  • No document needs to be uploaded before taking the screenshot.
  • The Settings section is expanded in the generated screenshot.
  • The screenshot uses fixed and predictable browser dimensions.
  • The generated image replaces img/screenshot/request-signature.png.
  • Running the command again with the same application state produces a consistent screenshot.

Comparison with the committed screenshot and validation in GitHub Actions are outside the scope of this issue and will be handled separately.

[!TIP]
If you use nextcloud-docker-development, Playwright is available through a separate Docker Compose profile.

Good first issue

This is a good first issue for contributors who want to learn how LibreSign uses Playwright.

Additional context
  • If you have questions, feel free to ask in this issue.
  • Give a ⭐️ star to this repository if you find LibreSign useful and would like to support the project.
  • You can also join our community: https://t.me/LibreSign

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.