When browser is in French language, requesting a code doesn't work.
Describe the bug When browser is in French language, requesting a code doesn't work. I test it also with English, German and Italian, works well.
To Reproduce Steps to reproduce the behaviour :
Requirements :
- First, request a signature with email address.
- Set your browser language in French
Step :
- I'm not an authenticated user
- Click on the button of the email received to sign a document
- Click on "Définissez votre signature."
- Draw signature
- Click on "Sauvegarder"
- Click on "Sauvegarder"
- Click on "Signer le document"
- Enter the email
- Click on "Demander un code".
The notification displayed is : "La requête de signature du fichier à été correctement soumise." Which mean "The file signature request has been correctly submitted."
No code is received by email.
Expected behavior The message of the notification should be "The code to sign file was successfully requested." in french "Le code pour signer le fichier a été demandé avec succès."
Environment information (please complete the following information):
- OS: Client: Linux ; Server: Podman containers Nexcloud AIO
- Browser : Tested with Firefox and Ungoogled-chromium both in French language
- LibreSign Version 10.7.2
- Nextcloud Server Version 30.0.8
- Logs :
Request with English language
Request :
curl 'https://--removed--.org/ocs/v2.php/apps/libresign/api/v1/sign/uuid/0ea4af05-efda-4555-8783/code' \
-H 'accept: application/json, text/plain, */*' \
-H 'accept-language: en-US,en;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-GB;q=0.6' \
-H 'content-type: application/json' \
-b '__Host-nc_sameSiteCookielax=true; __Host-nc_sameSiteCookiestrict=true; oc_sessionPassphrase=--removed--; ocufnhdp8gk8=--removed--' \
-H 'dnt: 1' \
-H 'origin: https://--removed--.org' \
-H 'priority: u=1, i' \
-H 'requesttoken: --revoved--' \
-H 'sec-ch-ua: "Chromium";v="135", "Not-A.Brand";v="8"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "Linux"' \
-H 'sec-fetch-dest: empty' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-site: same-origin' \
-H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36' \
-H 'x-requested-with: XMLHttpRequest, XMLHttpRequest' \
--data-raw '{"identify":"--removed--","identifyMethod":"email","signMethod":"emailToken"}'
Response :
{"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK"},"data":{"message":"The code to sign file was successfully requested."}}}
Request with French language
Request :
curl 'https://--removed--.org/ocs/v2.php/apps/libresign/api/v1/sign/uuid/0ea4af05-efda-4555-8783-7ec0d0f3e266/code' \
-H 'accept: application/json, text/plain, */*' \
-H 'accept-language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7,en-GB;q=0.6' \
-H 'content-type: application/json' \
-b '__Host-nc_sameSiteCookielax=true; __Host-nc_sameSiteCookiestrict=true; oc_sessionPassphrase=--removed--; ocufnhdp8gk8=--removed--' \
-H 'dnt: 1' \
-H 'origin: https://--removed--.org' \
-H 'priority: u=1, i' \
-H 'requesttoken: --removed--' \
-H 'sec-ch-ua: "Chromium";v="135", "Not-A.Brand";v="8"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "Linux"' \
-H 'sec-fetch-dest: empty' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-site: same-origin' \
-H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36' \
-H 'x-requested-with: XMLHttpRequest, XMLHttpRequest' \
--data-raw '{"identify":"--removed--","identifyMethod":"email","signMethod":"emailToken"}'
Response :
{"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK"},"data":{"message":"La requ\u00eate de signature du fichier \u00e0 \u00e9t\u00e9 correctement soumise."}}}
Hello @vitormattos, Thanks a lot for this fix.
Do you know when you will be able to deploy the fix as a new update available in Nextcloud ?
Because I do not want to make any pressure on you and your team, do you have a procedure so I can implement the fix myself in my Nextcloud instance ?
Thank you very much.
Today 🥳
I will maintain this issue as opened until we have the newest release.
I delayed a bit, but now we have a new release!
Closing this issue as solved.
If this issue persists, don't hesitate to open a new issue making reference to this.
[!NOTE]
If you like this app, don't hesitate to help us
Ways to help this project:
- Creating a very nice review of this project at:
- social networks like LinkedIn, Instagram, etc and putting the @LibreSign and @LibreCodeCoop
- AlternativeTo https://alternativeto.net/software/libresign/
- Nextcloud apps store: https://apps.nextcloud.com/apps/libresign
- Sponsoring the development by GitHub sponsor https://github.com/sponsors/LibreSign
- helping the translations on Transifex
- contacting us to have Enterprise support: https://libresign.coop
EDIT 2 - Oh, It seams that v11 is for Nextcloud 31 and v10 is for Nextcloud 30, so, I confirm, the issue still persists with libresign v10.8.0 with Nextcloud Hub 9 (30.0.10)
EDIT 1 - Never mind, I see that the latest version on github is 11.2.0. So I'll wait for this one and install it as soon as it's available on Nextcloud Apps.
Hello @vitormattos ,
Thanks for this release. However, I have installed the libresign v10.8.0 and the issue still persist.
The notification displayed is : "La requête de signature du fichier à été correctement soumise."
Which mean "The file signature request has been correctly submitted."
And no code is received by email.
I did the test with Firefox and Brave, set with French language.
I remain available if you need more information.
Thank you very much.
I recorded this movie trying to reproduce the steps but I can't reproduce:
https://github.com/user-attachments/assets/26c6c2b7-4032-4e1a-a219-143104ead2c3
I used OBS to record the video.
@Olybo could you confirm if you followed the tame steps of movie that I sent?
Hi @vitormattos , Sorry for the delay, I seem to have missed the notification of your previous message. Yes, I confirm that I'm proceeding in the same way. I updated to 10.8.3, the notification message is now correct (but in English) however no email code is sent.
I can reproduce the bug manually with the web console or on the command line with curl.
I just have to remove the fr,fr-FR ; in Accept-Language from the request header, and the code is sent successfully.
So, with curl, having: -H “Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3” doesn't work, but -H “Accept-Language: q=0.8,en-US;q=0.5,en;q=0.3” does.
If it works on your side, I assume the Accept-Language attribute is different. Can you try adding fr,fr-FR; to the beginning of the Accept-Language attribute in your http request header to see if you can reproduce the error?
Thank you very much for taking the time to deep dive in my issue.
Hello @vitormattos,
Have you had a chance to make any progress on this issue?
Thanks in advance
Hi @Olybo I tried to reproduce but I can't reproduce. Could you record a video reproducing the steps at your environment?
Hi @vitormattos ,
Sure, here is the video:
https://github.com/user-attachments/assets/2077ae94-9fb6-43eb-a37f-7bedf10b5e89
| Step | Description |
|---|---|
| 1 | Request a signature. |
| 2 | Check the email requesting the signature. |
| 3 | Change the browser language to French. |
| 4 | Open the email and click the link to be redirected to the file signing page. |
| 5 | Go through the process of signing the file (browser in French). |
| 6 | Wait for the verification code. The code never arrives. |
| 7 | Change the browser language to English. |
| 8 | Reload the page where you sign the file. |
| 9 | Go through the process of signing the file again and request a new verification code (browser in English). |
| 10 | Observe that the code is sent by email. |
For the video, I've set up a new, fresh Nexcloud instance to be sure that the problem is not because of my existing instance. As we can see in the video, the issue occurs when the browser language is set to French. Switching the browser language to English "resolves" the issue and the verification code is sent successfully.
- I'm using Firefox 139.0
- I'm on Fedora Linux 41
- Nextcloud is on version 31.0.5 installed with Nextcloud AIO on podman container
- Php info :
Version: 8.3.21
Memory limit: 512 MB
Max execution time: 3600
Upload max size: 16 GB
OPcache Revalidate Frequency: 60
Extensions: Core, date, libxml, openssl, pcre, sqlite3, zlib, ctype, curl, dom, fileinfo, filter, hash, iconv, json, mbstring, SPL, session, PDO, pdo_sqlite, bz2, posix, random, readline, Reflection, standard, SimpleXML, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, cgi-fcgi, apcu, bcmath, Phar, exif, ftp, gd, gmp, igbinary, imagick, imap, intl, ldap, memcached, pcntl, pdo_pgsql, pgsql, redis, smbclient, sodium, sysvsem, zip, libsmbclient, Zend OPcache
- Database info :
Type: pgsql
Version: PostgreSQL 17.5 on x86_64-pc-linux-musl, compiled by gcc (Alpine 14.2.0) 14.2.0, 64-bit
Size: 16.6 MB
- LibreSign version : 11.2.4
I remain available if you need more information.
Thanks for your help.
I think that I made the same but without success.
https://github.com/user-attachments/assets/1bd419b1-187b-4bad-89f7-0ba87b70c030
At left side is an anonymous tab with Firefox and at right side is an anonymous tab with Firefox Developer. I made this to be possible use two browsers in anonymous tab and haven't problems when access the link that is sent by email into a browser without a Nextcloud session.
My left browser stay in English and the right browser stay in French.
As email service, I used the MailHog into my development environment.
Did you checked if you are receiving the email with code as SPAM? I think that the subject of this issue was fixed by #4920 and now could be a problem at your email service.
Could you check the video that I made and verify if I made something different?
I used a development URL to upload the file but this don't affect the main scenario.