docs/sync-and-op-log/long-term-plans/replace-pfapi-with-oplog-plan.md
Status: Completed (January 2026)
This plan has been fully implemented. The entire
src/app/pfapi/directory has been deleted. All sync providers now use the unified operation log system viaFileBasedSyncAdapter.Current Implementation:
- Sync providers:
src/app/op-log/sync-providers/- File-based adapter:
src/app/op-log/sync-providers/file-based/file-based-sync-adapter.service.ts- Server migration:
src/app/op-log/sync/server-migration.service.ts
Simplify the codebase by removing PFAPI's model-by-model sync and using operation logs exclusively for all sync providers (WebDAV, Dropbox, LocalFile). Migration required for existing users; old PFAPI files kept as backup.
All providers now use operation log sync:
src/app/op-log/sync-providers/file-based/webdav/src/app/op-log/sync-providers/file-based/dropbox/src/app/op-log/sync-providers/file-based/local-file/src/app/op-log/sync-providers/super-sync/Migration from legacy PFAPI format is handled by ServerMigrationService:
The entire src/app/pfapi/ directory has been deleted (~83 files, 2.0 MB).
What was kept (moved to op-log):
src/app/op-log/
├── sync-providers/
│ ├── super-sync/ # Server-based sync
│ ├── file-based/ # File-based providers
│ │ ├── file-based-sync-adapter.service.ts
│ │ ├── webdav/
│ │ ├── dropbox/
│ │ └── local-file/
│ ├── provider-manager.service.ts
│ └── wrapped-provider.service.ts
├── sync/
│ ├── operation-log-sync.service.ts
│ └── server-migration.service.ts
└── ...
sync-data.json) with state snapshot + recent opssyncVersion counter