Rich Text Editing No Auto Save
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 738
- Forks
- 162
- Avg merge
- 6h 2m
- Merged PRs (30d)
- 35
Description
Steps to reproduce
- Enable notes rich text editing
- Type something
- Observe no auto save like traditional edit mode
Expected behaviour
Like in edit mode, the rich text edit mode should save a second or two after inactivity.
Actual behaviour
Rich Text editor mode has no auto save feature and requires manually saving each time
Logs
Log entry every time the edit tries to save:
{
"reqId": "1bwjjYeH9WwzGQNiCVcl",
"level": 3,
"time": "2024-08-24T23:58:35+00:00",
"remoteAddr": "192.168.0.2",
"user": "admin1",
"app": "text",
"method": "PUT",
"url": "/apps/text/session/12914/create",
"message": "No permission to access this file",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:129.0) Gecko/20100101 Firefox/129.0",
"version": "29.0.5.1",
"exception": {
"Exception": "OCP\\Files\\NotFoundException",
"Message": "",
"Code": 0,
"Trace": [
{
"file": "/var/www/nextcloud/apps/text/lib/Service/ApiService.php",
"line": 92,
"function": "getFileById",
"class": "OCA\\Text\\Service\\DocumentService",
"type": "->"
},
{
"file": "/var/www/nextcloud/apps/text/lib/Controller/SessionController.php",
"line": 62,
"function": "create",
"class": "OCA\\Text\\Service\\ApiService",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 232,
"function": "create",
"class": "OCA\\Text\\Controller\\SessionController",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 138,
"function": "executeController",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/App.php",
"line": 184,
"function": "dispatch",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->"
},
{
"file": "/var/www/nextcloud/lib/private/Route/Router.php",
"line": 338,
"function": "main",
"class": "OC\\AppFramework\\App",
"type": "::"
},
{
"file": "/var/www/nextcloud/lib/base.php",
"line": 1053,
"function": "match",
"class": "OC\\Route\\Router",
"type": "->"
},
{
"file": "/var/www/nextcloud/index.php",
"line": 49,
"function": "handleRequest",
"class": "OC",
"type": "::"
}
],
"File": "/var/www/nextcloud/apps/text/lib/Service/DocumentService.php",
"Line": 514,
"message": "No permission to access this file",
"exception": [],
"CustomMessage": "No permission to access this file"
},
"id": "66cad25acd457"
}
root@cloud:~$ ls -l /var/www/nextcloud/apps/text/lib/Service/DocumentService.php
-rw-r--r-- 1 www-data www-data 22096 Aug 20 17:56 /var/www/nextcloud/apps/text/lib/Service/DocumentService.php
root@cloud:~$ ls -ld /var/www/nextcloud/apps/text/lib/Service/
drwxr-xr-x 2 www-data www-data 4096 Aug 22 16:15 /var/www/nextcloud/apps/text/lib/Service/
root@cloud:~$ ls -ld /var/www/nextcloud/apps/text/lib
drwxr-xr-x 16 www-data www-data 4096 Aug 22 16:15 /var/www/nextcloud/apps/text/lib
root@cloud:~$ ls -ld /var/www/nextcloud/apps/text
drwxr-xr-x 9 www-data www-data 4096 Aug 22 16:15 /var/www/nextcloud/apps/text
root@cloud:~$ ls -ld /var/www/nextcloud/apps
drwxr-xr-x 65 www-data www-data 4096 Aug 23 18:30 /var/www/nextcloud/apps
root@cloud:~$ ls -ld /var/www/nextcloud
drwxr-xr-x 14 www-data www-data 4096 Aug 22 16:15 /var/www/nextcloud
4 S root 80081 1 0 80 0 - 145893 do_epo Aug16 ? 00:00:35 php-fpm: master process (/etc/php/8.3/fpm/php-fpm.conf)
5 S www-data 147329 80081 0 80 0 - 170681 skb_wa Aug22 ? 00:02:33 php-fpm: pool www
5 S www-data 158782 80081 0 80 0 - 171344 skb_wa Aug23 ? 00:01:32 php-fpm: pool www
5 S www-data 171566 80081 0 80 0 - 171481 skb_wa 23:37 ? 00:00:04 php-fpm: pool www
5 S root 147295 1 0 80 0 - 5664 sigsus Aug22 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
5 S www-data 147296 147295 0 80 0 - 6359 do_epo Aug22 ? 00:00:22 nginx: worker process
5 S www-data 147297 147295 0 80 0 - 6266 do_epo Aug22 ? 00:00:21 nginx: worker process
5 S www-data 147298 147295 0 80 0 - 6229 do_epo Aug22 ? 00:00:21 nginx: worker process
5 S www-data 147299 147295 0 80 0 - 6164 do_epo Aug22 ? 00:00:21 nginx: worker process
Log says no permission to that php file. There is access to that file. Globally. And all directories above it.
Server
Please complete the following information.
- Notes app version: 4.10.1
- Nextcloud version: 29.0.5
- OS: Debian 12 AMD64
- Web server: nginx 1.27.1
- PHP version: php8.3
- Database: mariadb 10.11.6
Nextcloud configuration:
Client
Please complete the following information.
- Browser (incl. version): Firefox 129
- OS: Debian 12 AMD64
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the rich-text save flow from PUT /apps/text/session/.../create through apps/text/lib/Service/ApiService.php, SessionController.php, and DocumentService.php, comparing it with traditional edit mode. Reproduce the two-second inactivity case and the reported permission error; done means rich-text edits save automatically without requiring manual saves.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, php
- Domain
- api, backend, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100