[GH-ISSUE #1015] Tab sync fails #667

Closed
opened 2026-02-25 22:37:47 +03:00 by kerem · 4 comments
Owner

Originally created by @sevmonster on GitHub (Dec 31, 2021).
Original GitHub issue: https://github.com/floccusaddon/floccus/issues/1015

Describe the bug

I have a Nextcloud account set up for tab sync in the Chrome extension. One of the reasons I decided on this solution was explicitly for tab sync, so I could easily merge session management and bookmarks into a single flow; I like being able to drag tabs over to bookmarks easily and selectively, especially without having the device in question in front of me. However, it isn't working as I expected. Pulling changes from the server results in errors if they were not initially pushed by floccus.

To Reproduce

Enable tab sync and create a new bookmark or folder in Nextcloud under the tab sync folder.

Expected behavior

The newly created bookmarks are opened in the browser.

Desktop

  • OS: Android, Windows
  • Browser: Chromium derivatives
  • Browser Version: Vivaldi 5.1.2526.3 (Chromium 96.0.4664.113), Ungoogled Chromium 96.0.4664.45, Kiwi 96.0.4664.46
  • Floccus version: 4.8.6
  • Floccus sync method: Nextcloud Bookmarks

Server

  • OS: Alpine Linux Edge (Linux 5.15.11-1-lts x86_64)
  • Nextcloud version: Nextcloud Hub II 23.0.0
  • Bookmarks app version: 10.0.3

Debug log

I get this error when floccus attempts to create tabs:

2021-12-31T20:50:57.776Z { revertPlan: 
   [ { type: 'CREATE',
       payload: - #undefined[New Year's Eve 2021](https://google.com/) parentId: 1,
       index: 3,
       oldItem: - #1833;105[New Year's Eve 2021](https://google.com/) parentId: 105 },
     { type: 'CREATE',
       payload: - #undefined[](https://nextcloud/apps/bookmarks/folders/108) parentId: 1,
       index: 4,
       oldItem: - #1835;105[](https://nextcloud/apps/bookmarks/folders/108) parentId: 105 },
     { type: 'REMOVE',
       payload: - #113[](https://nextcloud/apps/bookmarks/folders/105) parentId: 1,
       index: 3 } ] }
2021-12-31T20:50:57.776Z Checking failsafe: 1/4=0.25
2021-12-31T20:50:57.776Z (tabs)CREATE     - #undefined[New Year's Eve 2021](https://google.com/) parentId: 1
2021-12-31T20:50:57.777Z (tabs)CREATE     - #undefined[](https://nextcloud/apps/bookmarks/folders/108) parentId: 1
2021-12-31T20:50:57.777Z [TypeError: Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.]
2021-12-31T20:50:57.777Z [TypeError: Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.]
2021-12-31T20:50:57.778Z Syncing failed with Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.
Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.

Creating a new folder anywhere results in this:

2021-12-31T20:47:37.752Z Checking failsafe: 0/4=0
2021-12-31T20:47:37.752Z (nextcloud-folders)UPDATE     - #1835;105[](https://nextcloud/apps/bookmarks/folders/108) parentId: 105
2021-12-31T20:47:37.752Z Fetching single bookmark
2021-12-31T20:47:37.974Z (tabs)CREATEFOLDER     + #undefined[] parentId: 1, hash: undefined
      - #1833;108[New Year's Eve 2021](https://google.com/) parentId: 108
2021-12-31T20:47:37.974Z (tabs)CREATE     - #undefined[New Year's Eve 2021](https://google.com/) parentId: 0
2021-12-31T20:47:37.975Z { [Error: 1 errors]
  list: [ [TypeError: Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Error at property 'windowId': Invalid type: expected integer, found string.] ] }
2021-12-31T20:47:37.975Z [TypeError: Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Error at property 'windowId': Invalid type: expected integer, found string.]
2021-12-31T20:47:37.975Z Syncing failed with Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Error at property 'windowId': Invalid type: expected integer, found string.
  • Debug log provided

Additional context

With the account set to always replace upstream changes, there are no problems. If pulling in sync tabs mode isn't properly functional or supported, it should probably be disabled in the UI and disabled in existing account settings?

Originally created by @sevmonster on GitHub (Dec 31, 2021). Original GitHub issue: https://github.com/floccusaddon/floccus/issues/1015 ### Describe the bug I have a Nextcloud account set up for tab sync in the Chrome extension. One of the reasons I decided on this solution was explicitly for tab sync, so I could easily merge session management and bookmarks into a single flow; I like being able to drag tabs over to bookmarks easily and selectively, especially without having the device in question in front of me. However, it isn't working as I expected. Pulling changes from the server results in errors if they were not initially pushed by floccus. ### To Reproduce Enable tab sync and create a new bookmark or folder in Nextcloud under the tab sync folder. ### Expected behavior The newly created bookmarks are opened in the browser. ### Desktop - OS: Android, Windows - Browser: Chromium derivatives - Browser Version: Vivaldi 5.1.2526.3 (Chromium 96.0.4664.113), Ungoogled Chromium 96.0.4664.45, Kiwi 96.0.4664.46 - Floccus version: 4.8.6 - Floccus sync method: Nextcloud Bookmarks ### Server - OS: Alpine Linux Edge (Linux 5.15.11-1-lts x86_64) - Nextcloud version: Nextcloud Hub II 23.0.0 - Bookmarks app version: 10.0.3 ### Debug log I get this error when floccus attempts to create tabs: ``` 2021-12-31T20:50:57.776Z { revertPlan: [ { type: 'CREATE', payload: - #undefined[New Year's Eve 2021](https://google.com/) parentId: 1, index: 3, oldItem: - #1833;105[New Year's Eve 2021](https://google.com/) parentId: 105 }, { type: 'CREATE', payload: - #undefined[](https://nextcloud/apps/bookmarks/folders/108) parentId: 1, index: 4, oldItem: - #1835;105[](https://nextcloud/apps/bookmarks/folders/108) parentId: 105 }, { type: 'REMOVE', payload: - #113[](https://nextcloud/apps/bookmarks/folders/105) parentId: 1, index: 3 } ] } 2021-12-31T20:50:57.776Z Checking failsafe: 1/4=0.25 2021-12-31T20:50:57.776Z (tabs)CREATE - #undefined[New Year's Eve 2021](https://google.com/) parentId: 1 2021-12-31T20:50:57.777Z (tabs)CREATE - #undefined[](https://nextcloud/apps/bookmarks/folders/108) parentId: 1 2021-12-31T20:50:57.777Z [TypeError: Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.] 2021-12-31T20:50:57.777Z [TypeError: Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.] 2021-12-31T20:50:57.778Z Syncing failed with Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'. Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'. ``` Creating a new folder anywhere results in this: ``` 2021-12-31T20:47:37.752Z Checking failsafe: 0/4=0 2021-12-31T20:47:37.752Z (nextcloud-folders)UPDATE - #1835;105[](https://nextcloud/apps/bookmarks/folders/108) parentId: 105 2021-12-31T20:47:37.752Z Fetching single bookmark 2021-12-31T20:47:37.974Z (tabs)CREATEFOLDER + #undefined[] parentId: 1, hash: undefined - #1833;108[New Year's Eve 2021](https://google.com/) parentId: 108 2021-12-31T20:47:37.974Z (tabs)CREATE - #undefined[New Year's Eve 2021](https://google.com/) parentId: 0 2021-12-31T20:47:37.975Z { [Error: 1 errors] list: [ [TypeError: Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Error at property 'windowId': Invalid type: expected integer, found string.] ] } 2021-12-31T20:47:37.975Z [TypeError: Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Error at property 'windowId': Invalid type: expected integer, found string.] 2021-12-31T20:47:37.975Z Syncing failed with Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Error at property 'windowId': Invalid type: expected integer, found string. ``` - [x] Debug log provided ### Additional context With the account set to always replace upstream changes, there are no problems. If pulling in sync tabs mode isn't properly functional or supported, it should probably be disabled in the UI and disabled in existing account settings?
kerem closed this issue 2026-02-25 22:37:47 +03:00
Author
Owner

@github-actions[bot] commented on GitHub (Dec 31, 2021):

Hi @sevmonster! This issue is being automatically closed because it does not follow the issue template.

<!-- gh-comment-id:1003450229 --> @github-actions[bot] commented on GitHub (Dec 31, 2021): Hi @sevmonster! This issue is being automatically closed because it does not follow the issue template.
Author
Owner

@candrapersada commented on GitHub (Feb 10, 2022):

2022-02-10T09:18:22.923Z Starting sync process for account Google Drive: tabs.xbel
2022-02-10T09:18:22.928Z onSyncStart: begin
2022-02-10T09:18:25.382Z onSyncStart: completed
2022-02-10T09:18:25.383Z Using "merge default" strategy (no cache available)
2022-02-10T09:18:25.388Z { localTreeRoot: 
     + #tabsundefined parentId: undefined, hash: undefined
       + #1undefined parentId: tabs, hash: undefined
         - #2undefined parentId: 1,
  serverTreeRoot: 
     + #0[e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] parentId: undefined, hash: undefined
       + #319undefined parentId: 0, hash: undefined
         - #320undefined parentId: 319
         - #321undefined parentId: 319
         - #322undefined parentId: 319
         - #323undefined parentId: 319
         - #324undefined parentId: 319,
  cacheTreeRoot: 
     + #tabs[e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] parentId: undefined, hash: undefined
    }
2022-02-10T09:18:25.390Z { localDiff: 
   [ { type: 'CREATE',
       payload: - #2undefined parentId: 1,
       index: 0 },
     { type: 'REMOVE',
       payload: - #320undefined parentId: 319,
       index: 0 },
     { type: 'REMOVE',
       payload: - #321undefined parentId: 319,
       index: 1 },
     { type: 'REMOVE',
       payload: - #322undefined parentId: 319,
       index: 2 },
     { type: 'REMOVE',
       payload: - #323undefined parentId: 319,
       index: 3 },
     { type: 'REMOVE',
       payload: - #324undefined parentId: 319,
       index: 4 },
     { type: 'REORDER',
       payload: 
        + #1undefined parentId: tabs, hash: undefined
        - #2undefined parentId: 1,
       order: [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] } ],
  serverDiff: 
   [ { type: 'CREATE',
       payload: - #320undefined parentId: 319,
       index: 0 },
     { type: 'CREATE',
       payload: - #321undefined parentId: 319,
       index: 1 },
     { type: 'CREATE',
       payload: - #322undefined parentId: 319,
       index: 2 },
     { type: 'CREATE',
       payload: - #323undefined parentId: 319,
       index: 3 },
     { type: 'CREATE',
       payload: - #324undefined parentId: 319,
       index: 4 },
     { type: 'REMOVE',
       payload: - #2undefined parentId: 1,
       index: 0 },
     { type: 'REORDER',
       payload: 
        + #319undefined parentId: 0, hash: undefined
        - #320undefined parentId: 319
        - #321undefined parentId: 319
        - #322undefined parentId: 319
        - #323undefined parentId: 319
        - #324undefined parentId: 319,
       order: [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] } ] }
2022-02-10T09:18:25.393Z { localPlan: 
   [ { type: 'CREATE',
       payload: - #undefinedundefined parentId: 1,
       index: 0,
       oldItem: - #320undefined parentId: 319 },
     { type: 'CREATE',
       payload: - #undefinedundefined parentId: 1,
       index: 1,
       oldItem: - #321undefined parentId: 319 },
     { type: 'CREATE',
       payload: - #undefinedundefined parentId: 1,
       index: 2,
       oldItem: - #322undefined parentId: 319 },
     { type: 'CREATE',
       payload: - #undefinedundefined parentId: 1,
       index: 3,
       oldItem: - #323undefined parentId: 319 },
     { type: 'CREATE',
       payload: - #undefinedundefined parentId: 1,
       index: 4,
       oldItem: - #324undefined parentId: 319 } ],
  serverPlan: 
   [ { type: 'CREATE',
       payload: - #undefinedundefined parentId: 319,
       index: 0,
       oldItem: - #2undefined parentId: 1 } ] }
2022-02-10T09:18:25.393Z Checking failsafe: 0/1=0
2022-02-10T09:18:25.394Z CREATE     - #undefinedundefined parentId: 319
2022-02-10T09:18:25.397Z (tabs)CREATE     - #undefinedundefined parentId: 1
2022-02-10T09:18:25.398Z (tabs)CREATE     - #undefinedundefined parentId: 1
2022-02-10T09:18:25.399Z (tabs)CREATE     - #undefinedundefined parentId: 1
2022-02-10T09:18:25.399Z (tabs)CREATE     - #undefinedundefined parentId: 1
2022-02-10T09:18:25.399Z (tabs)CREATE     - #undefinedundefined parentId: 1
2022-02-10T09:18:25.401Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855]
2022-02-10T09:18:25.402Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855]
2022-02-10T09:18:25.402Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855]
2022-02-10T09:18:25.402Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855]
2022-02-10T09:18:25.402Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855]
2022-02-10T09:18:25.403Z Syncing failed with Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.
Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.
Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.
Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.
Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'.
2022-02-10T09:18:25.406Z onSyncFail

Browser

  • Based Chromium
  • Floccus version: v4.10.0
  • Floccus sync method: Google Drive
<!-- gh-comment-id:1034669317 --> @candrapersada commented on GitHub (Feb 10, 2022): ``` 2022-02-10T09:18:22.923Z Starting sync process for account Google Drive: tabs.xbel 2022-02-10T09:18:22.928Z onSyncStart: begin 2022-02-10T09:18:25.382Z onSyncStart: completed 2022-02-10T09:18:25.383Z Using "merge default" strategy (no cache available) 2022-02-10T09:18:25.388Z { localTreeRoot: + #tabsundefined parentId: undefined, hash: undefined + #1undefined parentId: tabs, hash: undefined - #2undefined parentId: 1, serverTreeRoot: + #0[e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] parentId: undefined, hash: undefined + #319undefined parentId: 0, hash: undefined - #320undefined parentId: 319 - #321undefined parentId: 319 - #322undefined parentId: 319 - #323undefined parentId: 319 - #324undefined parentId: 319, cacheTreeRoot: + #tabs[e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] parentId: undefined, hash: undefined } 2022-02-10T09:18:25.390Z { localDiff: [ { type: 'CREATE', payload: - #2undefined parentId: 1, index: 0 }, { type: 'REMOVE', payload: - #320undefined parentId: 319, index: 0 }, { type: 'REMOVE', payload: - #321undefined parentId: 319, index: 1 }, { type: 'REMOVE', payload: - #322undefined parentId: 319, index: 2 }, { type: 'REMOVE', payload: - #323undefined parentId: 319, index: 3 }, { type: 'REMOVE', payload: - #324undefined parentId: 319, index: 4 }, { type: 'REORDER', payload: + #1undefined parentId: tabs, hash: undefined - #2undefined parentId: 1, order: [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] } ], serverDiff: [ { type: 'CREATE', payload: - #320undefined parentId: 319, index: 0 }, { type: 'CREATE', payload: - #321undefined parentId: 319, index: 1 }, { type: 'CREATE', payload: - #322undefined parentId: 319, index: 2 }, { type: 'CREATE', payload: - #323undefined parentId: 319, index: 3 }, { type: 'CREATE', payload: - #324undefined parentId: 319, index: 4 }, { type: 'REMOVE', payload: - #2undefined parentId: 1, index: 0 }, { type: 'REORDER', payload: + #319undefined parentId: 0, hash: undefined - #320undefined parentId: 319 - #321undefined parentId: 319 - #322undefined parentId: 319 - #323undefined parentId: 319 - #324undefined parentId: 319, order: [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] } ] } 2022-02-10T09:18:25.393Z { localPlan: [ { type: 'CREATE', payload: - #undefinedundefined parentId: 1, index: 0, oldItem: - #320undefined parentId: 319 }, { type: 'CREATE', payload: - #undefinedundefined parentId: 1, index: 1, oldItem: - #321undefined parentId: 319 }, { type: 'CREATE', payload: - #undefinedundefined parentId: 1, index: 2, oldItem: - #322undefined parentId: 319 }, { type: 'CREATE', payload: - #undefinedundefined parentId: 1, index: 3, oldItem: - #323undefined parentId: 319 }, { type: 'CREATE', payload: - #undefinedundefined parentId: 1, index: 4, oldItem: - #324undefined parentId: 319 } ], serverPlan: [ { type: 'CREATE', payload: - #undefinedundefined parentId: 319, index: 0, oldItem: - #2undefined parentId: 1 } ] } 2022-02-10T09:18:25.393Z Checking failsafe: 0/1=0 2022-02-10T09:18:25.394Z CREATE - #undefinedundefined parentId: 319 2022-02-10T09:18:25.397Z (tabs)CREATE - #undefinedundefined parentId: 1 2022-02-10T09:18:25.398Z (tabs)CREATE - #undefinedundefined parentId: 1 2022-02-10T09:18:25.399Z (tabs)CREATE - #undefinedundefined parentId: 1 2022-02-10T09:18:25.399Z (tabs)CREATE - #undefinedundefined parentId: 1 2022-02-10T09:18:25.399Z (tabs)CREATE - #undefinedundefined parentId: 1 2022-02-10T09:18:25.401Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] 2022-02-10T09:18:25.402Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] 2022-02-10T09:18:25.402Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] 2022-02-10T09:18:25.402Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] 2022-02-10T09:18:25.402Z [e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855] 2022-02-10T09:18:25.403Z Syncing failed with Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'. Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'. Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'. Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'. Error in invocation of tabs.create(object createProperties, optional function callback): Error at parameter 'createProperties': Unexpected property: 'discarded'. 2022-02-10T09:18:25.406Z onSyncFail ``` ### Browser - Based Chromium - Floccus version: v4.10.0 - Floccus sync method: Google Drive
Author
Owner

@sevmonster commented on GitHub (Feb 11, 2022):

Thank you!

<!-- gh-comment-id:1036627852 --> @sevmonster commented on GitHub (Feb 11, 2022): Thank you!
Author
Owner

@github-actions[bot] commented on GitHub (Mar 20, 2023):

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:1476307182 --> @github-actions[bot] commented on GitHub (Mar 20, 2023): This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/floccus#667
No description provided.