()
| 77 | let __ooCaps = { enabled: false, exts: new Set(), fetched: false, docsOrigin: null }; |
| 78 | |
| 79 | async function fetchOnlyOfficeCapsOnce() { |
| 80 | if (__ooCaps.fetched) return __ooCaps; |
| 81 | try { |
| 82 | const r = await fetch('/api/onlyoffice/status.php', { credentials: 'include' }); |
| 83 | if (r.ok) { |
| 84 | const j = await r.json(); |
| 85 | __ooCaps.enabled = !!j.enabled; |
| 86 | __ooCaps.exts = new Set(Array.isArray(j.exts) ? j.exts : []); |
| 87 | __ooCaps.docsOrigin = j.docsOrigin || null; // harmless if server doesn't send it |
| 88 | } |
| 89 | } catch (e) { /* ignore; keep defaults */ } |
| 90 | __ooCaps.fetched = true; |
| 91 | return __ooCaps; |
| 92 | } |
| 93 | |
| 94 | async function shouldUseOnlyOffice(fileName) { |
| 95 | const { enabled, exts } = await fetchOnlyOfficeCapsOnce(); |
no outgoing calls
no test coverage detected