Describe the bug
When requesting a signature from an email address, the signer is unable to sign the document. LibreSign continues to request that the user create a signature, even when a signature has already been created.
To Reproduce
Perform the following steps in a fresh Nextcloud installation:
In Settings > Administration > LibreSign, create a root certificate for signing: Enter "RelaNet, LLC" in the "Name (CN)" field and click the "Generate root certificate" button.
Confirm that the "Configuration Check" section shows all "success".
In Settings > Administration > LibreSign, go to the "Identity factors" section and change both "Account" and "Email" to "Click to sign". Under "Email", unselect the "Request to create account" option.
As the admin user in Nextcloud, go to the LibreOffice app, upload a file, and request a signature from an email address that is NOT associated with a Nextcloud account.
Once the e-signature request email arrives, paste the signing link into a Chrome Incognito window to begin the signing process and open the signing preview screen.
In the signing preview screen, click the "Define your signature" button, draw your signature in the window that appears, and then click the "Save" button.
Click the "Save" button in the confirmation window to confirm your signature.
Note that LibreSign displays a "Element created with success" message, confirming that the signature was saved.
Expected behavior
I expected the "Define your signature" button to change into a "Sign the document" button that the user could use to apply his signature to the document.
Actual behavior
The action button remains a "Define your signature" button. If the user clicks on this button again, he is prompted to create a new signature.
Screenshots
Environment information (please complete the following information):
OS: AlmaLinux 8.9
PHP: 8.2.15
Apache: 2.4.37
Browser: Chrome
LibreSign Version 8.0.0-rc5
Nextcloud Server Version: 28.0.2
Log files
[root@newton data]# cat nextcloud.log
{"reqId":"Zd4DRrKtk9yb-82tVDlSLAAAAEw","level":3,"time":"2024-02-27T10:44:06-05:00","remoteAddr":"152.117.79.26","user":"--","app":"PHP","method":"PUT","url":"/ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json","message":"Doctrine\\DBAL\\Exception\\TableNotFoundException: An exception occurred while executing a query: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'com_relanet_newtontest_nextcloud_nextcloud.oc_appconfig' doesn't exist at /var/www/newton-test.relanet.com/nextcloud/public_html/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php#49","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXLKtk9yb-82tVDlSewAAAEQ","level":3,"time":"2024-02-27T10:53:00-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40d","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXLKtk9yb-82tVDlSfAAAAFI","level":3,"time":"2024-02-27T10:53:00-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40da","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXLKtk9yb-82tVDlSfQAAAFA","level":3,"time":"2024-02-27T10:53:00-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40daz","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXLKtk9yb-82tVDlSfgAAAFU","level":3,"time":"2024-02-27T10:53:00-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40daze","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXbKtk9yb-82tVDlSfwAAAFc","level":3,"time":"2024-02-27T10:53:01-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazee","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXfPK@zrIgToosQmDMQAAANE","level":3,"time":"2024-02-27T10:53:01-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeen","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXfPK@zrIgToosQmDMgAAAMQ","level":3,"time":"2024-02-27T10:53:02-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeend","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXvPK@zrIgToosQmDNAAAAMY","level":3,"time":"2024-02-27T10:53:02-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeend.o","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXvPK@zrIgToosQmDNQAAAMg","level":3,"time":"2024-02-27T10:53:02-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeend.or","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXvPK@zrIgToosQmDNgAAAMk","level":3,"time":"2024-02-27T10:53:02-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeend.org","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
Additional context
When I sent a signing request to another Nextcloud user, the user was able to sign the document. This problem seems to only affect signers that do not have a Nextcloud account.
Describe the bug When requesting a signature from an email address, the signer is unable to sign the document. LibreSign continues to request that the user create a signature, even when a signature has already been created.
To Reproduce Perform the following steps in a fresh Nextcloud installation:
Uncompress libresign directory from libresign-v8.0.0-rc5.tar.gz and move to Nextcloud apps directory
sudo chown -R apache:apache libresign/
Enable Libresign app in Nextcloud
In Settings > Administration > LibreSign, create a root certificate for signing: Enter "RelaNet, LLC" in the "Name (CN)" field and click the "Generate root certificate" button.
Confirm that the "Configuration Check" section shows all "success".
As the admin user in Nextcloud, go to the LibreOffice app, upload a file, and request a signature from an email address that is NOT associated with a Nextcloud account.
Once the e-signature request email arrives, paste the signing link into a Chrome Incognito window to begin the signing process and open the signing preview screen.
In the signing preview screen, click the "Define your signature" button, draw your signature in the window that appears, and then click the "Save" button.
Click the "Save" button in the confirmation window to confirm your signature.
Note that LibreSign displays a "Element created with success" message, confirming that the signature was saved.
Expected behavior I expected the "Define your signature" button to change into a "Sign the document" button that the user could use to apply his signature to the document.
Actual behavior The action button remains a "Define your signature" button. If the user clicks on this button again, he is prompted to create a new signature.
Screenshots![Screenshot from 2024-02-27 10-57-42](https://github.com/LibreSign/libresign/assets/2699247/6a8fa3d8-6fab-4fdf-87ed-5a2e62ddd400)
Environment information (please complete the following information):
Log files
Additional context When I sent a signing request to another Nextcloud user, the user was able to sign the document. This problem seems to only affect signers that do not have a Nextcloud account.