Blogs Engineering

A One-Line Devcontainer Fix for LibreSign, Scoped Down in Review

Englischer Artikel. LibreSign's devcontainer defaulted to PHP 8.2 while Nextcloud master needs 8.3. The merged fix bumps the default after review trimmed the scope.

PHPLibreSign/libresigndevcontainerDockerdeveloper experience

Sometimes the best review outcome is a smaller pull request.

Kurze Antwort

LibreSign's devcontainer pulled Nextcloud master, which requires PHP 8.3, but defaulted to a PHP 8.2 image, so a clean setup never finished installing. The merged fix changes the default image to PHP 8.3. A second change, making setup.sh fail hard on any error, was dropped at the maintainer's request. It was merged as PR #8001 and closed issue #7985.

The problem

LibreSign is a Nextcloud app for digital document signing. Issue #7985 reported that the devcontainer did not produce a working environment on a clean checkout. The first of several chained failures was this one:

This version of Nextcloud requires at least PHP 8.3<br/>You are currently running 8.2.33. Please update your PHP version.

Because the service restarts automatically, the reporter noted it "looks like a hang rather than a failure."

The fix

-    image: ghcr.io/librecodecoop/nextcloud-dev-php${PHP_VERSION:-82}:latest
+    image: ghcr.io/librecodecoop/nextcloud-dev-php${PHP_VERSION:-83}:latest

By the numbers

  • Repository: LibreSign/libresign, 841 stars (Nov 3, 2026), PHP, AGPL-3.0
  • Files changed: 1
  • Lines: +1 / -1
  • Commits: 2
  • Opened: Aug 21, 2026. Merged: Aug 22, 2026. Time to merge: 20 hours
  • Review: changes requested, then approved by a maintainer

How the review went

The first version also made setup.sh strict, so any failing step would exit with an error. The maintainer agreed with the PHP bump ("Changing PHP 8.2 to 8.3 fixes the current problem with Nextcloud master") but disagreed with the rest:

About setup.sh, I'm not sure we should make every setup error fatal because is a development environment, the developer may need the container running to investigate and fix the problem.

The follow-up commit reverted the setup.sh changes, leaving only the image bump. The maintainer approved it and merged it the next day. They also suggested a follow-up in the image repository so Dependabot could keep the devcontainer PHP version current.

FAQ

Did this fix every failure in the issue?

The PR addresses the PHP version mismatch, which was the first failure the issue described. The issue was closed when the PR merged.

Where can I read more?

See the pull request and the original issue.

Das Ziel

A fix that matches what the maintainers want ships quickly. The extra hardening was reasonable in isolation, but it wasn't this team's call to make in this PR.

Loop ausführen

Verwandle Produktionssignale in geprüfte Fixes.

Starte eine kostenlose Testversion und sieh, wie Prilog reale Incidents mit Pull Requests auf Code-Ebene verbindet.