Announcements
Do you have an idea for Dropbox Paper? Share it with us here!

A shared folder where the non-owner changes content, causes cursor loop with wrong data

Helpful | Level 6

FALSE POSITIVE REPORT -- this turned out to be a false positive with an overflow of the cursor length on our side causing repeat calls. Combined with the unexpected "delete" folder that occurs when you share a folder, we thought this was a bug, but soon found the root cause.

 

SCENARIO:

1. User Create a folder.

2. User Share the folder with a 3rd party.

3. 3rd party adds a shared folder to account.

4. 3rd party changes the content in a folder, such as adding a folder.

5. Webhook is generated on Users account.

PROBLEM:

The cursor loops with the same data over and over. The data is also incorrect, its the path of the shared folder, and not the path of the content changed by the user.

EXAMPLE:

Folder example: /MyFolders/ShareFolder is shared with 3rd party User.

3rd party user adds a folder: /MyFolders/ShareFolder/3rdPartyCreateFolder

Webhook received by app of the original user, and we call: https://api.dropboxapi.com/2/files/list_folder/continue

{"entries": [{".tag": "deleted", "name": "sharefolder", "path_lower": "/myfolders/sharefolder", "path_display": "/MyFolders/ShareFolder"}, {".tag": "folder", "name": "sharefolder", "path_lower": "/myfolders/sharefolder", "path_display": "/MyFolders/ShareFolder", "id": "id:<id>", "shared_folder_id": "<share id>", "sharing_info": {"read_only": false, "shared_folder_id": "<share id>", "traverse_only": false, "no_access": false}}], "cursor": "<cursor>", "has_more": true}

ODDITIES:

We never get the notice about "3rdPartyCreateFolder" being created. 

The webhook says it "has_more", so we keep calling, (different cursors) but its always the same result, for 10 or 20 times in a row.

The webhook itself says the folder was 1) deleted, and then 2) changed, when in reality it wasn't changed at all or deleted.

CONCLUSION:

This issue seems to be specifically related to webhook changes on shared folders being systemically broken. Please resolve this as soon as possible.

1 Accepted solution

Accepted Solutions
Highlighted

Re: A shared folder where the non-owner changes content, causes cursor loop with wrong data

Helpful | Level 6

Hi Greg,

I have also been further investigating this. I believe something the problem is when we got the delete folder our storage of the cursor broke. This caused us to get a new cursor every time but not store it properly (overflow due to an unexpectedly lengthy cursory). This is what produced the symptoms. Sorry for the false report!

This should be cleared as a false positive, however, thank you for clarifying the unexpected delete folder call we got stuck on, and for the quick response!

Reply
Loading...
3 Replies

Re: A shared folder where the non-owner changes content, causes cursor loop with wrong data

Helpful | Level 6

This bug is worse than I previously thought. Once a folder is shared and added to a 3rd party dropbox, even the owners' changes exhibit the same response as above. Specifically, the shared folder changes when nothing was changed, and the has-more loop.

I unadded it from the 3rd party dropbox, the same issue.

We even tried unsharing that folder. In all cases, the webhooks are the same as above, any changes result in that looping webhook.

We tried another folder outside of that folder, totally unrelated. The cursor is still stuck with those messages.

Updated Conclusion:

Every cursor request always returns those two changes and says it "has_more":true no matter what we do.

Reply
Loading...

Re: A shared folder where the non-owner changes content, causes cursor loop with wrong data

Dropboxer

Thanks for the report! I just tried reproducing this using the steps you described though, and it's working properly for me. 

Here's the code and output for each of the calls I tried, for reference:

# user A:
curl -X POST https://api.dropboxapi.com/2/files/list_folder/get_latest_cursor \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"\",\"recursive\": true}"

# {
#   "cursor": "AAFtK3SlwJQEVS58oxqGQTg-HhT_3BPO8S2U8rLrGk4ZJgTFNwHsg_o1cI0gOaaMgTRAoSOKG9Gaol6mo2kfTaoHoPM9Pt1mRJeasvplwOhU9hus15etRG7QT1EXE5Tq9J3xTXDubB21-dNSwbxIPNC2ETnBpHJU4wg29bJQi0DXUUCwz9soVnq9L30etEXf3G3o3T7B9_d1nOm7BeMg7SjRgMd3Okdr-xLWWtpsyIGB6OIeaLEScLp2hT9tpQRlTy5TVnvztKcpDLqw-QmkgnEDCxXpmBnQy3-2JbCrTOIc72j0HSuD8zSAVrqt7qr-M-FPFzsU2n5TOIhYfp3DOSeSlL66ZzjHUHCdmEVddzpFrFQgguBBgo5Mtt5as3M2hRgCLFJmO_3KZ9sVTumNJFLZY8_0BjaN6f7qTgUPkJRQAQ7PVVicci7S7RtPjwrmgMkCTN_t-CaSheFVKUBUKBpyzTGIm6zQFFudmODuF-HaJ4nKAlwcl3e4o-eG0C68w7d5TWGMY02cUB57rTRYTDb7Q8xUzZgf4fFLV7bJNk_lO2c6TwdVaUWLYeJuKno-3Qxugiy8n4--8QcletzCEwELn6ghyuPpEtQ9XXGBG86NghpkO-0R8tBrVonXhU9YDPElVm-dL1BE6B5N2U2yPJx2qaRiyBlAr5QESHU2qO2DxLAr5Ny6FLvlHyWMfrLPrB05CdIoNy3cZQLwrZjPD19RuJIouvqzAvLHVYSWL8-fqXRSmXtodd956K0G5s15XWaB-U4Tv7xB69w9CWicNI2Crb7Dc1qqyjZmYqo8fMsuNqk5LQ8fByxd2VTDR4zwzuGACVj51M9u74T96WGlP1xdoj007X4r4Gd3U0B0dOGDFaFwpnQz7NSH6iZKMcxYtCVAloYtSS_PA2OJIeI4bnwWxWAlQ8vtXRdCzGVYE6Dzv-MIUa-VoghJF1ihivrUsCXv1f4BFLabIJkZNWx7zoMLGzBYkOrMFBS_TPlO-fhSmGNisa0w4JAOOuk2l4rQn6JsQxry6EpPoy2aB2Z3NBr72zovnhTzPJ0qewmN51EOS5wGXKX-HWrOnDD8vhW8nTbQL2SjIA0xGe38xwX0RLkq8pBKvNIWRpv4BmwL13RAK2H6q0HHn1ahqdfYcaKA_7d6p3Lh5YUuTrd9s8pCt6-X8eR9tQ2Nmb1TeysnyD_c4vK5w-qWwk8z6-8WlCwUkC7zc7bRZGWcaqT17VqJR9fLQU883AO1IZXKND_WK2vAYBrgx6MoHyjfBqnMX_9QjVBfC9-73OvVf6e0BPFt86RkeYoahrBKBWxS_jQO3CU0Kfpzx0oQzjIEb2w5CO1Me_qWVmyerzJztN_ri64NaIB-bdWAui8fV7SlG27qBlPvfg"
# }

curl -X POST https://api.dropboxapi.com/2/files/create_folder_v2 \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/test_377315\"}"

# {
#   "metadata": {
#     "name": "test_377315",
#     "path_lower": "/test_377315",
#     "path_display": "/test_377315",
#     "id": "id:25N5ksooX-sAAAAAAAODtw"
#   }
# }

curl -X POST https://api.dropboxapi.com/2/sharing/share_folder \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/test_377315\"}"

# {
#   ".tag": "complete",
#   "access_type": {
#     ".tag": "owner"
#   },
#   "is_inside_team_folder": false,
#   "is_team_folder": false,
#   "owner_team": {
#     "id": "dbtid:AAALfOJvW_VA8-yeLzHQ5Pug2GR15Z4t8KI",
#     "name": "TEST API Tester Team"
#   },
#   "path_lower": "/test_377315",
#   "parent_folder_name": "",
#   "name": "test_377315",
#   "policy": {
#     "member_policy": {
#       ".tag": "anyone"
#     },
#     "resolved_member_policy": {
#       ".tag": "anyone"
#     },
#     "acl_update_policy": {
#       ".tag": "editors"
#     },
#     "shared_link_policy": {
#       ".tag": "anyone"
#     },
#     "viewer_info_policy": {
#       ".tag": "enabled"
#     }
#   },
#   "preview_url": "https://www.dropbox.com/scl/fo/6d8uprpum4hyb245mqxtp/AAA9RizsOUZYH6ijfW-5upJda?dl=0",
#   "shared_folder_id": "6607843792",
#   "time_invited": "2019-11-08T15:49:28Z",
#   "access_inheritance": {
#     ".tag": "inherit"
#   }
# }

curl -X POST https://api.dropboxapi.com/2/sharing/add_folder_member \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"shared_folder_id\": \"6607843792\",\"members\": [{\"member\": {\".tag\": \"email\",\"email\": \"<USER B EMAIL ADDRESS>\"}, \"access_level\": \"editor\"}]}"

# null


# user B:
curl -X POST https://api.dropboxapi.com/2/sharing/mount_folder \
    --header "Authorization: Bearer <USER B ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"shared_folder_id\": \"6607843792\"}"

# {
#   "access_type": {
#     ".tag": "editor"
#   },
#   "is_inside_team_folder": false,
#   "is_team_folder": false,
#   "owner_team": {
#     "id": "dbtid:AAALfOJvW_VA8-yeLzHQ5Pug2GR15Z4t8KI",
#     "name": "TEST API Tester Team"
#   },
#   "path_lower": "/test_377315",
#   "parent_folder_name": "db test",
#   "name": "test_377315",
#   "policy": {
#     "member_policy": {
#       ".tag": "anyone"
#     },
#     "resolved_member_policy": {
#       ".tag": "anyone"
#     },
#     "acl_update_policy": {
#       ".tag": "editors"
#     },
#     "shared_link_policy": {
#       ".tag": "anyone"
#     },
#     "viewer_info_policy": {
#       ".tag": "enabled"
#     }
#   },
#   "preview_url": "https://www.dropbox.com/scl/fo/6d8uprpum4hyb245mqxtp/AAA9RizsOUZYH6ijfW-5upJda?dl=0",
#   "shared_folder_id": "6607843792",
#   "time_invited": "2019-11-08T15:50:50Z",
#   "access_inheritance": {
#     ".tag": "inherit"
#   }
# }

curl -X POST https://api.dropboxapi.com/2/files/create_folder_v2 \
    --header "Authorization: Bearer <USER B ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/test_377315/test_377315_subfolder\"}"

# {
#   "metadata": {
#     "name": "test_377315_subfolder",
#     "path_lower": "/test_377315/test_377315_subfolder",
#     "path_display": "/test_377315/test_377315_subfolder",
#     "parent_shared_folder_id": "6607843792",
#     "id": "id:25N5ksooX-sAAAAAAAODzw",
#     "sharing_info": {
#       "read_only": false,
#       "parent_shared_folder_id": "6607843792",
#       "traverse_only": false,
#       "no_access": false
#     }
#   }
# }


# user A:
curl -X POST https://api.dropboxapi.com/2/files/list_folder/continue \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"cursor\": \"AAFtK3SlwJQEVS58oxqGQTg-HhT_3BPO8S2U8rLrGk4ZJgTFNwHsg_o1cI0gOaaMgTRAoSOKG9Gaol6mo2kfTaoHoPM9Pt1mRJeasvplwOhU9hus15etRG7QT1EXE5Tq9J3xTXDubB21-dNSwbxIPNC2ETnBpHJU4wg29bJQi0DXUUCwz9soVnq9L30etEXf3G3o3T7B9_d1nOm7BeMg7SjRgMd3Okdr-xLWWtpsyIGB6OIeaLEScLp2hT9tpQRlTy5TVnvztKcpDLqw-QmkgnEDCxXpmBnQy3-2JbCrTOIc72j0HSuD8zSAVrqt7qr-M-FPFzsU2n5TOIhYfp3DOSeSlL66ZzjHUHCdmEVddzpFrFQgguBBgo5Mtt5as3M2hRgCLFJmO_3KZ9sVTumNJFLZY8_0BjaN6f7qTgUPkJRQAQ7PVVicci7S7RtPjwrmgMkCTN_t-CaSheFVKUBUKBpyzTGIm6zQFFudmODuF-HaJ4nKAlwcl3e4o-eG0C68w7d5TWGMY02cUB57rTRYTDb7Q8xUzZgf4fFLV7bJNk_lO2c6TwdVaUWLYeJuKno-3Qxugiy8n4--8QcletzCEwELn6ghyuPpEtQ9XXGBG86NghpkO-0R8tBrVonXhU9YDPElVm-dL1BE6B5N2U2yPJx2qaRiyBlAr5QESHU2qO2DxLAr5Ny6FLvlHyWMfrLPrB05CdIoNy3cZQLwrZjPD19RuJIouvqzAvLHVYSWL8-fqXRSmXtodd956K0G5s15XWaB-U4Tv7xB69w9CWicNI2Crb7Dc1qqyjZmYqo8fMsuNqk5LQ8fByxd2VTDR4zwzuGACVj51M9u74T96WGlP1xdoj007X4r4Gd3U0B0dOGDFaFwpnQz7NSH6iZKMcxYtCVAloYtSS_PA2OJIeI4bnwWxWAlQ8vtXRdCzGVYE6Dzv-MIUa-VoghJF1ihivrUsCXv1f4BFLabIJkZNWx7zoMLGzBYkOrMFBS_TPlO-fhSmGNisa0w4JAOOuk2l4rQn6JsQxry6EpPoy2aB2Z3NBr72zovnhTzPJ0qewmN51EOS5wGXKX-HWrOnDD8vhW8nTbQL2SjIA0xGe38xwX0RLkq8pBKvNIWRpv4BmwL13RAK2H6q0HHn1ahqdfYcaKA_7d6p3Lh5YUuTrd9s8pCt6-X8eR9tQ2Nmb1TeysnyD_c4vK5w-qWwk8z6-8WlCwUkC7zc7bRZGWcaqT17VqJR9fLQU883AO1IZXKND_WK2vAYBrgx6MoHyjfBqnMX_9QjVBfC9-73OvVf6e0BPFt86RkeYoahrBKBWxS_jQO3CU0Kfpzx0oQzjIEb2w5CO1Me_qWVmyerzJztN_ri64NaIB-bdWAui8fV7SlG27qBlPvfg\"}"

# {
#   "entries": [
#     {
#       ".tag": "deleted",
#       "name": "test_377315",
#       "path_lower": "/test_377315",
#       "path_display": "/test_377315"
#     },
#     {
#       ".tag": "folder",
#       "name": "test_377315",
#       "path_lower": "/test_377315",
#       "path_display": "/test_377315",
#       "id": "id:25N5ksooX-sAAAAAAAODtw",
#       "shared_folder_id": "6607843792",
#       "sharing_info": {
#         "read_only": false,
#         "shared_folder_id": "6607843792",
#         "traverse_only": false,
#         "no_access": false
#       }
#     }
#   ],
#   "cursor": "AAFrIRZh7nzWCcC6FBFM2NSt_CiBcSXEWpN_kOSXizLxOXJM7Q1JE6WYaZoV7oDIzvbE7xzEdz4eKQWx7b6UwgCjGCqZOxKGMCpErCvtLeDq29D4lM9bYQlJOeXRll4d9LFid4lo0zPiD65QWKO67gYSW8v-PELeIzrfdHEeJEgC2lIKA9owbaL1rgZec7btP0bRBrWHkHLCToNCqA_FIR3lFX6wwsOQExGELI3crD4sJZdaHqqJbLFcCM8MweyEuB8A8fO_MVEMs0Ag-RenNkdtGgxr55QMDZyjYh5oB3pQNXVTzx5Kxa7gfhRJNhP_hUhJhBSRfvem9xYHpvfw0xZaRtZMO05_xQ7_yNtAA06kv1Wd3ymArMDzzP_423NxBsglBjHpnTjirE090N-f5wOlyonR2GDN9NyQgZsdXUN9DGq_-OYwXYaYXKK_xUxGp6GOj3Cw5p8Jc6j_5VuBGEqP_jRQoMEV-kJ19HdX5JU6vldcR_yaqCIzqh9qks2UBLJ9wPP5zycpVdfbpfi9QfwZDYueImKQ4jpHyW6IRyQNTnDFxn-7-7XmNA7eZN50tyyqC0Ws1JTcPb184dRndYEVZwIE4FY1nniShtNwmWYcrsP8x86O4YMnH4MLsKNz6A8glaM191CQ9oq9vfZTwIozYzg7iLmXenluYlwfyIpEKVJw9cnAZEYOFhwl3X8Rvf_wLPC1i8qP6ltJEJg0uCTJWaG2xJgHj3j6qRFfQO8tI4zihsovjyxtjGbwy6VHHsTJmCvbb6HtrflqmbmgZ8HtqUalHEUhz1pUWeurF_JKfazOfD8RYwCfGCKXCiyr_TvhnzOLaW47UaDeU07w0sztWWS8H0zYPdT96xGLJwxu5v1gBr2nNnwtm9OY5Gm4OV_f82fhV3rrlT7tMusH8NaVvOt_M5RrQY3_xlq8wLvR73ildo-6YthgCarb_0JonhCHvMn4Ay_hbQfTkWYa0RIS2kjB4qxNDEmanzDhQPTvrgXrcjv-vsWVLvzZ0KpqCLzh4XxOeqLg7QSXleTnbsiUkYGMZuWz_nIkgHBe9YuN_wVZh31JIt9NxHiZzZUlmnt9_ldQXHcBt30H8TQaemwD5ddZ0mMcQNbtQfVlUBW09pvuSKtPlYQN4xUKp5eyAjSZKpxj0H8Sqx03igstjK_n923zd68w0BF6G54kXV6FKL1Cfh9MOnQNqYWophyVK9Cmgik4JQtsUdfTdweHAki42bUoE_iFlL2qgIyKRIA-uY-D3eQI4T9z8EDRWmSRsQD7YFUe9GuCr8vnxGK-Pe7DwR0nc-3LE7usgf88HGuVpHQ6EQcYb9sNrFWBExQGsIrJfysQgPtmxuX2QIWhv6OleYHvVIeKWtIN8RIaOuUKIiuRZxNo15Z6WfdygmsGx69dYs_ag6J7V3exVEzyo2-D",
#   "has_more": true
# }

curl -X POST https://api.dropboxapi.com/2/files/list_folder/continue \
    --header "Authorization: Bearer <USER A ACCESS TOKEN>" \
    --header "Content-Type: application/json" \
    --data "{\"cursor\": \"AAFrIRZh7nzWCcC6FBFM2NSt_CiBcSXEWpN_kOSXizLxOXJM7Q1JE6WYaZoV7oDIzvbE7xzEdz4eKQWx7b6UwgCjGCqZOxKGMCpErCvtLeDq29D4lM9bYQlJOeXRll4d9LFid4lo0zPiD65QWKO67gYSW8v-PELeIzrfdHEeJEgC2lIKA9owbaL1rgZec7btP0bRBrWHkHLCToNCqA_FIR3lFX6wwsOQExGELI3crD4sJZdaHqqJbLFcCM8MweyEuB8A8fO_MVEMs0Ag-RenNkdtGgxr55QMDZyjYh5oB3pQNXVTzx5Kxa7gfhRJNhP_hUhJhBSRfvem9xYHpvfw0xZaRtZMO05_xQ7_yNtAA06kv1Wd3ymArMDzzP_423NxBsglBjHpnTjirE090N-f5wOlyonR2GDN9NyQgZsdXUN9DGq_-OYwXYaYXKK_xUxGp6GOj3Cw5p8Jc6j_5VuBGEqP_jRQoMEV-kJ19HdX5JU6vldcR_yaqCIzqh9qks2UBLJ9wPP5zycpVdfbpfi9QfwZDYueImKQ4jpHyW6IRyQNTnDFxn-7-7XmNA7eZN50tyyqC0Ws1JTcPb184dRndYEVZwIE4FY1nniShtNwmWYcrsP8x86O4YMnH4MLsKNz6A8glaM191CQ9oq9vfZTwIozYzg7iLmXenluYlwfyIpEKVJw9cnAZEYOFhwl3X8Rvf_wLPC1i8qP6ltJEJg0uCTJWaG2xJgHj3j6qRFfQO8tI4zihsovjyxtjGbwy6VHHsTJmCvbb6HtrflqmbmgZ8HtqUalHEUhz1pUWeurF_JKfazOfD8RYwCfGCKXCiyr_TvhnzOLaW47UaDeU07w0sztWWS8H0zYPdT96xGLJwxu5v1gBr2nNnwtm9OY5Gm4OV_f82fhV3rrlT7tMusH8NaVvOt_M5RrQY3_xlq8wLvR73ildo-6YthgCarb_0JonhCHvMn4Ay_hbQfTkWYa0RIS2kjB4qxNDEmanzDhQPTvrgXrcjv-vsWVLvzZ0KpqCLzh4XxOeqLg7QSXleTnbsiUkYGMZuWz_nIkgHBe9YuN_wVZh31JIt9NxHiZzZUlmnt9_ldQXHcBt30H8TQaemwD5ddZ0mMcQNbtQfVlUBW09pvuSKtPlYQN4xUKp5eyAjSZKpxj0H8Sqx03igstjK_n923zd68w0BF6G54kXV6FKL1Cfh9MOnQNqYWophyVK9Cmgik4JQtsUdfTdweHAki42bUoE_iFlL2qgIyKRIA-uY-D3eQI4T9z8EDRWmSRsQD7YFUe9GuCr8vnxGK-Pe7DwR0nc-3LE7usgf88HGuVpHQ6EQcYb9sNrFWBExQGsIrJfysQgPtmxuX2QIWhv6OleYHvVIeKWtIN8RIaOuUKIiuRZxNo15Z6WfdygmsGx69dYs_ag6J7V3exVEzyo2-D\"}"

# {
#   "entries": [
#     {
#       ".tag": "folder",
#       "name": "test_377315_subfolder",
#       "path_lower": "/test_377315/test_377315_subfolder",
#       "path_display": "/test_377315/test_377315_subfolder",
#       "parent_shared_folder_id": "6607843792",
#       "id": "id:25N5ksooX-sAAAAAAAODzw",
#       "sharing_info": {
#         "read_only": false,
#         "parent_shared_folder_id": "6607843792",
#         "traverse_only": false,
#         "no_access": false
#       }
#     }
#   ],
#   "cursor": "AAFMPTG7mXPepcjHoBadyHfav2CwOyTABJbT7nPJxgGUoTtulmtkgoQT2LrfhHg1PKXd6PnhwepihCKHkKwxDvLXXEKoT9OITYEkdfbfwzFun6jzi5rEARnjq3HnzPVl81aQZ_9xRMBWzjBO80gIqF0rFmAchFGU2U9KY5EBMVvOixr76iFnsVBj-T5YsQbgciv2q-oQG09nn2gG9CljVY7040f_xBaVAJZNRP8GpcMrWtov1IJMhrUe6Dh7deIUygLwBh8WBcTnxG-UhRsCLhcEs67wbt8rBlXjEJKoTwgglxddbK_vP4jcVdDKa0carW82cOgx0_NMNXEEpZT-0krS3SYaAue6wZw3zMK0P4ABtYlbA023gGpqCaQXaPwEhjeD1jVa4hsdh0giD39mbg1zncCWfh8KYad3FHaWYNkS2GgBzg3RGbGGrkUyA-vMsKYfXISKziL7bejJiiamEiLDvP1ECX8qLZQMbL24fViLLNtuci0trvSR6eTlWm1JdhpTjn_unCBx4dD2GNnfYy_CDsnWQKVlChd1u0uu7cvJsgKYHAreXAE8wDxQsXOS58AhREIp773WJX6H3IgN2RDJ52lozaSaW7pvbDKAOG-nAXCHoKfCCGiSXLaPobhLoaWHQOdNTYoH5tFdkncy7FuTweo7fMAOZEpg0VxNoI53Szlz9VGB8wh3KPZHBiTdbpH37UmUAUH3hbE3S3ddPwrUA9-83uq_C3lV8ZsSanNVsSV_nqYxF0sdCK7WYGIlRivrvv4bo_O1fvXnEK9zEQXwK-XS43unZA2zsa3pycKlCwhkFwerQGKDHsswuZw-_R92mAohcTcWo10LiBf316sS3dB5zntRzRM_8qK3ossgcZxTLJ8cvUHm0KJLlr3SQAd2iNg02wbPN2QQyvr27ElSdExFRfayR1TaqYZbH-2GcvdTWhc9C3YnoRQu59_7Du-4_pCKYUQtyNBMt-vZozCh1TweFDw_yRIaez0x8AECRgZThembtgseXJnCTLOx48ndkBIH1G78-EBCnRWBbRk0ht9D_GUgI18YRuMade8m8DK8gR5OcfMcdG06kiaQhfIpTlIGDARGCTIco38_rUL-ZcH1RaLv7bgGAvpFMBW2_BnX_20IzBZGw1EVBmUdrcP1EDi5atN-zabWf7FW3ajEm5Evgg5OATm5MgsMyHSefRh7V2FWbU1l1kbdrBsIeIimiTFXhuqQ6dV6pvw0yjvsalWLzxJr0apDtqoKqnH11aBZ8ok2ly0N-l86gkq8pHlteUM2eXYAfJRq77OzYtenNwYP8EY-2sQ_MbSWdMcKeiNyEqz_nWpDsOoWK3Ek3T17j_BobkY57dE1MpvmZhzh_RyGebcCtfU77rpSaxPL7NUkltSEEwgbCzyNxGxCuBYl8_haQ7tqqb3iOGuhiZxmTEPRmiChGKlmGNkxFSQ8Ng",
#   "has_more": false
# }

Note that when you first share a folder, it is expected that you'll see the removal and re-addition of that folder. (This is due to how Dropbox works on the backend when first sharing a folder. You're essentially removing the non-shared copy of the folder, and mounting the shared folder.)

After that though, I do see the changes from the other user inside the newly mounted shared folder when paging through the /2/files/list_folder/continue results. (Note that also due to some implementation details, these can be returned across multiple pages.)

I'm not seeing the identical repeated results from /2/files/list_folder/continue that you describe though. Can you double check that you're using the latest returned cursor each time, and aren't accidentally re-using the same cursor, for instance?

If you're definitely sending the updated cursor each time, we'll need to investigate this further, as it may be specific to some configuration or account. In that case, please open an API ticket with a sample (like my output above) so we can look into it. Please make sure to redact the access tokens, but please do include the user IDs so we can look into it specifically. Thanks in advance! 

Reply
Loading...
Highlighted

Re: A shared folder where the non-owner changes content, causes cursor loop with wrong data

Helpful | Level 6

Hi Greg,

I have also been further investigating this. I believe something the problem is when we got the delete folder our storage of the cursor broke. This caused us to get a new cursor every time but not store it properly (overflow due to an unexpectedly lengthy cursory). This is what produced the symptoms. Sorry for the false report!

This should be cleared as a false positive, however, thank you for clarifying the unexpected delete folder call we got stuck on, and for the quick response!

Reply
Loading...
API Support

Have a question? Our Dropbox Community is here to help you find an answer!
You won’t have to wait too long for a reply, but why not learn more about the Community while you’re here.

Not the right discussion for you? Find out what else our Community has to say about API Support.

Or, search our Help Center for even more.