marius-wieschollek / passwords

A simple, yet feature rich password manager for Nextcloud
GNU Affero General Public License v3.0
201 stars 39 forks source link

[BUG]: Bitwarden json import: r is null #652

Closed moarsmokes closed 3 months ago

moarsmokes commented 3 months ago

⚠️ This issue respects the following points: ⚠️

Server Information

{
    "version": {
        "server": "28.0.4.1",
        "app": "2024.3.20",
        "lsr": false,
        "php": "8.3.4",
        "cronPhp": "8.3.4"
    },
    "environment": {
        "os": "Linux",
        "architecture": "x86_64",
        "bits": 64,
        "database": "mysql",
        "cron": "cron",
        "proxy": false,
        "sslProxy": false,
        "subdirectory": false
    },
    "services": {
        "images": "imagick",
        "favicons": "local",
        "previews": "default",
        "security": "hibp",
        "words": "auto",
        "previewApi": false,
        "faviconApi": false
    },
    "status": {
        "autoBackupRestored": false
    },
    "settings": {
        "channel": "stable",
        "nightlies": false,
        "handbook": false,
        "performance": 5
    },
    "encryption": {
        "sse": [],
        "cse": []
    }
}

Client Information

Browser and Version: Firefox 124.0.2 Client OS and Version:

Bug description

Cannot import my Bitwarden vault, while importing the json it shows after around 2 seconds a error message. "r is null"

Steps to reproduce

Import bitwarden json (unencrypted) via the web app.

Expected behavior

That the imported json file succeeded.

Nextcloud Logs

No response

Browser Logs

TypeError: r is null
    createCustomField https://cloud.home.systemfehler.eu/apps/passwords/js/Static/ImportManager.0327d93a86514c86178d.js:1
    _processCustomFields https://cloud.home.systemfehler.eu/apps/passwords/js/Static/ImportManager.0327d93a86514c86178d.js:1
    _processPasswordCustomFields https://cloud.home.systemfehler.eu/apps/passwords/js/Static/ImportManager.0327d93a86514c86178d.js:1
    _processPasswords https://cloud.home.systemfehler.eu/apps/passwords/js/Static/ImportManager.0327d93a86514c86178d.js:1
    processJson https://cloud.home.systemfehler.eu/apps/passwords/js/Static/ImportManager.0327d93a86514c86178d.js:1
    _convertInputData https://cloud.home.systemfehler.eu/apps/passwords/js/Static/ImportManager.0327d93a86514c86178d.js:1
    importDatabase https://cloud.home.systemfehler.eu/apps/passwords/js/Static/ImportManager.0327d93a86514c86178d.js:1
    importDb https://cloud.home.systemfehler.eu/apps/passwords/js/Static/BackupSection.aa0a188cf3675491b37c.js:1
    Sa https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    a https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    Sa https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    $emit https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    fireEvent https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    click https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    Sa https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    a https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    _wrapper https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    As https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    At https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    us https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    f https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    ei https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    _update https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    r https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    get https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    e https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    mount https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    $mount https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    $mount https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    init https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    h https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    h https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    w https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    w https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    ei https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    _update https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    r https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    get https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    run https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    fa https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    Ua https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    Ma https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
BackupSection.aa0a188cf3675491b37c.js:1:31315
    importDb https://cloud.home.systemfehler.eu/apps/passwords/js/Static/BackupSection.aa0a188cf3675491b37c.js:1
    (Async: promise callback)
    importDb https://cloud.home.systemfehler.eu/apps/passwords/js/Static/BackupSection.aa0a188cf3675491b37c.js:1
    Sa https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    a https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    Sa https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    $emit https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    fireEvent https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    click https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    Sa https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    a https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    _wrapper https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    (Async: EventListener.handleEvent)
    As https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    At https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    us https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    f https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    ei https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    _update https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    r https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    get https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    e https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    mount https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    $mount https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    $mount https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    init https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    h https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    h https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    v https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    w https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    w https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    ei https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    _update https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    r https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    get https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    run https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    fa https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    Ua https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
    Ma https://cloud.home.systemfehler.eu/apps/passwords/js/Static/app.js?v=3d703e8a-0:2
marius-wieschollek commented 3 months ago

It seems to be possible to create a custom field with no label in Bitwarden and this wasn't expected in the import. I added a check for this which will be in the next update tomorrow.

moarsmokes commented 3 months ago

It worked for me after updating to the nightly build.