Fixed
Project:
E-Arkiv
Version:
1.0.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Reporter:
Created:
10 Nov 2026 at 14:37 UTC
Updated:
11 Nov 2026 at 07:43 UTC
Jump to comment: Most recent
A review of the module, with test runs against a Drupal 11 site, found five bugs that can give a broken or incomplete archive, or leave large files behind:
drush entity:delete earkiv_archive leaves the archive behind. The archive file is only deleted in an overridden Archive::delete(), which the delete form calls, but not entity:delete or bulk deletion, which delete through the storage. The file entity, the file (often several GB) and the working directory in the temporary directory are left. The README and the message of earkiv:cancel recommend that command. The working directory is not removed either when a job ends with an error.submitConfigurationForm() of the plugins. A storage directory with a trailing slash gave the file private://dir//earkiv_….tar.gz, which cannot be downloaded, not even by user 1. Exclude patterns are saved with \r\n and the number of connections as a string. The module has no configuration schema.info@example.se) is saved by HTTrack as index.se, and a host without a scheme (www.example.com) as index.com. The module decides from the file extension whether an error page is HTML, so these error pages are deleted and the links lead to a missing file. That was 16 of 72 broken links in a full crawl.drush entity:delete earkiv_archive ID. The archive file is left in the storage directory.earkiv/ on the settings page and create an archive. The file cannot be downloaded.info@example.se without mailto: to a page and create an archive. The link leads to a missing file.Archive::preDelete() or postDelete(), so that every way of deleting an archive removes them. Remove the working directory when a job ends with an error.submitConfigurationForm() of the plugins in the settings form and the archive form, trim slashes from the storage directory, and add a configuration schema.Each fix is a separate commit in the merge request.
A failed crawl is shown as an error instead of "Done".
None.
A configuration schema for earkiv.settings.
AI-Generated: Yes (Used Claude Code to review and test the module and draft this issue.)
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
thomas alsén commentedMerged into 1.0.x!