passwords icon indicating copy to clipboard operation
passwords copied to clipboard

Cannot Import Bitwarden JSON

Open Subnet-Masked opened this issue 3 years ago • 2 comments

System Information

Server:

{
    "version": {
        "server": "23.0.2.1",
        "app": "2022.3.20",
        "lsr": false,
        "php": "8.0.15",
        "cronPhp": "8.0.15"
    },
    "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": "local",
        "previewApi": false,
        "faviconApi": false
    },
    "status": {
        "autoBackupRestored": false
    },
    "settings": {
        "channel": "stable",
        "nightlies": false,
        "handbook": false,
        "performance": 5
    },
    "encryption": {
        "sse": [],
        "cse": []
    }
}

Client:

 Browser and Version: Google Chrome 98.0.4758.102
 Client OS and Version: Windows 11

Steps to reproduce

  1. Select Bitwarden JSON as import format
  2. Select your JSON from Bitwarden as file
  3. Select Merge With Existing
  4. Run import

Expected result

Import succeeds

Actual result

An error message stating "Cannot read properties of undefined (reading 'push')

Nextcloud log

Nextcloud log
{"reqId":"hI1UTGtq8jeFd6G0MgqM","level":3,"time":"2022-03-08T19:58:19+00:00","remoteAddr":"127.0.0.1","user":"--","app":"PHP","method":"POST","url":"/index.php/apps/passwords/api/1.0/password/list","message":"session_start(): Ignoring session_start() because a session is already active at /var/www/nextcloud/lib/private/Session/Internal.php#208","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36","version":"23.0.2.1","exception":{"Exception":"Error","Message":"session_start(): Ignoring session_start() because a session is already active at /var/www/nextcloud/lib/private/Session/Internal.php#208","Code":0,"Trace":[{"function":"onAll","class":"OC\\Log\\ErrorHandler","type":"::"},{"function":"session_start"},{"file":"/var/www/nextcloud/lib/private/Session/Internal.php","line":208,"function":"call_user_func_array"},{"file":"/var/www/nextcloud/lib/private/Session/Internal.php","line":218,"function":"invoke","class":"OC\\Session\\Internal","type":"->"},{"file":"/var/www/nextcloud/lib/private/Session/Internal.php","line":106,"function":"startSession","class":"OC\\Session\\Internal","type":"->"},{"file":"/var/www/nextcloud/lib/private/Session/CryptoSessionData.php","line":149,"function":"clear","class":"OC\\Session\\Internal","type":"->"},{"file":"/var/www/nextcloud/lib/private/User/Session.php","line":940,"function":"clear","class":"OC\\Session\\CryptoSessionData","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Middleware/Security/CORSMiddleware.php","line":90,"function":"logout","class":"OC\\User\\Session","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Middleware/MiddlewareDispatcher.php","line":97,"function":"beforeController","class":"OC\\AppFramework\\Middleware\\Security\\CORSMiddleware","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":118,"function":"beforeController","class":"OC\\AppFramework\\Middleware\\MiddlewareDispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":157,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/nextcloud/lib/base.php","line":1006,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/nextcloud/lib/private/Log/ErrorHandler.php","Line":99,"CustomMessage":"--"},"id":"6227b55c5312e"}

Browser log

Browser log
content-script.js:245 Sending message to background page sw-shouldActivate
content-script.js:203 Received message from background page: "sw-doNothing"
content-script.js:209 Received message to do nothing
content-script.js:160 Displaying page again
index.js:46 No OC found
Nr @ index.js:46
index.es.js:2337 Proxying an event bus of version 2.1.1 with 1.3.0
e @ index.es.js:2337
jquery-migrate.min.js:2 JQMIGRATE: Migrate is installed, version 3.3.2
globals.js:62 jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own.
ge @ globals.js:62
globals.js:62 $ is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own.
ge @ globals.js:62
2globals.js:62 jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own.
ge @ globals.js:62
content-script.js:121 Not adding second page scrape interval
index.es.js:2337 Proxying an event bus of version 2.1.1 with 1.3.0
t @ index.es.js:2337
3globals.js:62 $ is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own.
ge @ globals.js:62
index.es.js:2337 Proxying an event bus of version 2.1.1 with 1.3.0
e @ index.es.js:2337
globals.js:62 jQuery is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own.
ge @ globals.js:62
globals.js:62 $ is deprecated: The global jQuery is deprecated. It will be removed in a later versions without another warning. Please ship your own.
ge @ globals.js:62
index.es.js:2334 Proxying an event bus of version 2.1.1 with 1.3.0
e @ index.es.js:2334
session-heartbeat.js:101 session heartbeat polling started
ImportManager.2477004fea6b2ceb849c.js:1 Passwords Import: Parsing input file
BackupSection.e2d2099d80b9ac7465d2.js:1 TypeError: Cannot read properties of undefined (reading 'push')
    at Function._logConversionError (/apps/passwords/js/Static/ImportManager.2477004fea6b2ceb849c.js:1:7836)
    at Function.createCustomField (/apps/passwords/js/Static/ImportManager.2477004fea6b2ceb849c.js:1:7588)
    at Function._processLoginFields (/apps/passwords/js/Static/ImportManager.2477004fea6b2ceb849c.js:1:19281)
    at Function._processPasswordCustomFields (/apps/passwords/js/Static/ImportManager.2477004fea6b2ceb849c.js:1:18841)
    at Function._processPasswords (/apps/passwords/js/Static/ImportManager.2477004fea6b2ceb849c.js:1:18674)
    at async Function.processJson (/apps/passwords/js/Static/ImportManager.2477004fea6b2ceb849c.js:1:17435)
    at async Function._convertInputData (/apps/passwords/js/Static/ImportManager.2477004fea6b2ceb849c.js:1:17237)
    at async c.importDatabase (/apps/passwords/js/Static/ImportManager.2477004fea6b2ceb849c.js:1:8951)
(anonymous) @ BackupSection.e2d2099d80b9ac7465d2.js:1

Subnet-Masked avatar Mar 08 '22 20:03 Subnet-Masked

I think i may have found the issue right away. If you want, you can try the nightly and test if this fixes the issue.

marius-wieschollek avatar Mar 08 '22 21:03 marius-wieschollek

Apologies for the delayed response - Happy to report that that worked!

Subnet-Masked avatar Mar 14 '22 11:03 Subnet-Masked