-
Notifications
You must be signed in to change notification settings - Fork 110
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
Every new line, not just the first, has the first character duplicated. For example: "Hello" appears as "HHello". "B" appears as "BB". The extra character appears as soon as the live change syncs, a fraction of a second after the first character is typed. The issue does not repeat until starting another new line.
To Reproduce
Steps to reproduce the behavior:
- Create a new .md note
- start a new line
- type 1 character of your choice
- note the character gets entered twice, the duplicate must be deleted
- Sometimes the first character gets duplicated at the time the second character is typed but it is always the first letter or character
Expected behavior
What you type gets entered a single time per key press.
Screenshots
Video: https://nc.j64.uk/s/AWHRrFrr7t76dSa
Server details:
- Nextcloud version: 31.0.10
- PHP Version: 8.3.26
- Database: pgsql PostgreSQL 17.6 on x86_64-pc-linux-musl, compiled by gcc (Alpine 14.2.0) 14.2.0, 64-bit
Client details:
- OS: Android
- Browser: Native app
- Browser version: N/A
- Device: Google Pixel 8
Logs
Nextcloud log (data/nextcloud.log)
\\Controller\\DirectEditingController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":114,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Files\\Controller\\DirectEditingController"},"create"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":161,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Files\\Controller\\DirectEditingController"},"create"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":315,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Files\\Controller\\DirectEditingController","create",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"ocs.files.directediting.create"}]},{"file":"/var/www/html/ocs/v1.php","line":49,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/ocsapp/apps/files/api/v1/directEditing/create"]},{"file":"/var/www/html/ocs/v2.php","line":7,"args":["/var/www/html/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/DirectEditing/Manager.php","Line":100,"message":"Exception when creating a new file through direct editing","exception":{},"CustomMessage":"Exception when creating a new file through direct editing"}}
{"reqId":"XaH0ZJcp38hjtYuAVn3i","level":2,"time":"2025-11-15T15:37:08+00:00","remoteAddr":"172.23.0.1","user":"admin","app":"core","method":"POST","url":"/login/challenge/totp","message":"Two-factor challenge failed: admin (Remote IP: 172.23.0.1)","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36","version":"31.0.10.2","data":{"app":"core"}}
{"reqId":"mA164x13WplePDfWxcRb","level":3,"time":"2025-11-15T15:50:55+00:00","remoteAddr":"172.23.0.1","user":"--","app":"no app in context","method":"PROPFIND","url":"/public.php/dav/files/admin","message":"Exception thrown: Sabre\\DAV\\Exception\\NotFound","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36","version":"31.0.10.2","exception":{"Exception":"Sabre\\DAV\\Exception\\NotFound","Message":"","Code":0,"Trace":[{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/PublicAuth.php","line":80,"function":"checkToken","class":"OCA\\DAV\\Connector\\Sabre\\PublicAuth","type":"->","args":[]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\PublicAuth","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMethod:PROPFIND",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":49,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/apps/dav/appinfo/v2/publicremote.php","line":153,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->","args":[]},{"file":"/var/www/html/public.php","line":82,"args":["/var/www/html/apps/dav/appinfo/v2/publicremote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/Connector/Sabre/PublicAuth.php","Line":130,"message":"","exception":{},"CustomMessage":"Exception thrown: Sabre\\DAV\\Exception\\NotFound"}}
{"reqId":"mA164x13WplePDfWxcRb","level":3,"time":"2025-11-15T15:50:55+00:00","remoteAddr":"172.23.0.1","user":"--","app":"webdav","method":"PROPFIND","url":"/public.php/dav/files/admin","message":"Sabre\\DAV\\Exception\\NotFound: ","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36","version":"31.0.10.2","exception":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"Sabre\\DAV\\Exception\\NotFound: ","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\PublicAuth","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMethod:PROPFIND",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":49,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/apps/dav/appinfo/v2/publicremote.php","line":153,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->","args":[]},{"file":"/var/www/html/public.php","line":82,"args":["/var/www/html/apps/dav/appinfo/v2/publicremote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/Connector/Sabre/PublicAuth.php","Line":96,"message":"Sabre\\DAV\\Exception\\NotFound: ","exception":{},"CustomMessage":"Sabre\\DAV\\Exception\\NotFound: "}}
{"reqId":"ylJVi4AJ1M3lC3BNYZBZ","level":3,"time":"2025-11-15T15:53:48+00:00","remoteAddr":"172.23.0.1","user":"--","app":"no app in context","method":"PROPFIND","url":"/public.php/dav/files/admin","message":"Exception thrown: Sabre\\DAV\\Exception\\NotFound","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36","version":"31.0.10.2","exception":{"Exception":"Sabre\\DAV\\Exception\\NotFound","Message":"","Code":0,"Trace":[{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/PublicAuth.php","line":80,"function":"checkToken","class":"OCA\\DAV\\Connector\\Sabre\\PublicAuth","type":"->","args":[]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\PublicAuth","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMethod:PROPFIND",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":49,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/apps/dav/appinfo/v2/publicremote.php","line":153,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->","args":[]},{"file":"/var/www/html/public.php","line":82,"args":["/var/www/html/apps/dav/appinfo/v2/publicremote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/Connector/Sabre/PublicAuth.php","Line":130,"message":"","exception":{},"CustomMessage":"Exception thrown: Sabre\\DAV\\Exception\\NotFound"}}
{"reqId":"ylJVi4AJ1M3lC3BNYZBZ","level":3,"time":"2025-11-15T15:53:48+00:00","remoteAddr":"172.23.0.1","user":"--","app":"webdav","method":"PROPFIND","url":"/public.php/dav/files/admin","message":"Sabre\\DAV\\Exception\\NotFound: ","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36","version":"31.0.10.2","exception":{"Exception":"Sabre\\DAV\\Exception\\ServiceUnavailable","Message":"Sabre\\DAV\\Exception\\NotFound: ","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":179,"function":"check","class":"OCA\\DAV\\Connector\\Sabre\\PublicAuth","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Auth/Plugin.php","line":135,"function":"check","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"beforeMethod","class":"Sabre\\DAV\\Auth\\Plugin","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":456,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["beforeMethod:PROPFIND",[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"/var/www/html/apps/dav/lib/Connector/Sabre/Server.php","line":49,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"/var/www/html/apps/dav/appinfo/v2/publicremote.php","line":153,"function":"start","class":"OCA\\DAV\\Connector\\Sabre\\Server","type":"->","args":[]},{"file":"/var/www/html/public.php","line":82,"args":["/var/www/html/apps/dav/appinfo/v2/publicremote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/Connector/Sabre/PublicAuth.php","Line":96,"message":"Sabre\\DAV\\Exception\\NotFound: ","exception":{},"CustomMessage":"Sabre\\DAV\\Exception\\NotFound: "}}
Browser log
Not an issue in browser
(In browser backspace does not delete a line though, line-breaks cannot be deleted, unknown if this is related)
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working