nextcloud / richdocuments

📑 Collabora Online for Nextcloud
https://nextcloud.com/collaboraonline
349 stars 115 forks source link

Clipboard copy paste not working properly #3775

Closed gravelfreeman closed 2 months ago

gravelfreeman commented 3 months ago

Chomium and Firefox browsers

Describe the Bug

It's not possible to copy content from within the Text, Calc and Presentation apps to the clipboard.

Steps to Reproduce

  1. Copy some text in Windows clipboard
  2. Paste text in Text, Calc and Presentation

Expected Behaviour

Text gets copied in Text, Calc and Presentation.

Actual Behaviour

Text doesn't get copied in Text, Calc and Presentation.


Chromium browsers only

Describe the Bug

It's not possible to paste content from the clipboard into Text, Calc and Presentation apps.

Steps to Reproduce

  1. Copy some text in Windows clipboard
  2. Paste text in Text, Calc and Presentation

Expected Behaviour

Text gets copied from Text, Calc and Presentation to the clipboard.

Actual Behaviour

Nothing gets added to the clipboard.


Console browser logs

Errors (x5)

TypeError: t.fileInfo is null
    fn Sidebar.vue:1
    r VueJS
    $ NcAppSidebar-CqER6-dl.mjs:584
    VueJS 23
    open Sidebar.vue:466
    exec sidebarAction.ts:49
    openSidebarForFile FilesListVirtual.vue:147
    mounted FilesListVirtual.vue:130
    VueJS 21
    updateNodes files.ts:39
    k pinia.mjs:1380
    fetchContent FilesList.vue:321
    mounted FilesList.vue:288
    VueJS 11
    73348 main.ts:33
    Webpack 5
vue.runtime.esm.js:3065:16
TypeError: t.fileInfo is null
    fn Sidebar.vue:1
    r VueJS
    $ NcAppSidebar-CqER6-dl.mjs:584
    VueJS 14
    setFullScreenMode Sidebar.vue:518
    beforeOpen viewer-main.mjs:588
    openFile viewer-main.mjs:588
    file viewer-main.mjs:588
    $a viewer-main.mjs:6
    run viewer-main.mjs:6
    Ww viewer-main.mjs:6
    S0 viewer-main.mjs:6
    Hl viewer-main.mjs:6
    promise callback*mo viewer-main.mjs:6
    S0 viewer-main.mjs:6
    Ph viewer-main.mjs:6
    update viewer-main.mjs:6
    notify viewer-main.mjs:6
    set viewer-main.mjs:6
    open viewer-main.mjs:2187
    Lj viewer-main.mjs:428
    handleOpenFile FilesListVirtual.vue:177
    mounted FilesListVirtual.vue:131
    VueJS 21
    updateNodes files.ts:39
    k pinia.mjs:1380
    fetchContent FilesList.vue:321
    mounted FilesList.vue:288
    VueJS 11
    73348 main.ts:33
    Webpack 5
vue.runtime.esm.js:3065:16
Error while loading the file data TypeError: this.$refs.sidebar is undefined
    open Sidebar.vue:491
    showSidebar viewer-main.mjs:588
    changeSidebar viewer-main.mjs:588
    openFileInfo viewer-main.mjs:588
    openFile viewer-main.mjs:588
    file viewer-main.mjs:588
    $a viewer-main.mjs:6
    run viewer-main.mjs:6
    Ww viewer-main.mjs:6
    S0 viewer-main.mjs:6
    Hl viewer-main.mjs:6
    promise callback*mo viewer-main.mjs:6
    S0 viewer-main.mjs:6
    Ph viewer-main.mjs:6
    update viewer-main.mjs:6
    notify viewer-main.mjs:6
    set viewer-main.mjs:6
    open viewer-main.mjs:2187
    Lj viewer-main.mjs:428
    handleOpenFile FilesListVirtual.vue:177
    mounted FilesListVirtual.vue:131
    VueJS 21
    updateNodes files.ts:39
    k pinia.mjs:1380
    fetchContent FilesList.vue:321
    mounted FilesList.vue:288
    VueJS 11
    73348 main.ts:33
    Webpack 5
Sidebar.vue:497
Uncaught (in promise) Error: TypeError: this.$refs.sidebar is undefined
    open Sidebar.vue:499
    showSidebar viewer-main.mjs:588
    changeSidebar viewer-main.mjs:588
    openFileInfo viewer-main.mjs:588
    openFile viewer-main.mjs:588
    file viewer-main.mjs:588
    $a viewer-main.mjs:6
    run viewer-main.mjs:6
    Ww viewer-main.mjs:6
    S0 viewer-main.mjs:6
    Hl viewer-main.mjs:6
    promise callback*mo viewer-main.mjs:6
    S0 viewer-main.mjs:6
    Ph viewer-main.mjs:6
    update viewer-main.mjs:6
    notify viewer-main.mjs:6
    set viewer-main.mjs:6
    open viewer-main.mjs:2187
    Lj viewer-main.mjs:428
    handleOpenFile FilesListVirtual.vue:177
    mounted FilesListVirtual.vue:131
    VueJS 21
    updateNodes files.ts:39
    k pinia.mjs:1380
    fetchContent FilesList.vue:321
    mounted FilesList.vue:288
    VueJS 11
    73348 main.ts:33
    Webpack 5
Sidebar.vue:499
GET
https://cloud.freeman.art/collabora/browser/594b605/images/lc_fold.svg
[HTTP/2 404  7ms]

GET
https://cloud.freeman.art/collabora/browser/594b605/images/lc_hamburger-tablet.svg
[HTTP/2 404  7ms]

GET
https://cloud.freeman.art/collabora/browser/594b605/images/lc_zoom.svg
[HTTP/2 404  6ms]

Error: Promised response from onMessage listener went out of scope 2 ExtensionMessagingService.js:89:34

Warnings (x31)

These 4 warnings regarding the clipboard

Feature Policy: Skipping unsupported feature name “clipboard-read”. [viewer-main.mjs:6:59739](https://cloud.freeman.art/apps/viewer/js/viewer-main.mjs?v=eac36190-454)
Feature Policy: Skipping unsupported feature name “clipboard-write”. [viewer-main.mjs:6:59739](https://cloud.freeman.art/apps/viewer/js/viewer-main.mjs?v=eac36190-454)
Feature Policy: Skipping unsupported feature name “clipboard-read”. [viewer-main.mjs:6:49941](https://cloud.freeman.art/apps/viewer/js/viewer-main.mjs?v=eac36190-454)
Feature Policy: Skipping unsupported feature name “clipboard-write”.
Content-Security-Policy: Ignoring “blob:” within script-src-elem: ‘strict-dynamic’ specified 36505
Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content. 36505
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 117, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 136, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 155, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 174, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 193, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 212, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 231, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 250, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 269, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 288, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 307, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 117, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
Feature Policy: Skipping unsupported feature name “clipboard-read”. viewer-main.mjs:6:59739
Feature Policy: Skipping unsupported feature name “clipboard-write”. viewer-main.mjs:6:59739
Feature Policy: Skipping unsupported feature name “clipboard-read”. viewer-main.mjs:6:49941
Feature Policy: Skipping unsupported feature name “clipboard-write”. viewer-main.mjs:6:49941
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 117, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 136, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 155, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 174, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 193, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 212, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 231, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 250, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 269, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 288, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
You need to fill either the text or the ariaLabel props in the button component. 
Object { text: undefined, ariaLabel: "" }

Object { _uid: 307, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:156:37
This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. cool.html:79:42
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help https://xhr.spec.whatwg.org/#sync-warning bundle.js:8812:5

Desktop

COOLWSD version: 24.04.3.1 (git hash: 594b605 (E))
LOKit version: Collabora Office 24.04.3.1 (git hash: 31b6e2c)
Served by: Debian GNU/Linux 12 (bookworm)

Additional Context

First shared on Nextcloud forum where I've been told to post my issue at Collabora in this issue. I believe the issue fits this repo better since I'm using Collabora by richdocuments in Nextcloud.

gravelfreeman commented 3 months ago

Since today I'm able to copy content from Text, Calc and Presentation both in Chrome and Firefox.

Also, for 2 of my 3 computers, I'm now able to paste content into Text, Calc and Presentation in Firefox only.

All Firefox versions are the same on the 3 computers.

This is so strange and annoying.

mulzhang commented 3 months ago

Is there a solution now?Can other collaborators take a look together.

mulzhang commented 3 months ago

This feature is a basic feature that is too deadly

gravelfreeman commented 3 months ago

Is there a solution now?Can other collaborators take a look together.

I don't know why this is happening. What's your Nextcloud version and which browser work or don't with copy and/or paste?

Maybe we'll find similarities in our setups.

joshtrichards commented 3 months ago

It would be helpful if you filled out our bug report template instead of bypassing it - e.g. https://github.com/nextcloud/richdocuments/issues/new?assignees=&labels=&projects=&template=Bug_report.md

You didn't even specify basics like Nextcloud Server version, Nextcloud Office version, browser versions, etc. :-)

HLFH commented 3 months ago

I can reproduce the issue on Safari.

HLFH commented 3 months ago

Describe the bug I can reproduce the issue in Collabora Online Calc on Safari. I have not tried other browsers or Collabora Online apps.

To Reproduce Steps to reproduce the behavior:

  1. Go to Calc on Safari
  2. Copy any field
  3. Clipboard copy/paste does not work (first copy could work but then clipboard is kept on the first copy, not any further copy)

Expected behavior

  1. Go to Calc on Safari
  2. Copy any field
  3. Clipboard copy/paste should work

Screenshots No screenshot

Client details:

Server details

Operating system: Arch Linux

Web server: nginx

Database: MariaDB

PHP version: 8.3.8-2

Nextcloud version: 9.0.3

Version of the richdocuments app Nextcloud Office 8.4.3

Version of Collabora Online 24.04.4.2-1 (latest)

Configuration of the richdocuments app

{
    "apps": {
        "richdocuments": {
            "canonical_webroot": "",
            "disable_certificate_verification": "yes",
            "enabled": "yes",
            "external_apps": "",
            "installed_version": "8.4.3",
            "public_wopi_url": "https:\/\/collaboraonline.example.com",
            "types": "prevent_group_restriction",
            "wopi_url": "https:\/\/collaboraonline.example.com"
        }
    }
}
Logs #### Nextcloud log (data/nextcloud.log) ``` {"reqId":"AXiliJ2uREt0lEPqk8go","level":0,"time":"2024-06-26T09:43:03+00:00","remoteAddr":"2a0d:3344:ea:2a10:e5bb:af72:fd51:3250","user":"HLFH","app":"timetracker","method":"POST","url":"/apps/text/session/47742/push","message":"/appinfo/app.php is deprecated, use \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15","version":"29.0.3.4","data":{"app":"timetracker"}} {"reqId":"PnQgQQmD1nROd8UURDaD","level":0,"time":"2024-06-26T09:43:10+00:00","remoteAddr":"2a0d:3344:ea:2a10:e5bb:af72:fd51:3250","user":"HLFH","app":"timetracker","method":"POST","url":"/apps/text/session/47742/sync","message":"/appinfo/app.php is deprecated, use \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15","version":"29.0.3.4","data":{"app":"timetracker"}} {"reqId":"PnQgQQmD1nROd8UURDaD","level":0,"time":"2024-06-26T09:43:10+00:00","remoteAddr":"2a0d:3344:ea:2a10:e5bb:af72:fd51:3250","user":"HLFH","app":"no app in context","method":"POST","url":"/apps/text/session/47742/sync","message":"dirty table reads: SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `*PREFIX*text_sessions` WHERE `document_id` = :dcValue1","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15","version":"29.0.3.4","exception":{"Exception":"Exception","Message":"dirty table reads: SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `*PREFIX*text_sessions` WHERE `document_id` = :dcValue1","Code":0,"Trace":[{"file":"/srv/http/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":344,"function":"executeQuery","class":"OC\\DB\\Connection","type":"->","args":["SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `*PREFIX*text_sessions` WHERE `document_id` = :dcValue1",[47742],[2],null]},{"file":"/srv/http/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php","line":384,"function":"executeQuery","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->","args":[]},{"file":"/srv/http/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":280,"function":"execute","class":"Doctrine\\DBAL\\Query\\QueryBuilder","type":"->","args":[]},{"file":"/srv/http/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":293,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->","args":[]},{"file":"/srv/http/nextcloud/lib/public/AppFramework/Db/QBMapper.php","line":335,"function":"executeQuery","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->","args":[]},{"file":"/srv/http/nextcloud/apps/text/lib/Db/SessionMapper.php","line":68,"function":"findEntities","class":"OCP\\AppFramework\\Db\\QBMapper","type":"->","args":[["OC\\DB\\QueryBuilder\\QueryBuilder"]]},{"file":"/srv/http/nextcloud/apps/text/lib/Service/SessionService.php","line":99,"function":"findAll","class":"OCA\\Text\\Db\\SessionMapper","type":"->","args":[47742]},{"file":"/srv/http/nextcloud/apps/text/lib/Service/ApiService.php","line":197,"function":"getAllSessions","class":"OCA\\Text\\Service\\SessionService","type":"->","args":[47742]},{"file":"/srv/http/nextcloud/apps/text/lib/Controller/SessionController.php","line":74,"function":"sync","class":"OCA\\Text\\Service\\ApiService","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/srv/http/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":232,"function":"sync","class":"OCA\\Text\\Controller\\SessionController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/srv/http/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":138,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OCA\\Text\\Controller\\SessionController"],"sync"]},{"file":"/srv/http/nextcloud/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OCA\\Text\\Controller\\SessionController"],"sync"]},{"file":"/srv/http/nextcloud/lib/private/Route/Router.php","line":338,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Text\\Controller\\SessionController","sync",["OC\\AppFramework\\DependencyInjection\\DIContainer"],["47742","text.session.sync"]]},{"file":"/srv/http/nextcloud/lib/base.php","line":1050,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/apps/text/session/47742/sync"]},{"file":"/srv/http/nextcloud/index.php","line":49,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/srv/http/nextcloud/lib/private/DB/Connection.php","Line":316,"message":"dirty table reads: SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `*PREFIX*text_sessions` WHERE `document_id` = :dcValue1","tables":["oc_text_sessions"],"reads":["oc_text_sessions"],"exception":{},"CustomMessage":"dirty table reads: SELECT `id`, `color`, `document_id`, `last_awareness_message`, `last_contact`, `user_id`, `guest_name` FROM `*PREFIX*text_sessions` WHERE `document_id` = :dcValue1"}} {"reqId":"r8RdYK311DpiaCHVD1HX","level":0,"time":"2024-06-26T09:43:11+00:00","remoteAddr":"2a0d:3344:ea:2a10:e5bb:af72:fd51:3250","user":"HLFH","app":"timetracker","method":"POST","url":"/apps/text/session/47742/push","message":"/appinfo/app.php is deprecated, use \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15","version":"29.0.3.4","data":{"app":"timetracker"}} ``` #### Browser log ``` [Error] Blocked a frame with origin "https://cloud.example.com" from accessing a frame with origin "https://collaboraonline.example.com". Protocols, domains, and ports must match. (x2) [Error] [ERROR] text: Unexpected Error "Failed to apply steps. Retry!" – Object Objectapp: "text"error: Error: Failed to apply steps. Retry! Error: Failed to apply steps. Retry!level: 0uid: "HLFH"Object Prototype log (index-Y-pG0XRl.mjs:2:1078) error (index-Y-pG0XRl.mjs:2:1404) [Error] [ERROR] text: Unexpected Error "Failed to apply steps. Retry!" – Object Objectapp: "text"error: Error: Failed to apply steps. Retry! Error: Failed to apply steps. Retry!level: 0uid: "HLFH"Object Prototype log (index-Y-pG0XRl.mjs:2:1078) error (index-Y-pG0XRl.mjs:2:1404) ```

Here is it @joshtrichards

juliushaertl commented 2 months ago

Since there is an upstream issue with Collabora let me close this one as this is unrelated to the integration app.