Skip to content

refactor check for non-empty workdir#393

Open
umlaeute wants to merge 2 commits intoroundcube:masterfrom
umlaeute-contributions:improvement/nonempty-workdir2
Open

refactor check for non-empty workdir#393
umlaeute wants to merge 2 commits intoroundcube:masterfrom
umlaeute-contributions:improvement/nonempty-workdir2

Conversation

@umlaeute
Copy link
Contributor

@umlaeute umlaeute commented Dec 17, 2025

introduce new envvar ROUNDCUBEMAIL_ALLOW_DIRTY_DOCROOT, which can be truish, falsish or empty:

value result
true skip checks for empty docroot
false abort if docroot is not empty
(empty) if the docroot is not empty, print a warning and sleep, giving the user the chance to manually abort.

this keeps backwards compatibility with existing deployments (that do not have the envvar set)

the sleep timeout has been raise to 60seconds, so the user has more time to manually abort (in an autostart context, this will add an additional delay, but shouldn't actually be harmful)

introduce new envvar ROUNDCUBEMAIL_ALLOW_DIRTY_DOCROOT

if it is true, skip checks for empty docroot.
if it is false and the docroot is not empty, abort.
if it is empty and the docroot is not empty, print a warning and sleep,
giving the user the chance to manually abort.

this keeps backwards compatibility with existing deployments (that do not
have the envvar set)

the sleep timeout has been raise to 60seconds, so the user has more time to
manually abort (in a autostart context this will add an additional delay,
but shouldn't actually be harmful)

Closes: roundcube#384
@pabzm
Copy link
Member

pabzm commented Dec 18, 2025

I like this idea, thank you!

Just one thing: could you reduce the "penalty" timeout back to 10 seconds? Because even that change might break setups if a system takes much longer to start than expected.

And from my point of view I would reduce the possible truthy and falsy values. Using "yes" and "no" should be enough and makes for more clear documentation, too. But I won't force that if you care strongly about it.

@github-actions
Copy link

github-actions bot commented Jan 2, 2026

@pabzm, @thomascube
🛎️ This PR has had no activity in two weeks.

@umlaeute
Copy link
Contributor Author

umlaeute commented Jan 2, 2026

Just one thing: could you reduce the "penalty" timeout back to 10 seconds?

please feel free to add a commit that aligns my PR with your expectations :-)

@github-actions
Copy link

@pabzm, @thomascube
🛎️ This PR has had no activity in two weeks.

4 similar comments
@github-actions
Copy link

@pabzm, @thomascube
🛎️ This PR has had no activity in two weeks.

@github-actions
Copy link

@pabzm, @thomascube
🛎️ This PR has had no activity in two weeks.

@github-actions
Copy link

github-actions bot commented Mar 1, 2026

@pabzm, @thomascube
🛎️ This PR has had no activity in two weeks.

@github-actions
Copy link

@pabzm, @thomascube
🛎️ This PR has had no activity in two weeks.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

wishlist: make timeout on non-empty workdir configurable

2 participants