Files
AppFlowy-Web/tsconfig.json
Bartosz Sypytkowski 947740b683 feat: integrate new realtime sync protocol (#19)
* new sync protocolt

* refresh outline when folder change was detected

* add 250ms debounce for yjs doc update emits

* fix refresh outline on folder change

* remove existing SyncManager

* added update timestamp to lastUpdatedCollab info

* turn off http fetch in get doc page

* fix empty state vector binary parsing

* return existing sync context if possible

* update

* chore: load workspace database data before loadview

* chore: fixed the issue of database rows can not update

* add awareness to RegisterSyncContext type def

* chore: remove redundant logs

* chore: add display of collaborative users

* chore: display cursors

* chore: setup web socket reconnect options

* chore: init sync context only once

* revert reconnect

* chore: add blur

* chore: cache device id

* revert storage device id

* chore: refactor remote selection rendering and add cursor animation

* chore: refactor remote selection rendering

* chore: add blur

* chore: update cursor display logic, add device ID, optimize Yjs event handling

* chore: add cross-tab sync via broadcast channel

* chore: add text application logic, optimize selection transform handling, update ESLint rules

* chore: fix lint

* chore: others

* add heartbeat and ready state logging

* chore: add reconnect and listen connecting

* chore: fix conneting banner

* chore: modified the logic of adding recent

* echo-based heartbeat

* chore: remove condition of render cursors

* chore: modified generate cursor color

* chore: fix some test issues

* chore: use jest mock timers in sync tests

* chore: fix jest issue

* chore: fix the lint issue

---------

Co-authored-by: Kilu <lu@appflowy.io>
2025-08-07 11:43:56 +08:00

66 lines
1.2 KiB
JSON

{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"lib": [
"DOM",
"DOM.Iterable",
"ESNext"
],
"allowJs": false,
"skipLibCheck": true,
"esModuleInterop": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "ESNext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"preserveValueImports": false,
"noEmit": true,
"jsx": "react-jsx",
"types": [
"cypress",
"node",
"jest",
"cypress-real-events"
],
"baseUrl": ".",
"paths": {
"@/*": [
"src/*"
],
"src/*": [
"src/*"
],
"$client-services": [
"src/application/services/js-services"
],
"$icons/*": [
"../resources/flowy-flowy_icons/*"
]
}
},
"include": [
"src",
"vite.config.ts",
"cypress.config.ts",
"cypress",
"deploy/server.ts"
],
"exclude": [
"node_modules",
"dist",
"coverage",
"src/proto/**/*"
],
"references": [
{
"path": "./tsconfig.node.json"
}
]
}