Zotero sync: error handling & error UX (#35340)

* feat(zotero-sync): implement persistent sync state management and user notifications

* fix tests

* fix(sync): add accessOk flag to sync status recording

GitOrigin-RevId: 2da17038ad21691e7b184bb1494cf97fff8234f9
This commit is contained in:
Domagoj Kriskovic
2026-09-17 11:24:50 +00:00
committed by Copybot
parent 9519dc5e66
commit 0ecf928249
3 changed files with 10 additions and 0 deletions
@@ -2584,6 +2584,7 @@
"zotero_reference_loading_error_expired": "",
"zotero_reference_loading_error_forbidden": "",
"zotero_sync_description": "",
"zotero_sync_lost_access": "",
"zotero_sync_multiple_collections": "",
"zotero_sync_no_collection": "",
"zotero_sync_success": "",
+8
View File
@@ -279,6 +279,14 @@ export interface Meta {
| undefined
'ol-recurlyApiKey': string
'ol-recurlySubdomain': string
'ol-refSyncState': {
synced: boolean
accessOk: boolean
lastSyncProblem:
| 'zotero_no_collection'
| 'zotero_multiple_collections'
| null
}
'ol-ro-mirror-on-client-no-local-storage': boolean
'ol-samlError': SAMLError | undefined
'ol-script-log': ScriptLogType
+1
View File
@@ -3255,6 +3255,7 @@
"zotero_reference_loading_error_expired": "Zotero token expired, please re-link your account",
"zotero_reference_loading_error_forbidden": "Could not load references from Zotero, please re-link your account and try again",
"zotero_sync_description": "With the Zotero integration you can import your references from Zotero into your __appName__ projects.",
"zotero_sync_lost_access": "We’ve lost access to your Zotero library. <0>Reconnect your account</0> to keep syncing your references.",
"zotero_sync_multiple_collections": "We found more than one collection called “Overleaf” in your Zotero library. Sync requires exactly one.",
"zotero_sync_no_collection": "We couldn’t find a collection called “Overleaf” in your Zotero library.",
"zotero_sync_success": "Synced __count__ reference from Zotero",