An importer written for an older export format, updated for the current one, then extended by the maintainer.
Short answer
Importing a CSV exported from the Nextcloud Passwords app into Passman stopped at "135/136" and never finished. The importer read columns from the Passwords app's legacy format. The fix maps the current columns (label, username, password, notes, url) with fallbacks to the old ones, skips rows without a label, and updates the in-app export instructions. A maintainer then added tag parsing, custom-field handling and edited-timestamp support. It was merged as PR #875 and closed issue #870.
The problem
Issue #870, on Nextcloud 34.0.1, followed the Passwords app's "Backup or export" flow to a Predefined CSV, then imported it with Passman's "Passwords App csv" importer. The output showed "File read." and "Read progress 135/136", and the import never progressed.
The fix
var username = row.username || '';
var label = row.label || PassmanImporter.join_([row.website, username], ' - ');
var _credential = PassmanImporter.newCredential();
_credential.label = label;
_credential.username = username;
_credential.password = row.password || '';
_credential.url = row.url || row.fulladdress || '';
_credential.description = row.notes || '';
if (label) {
credential_list.push(_credential);
}
By the numbers
- Repository: nextcloud/passman, 829 stars (Nov 3, 2026), JavaScript, AGPL-3.0
- Files changed: 1
- Lines: +103 / -10 (the PR author's commit was +13 / -9; the maintainer's enhancement commit was +89)
- Commits: 4 (1 from the PR author, 3 from the maintainer, including a merge of
master) - Opened: Aug 21, 2026. Merged: Aug 24, 2026. Time to merge: 3 days, 1 hour
- Review: one suggestion, then approved and merged by the maintainer
How the review went
The maintainer suggested one wording change to the export instructions, pointing users to "Backup and Restore" rather than Settings, and committed it. They then added a larger commit: "enhance OCPasswords importer with tag parsing, custom fields handling, and edited timestamp support", and merged the PR.
FAQ
Do old Passwords app exports still work?
The importer falls back to the legacy website and fulladdress columns when the newer ones are missing.
Where can I read more?
See the pull request and the original issue.
The goal
Importers rot quietly as other apps change their export formats. Mapping both the current and legacy columns lets users move their passwords without editing a CSV by hand.