powerhouse-inc / document-drive

GNU Affero General Public License v3.0
1 stars 0 forks source link

Listner Clean-up Refactor + Drive Migration (ARCHIVE) #208

Open CallmeT-ty opened 2 months ago

CallmeT-ty commented 2 months ago

All related issues

215

214

213

209

211

Optimize Listener Management:

Implement a Timeout for Listeners: Set a timeout to remove inactive listeners from the cache after a specific period (e.g., 20 or 30 minutes).

Distinguish Between Persistent and Temporary Listeners: Create a system to differentiate between persistent listeners (e.g., for web apps) and temporary listeners (e.g., for browser tabs). Cleanup of Unused Listeners, Implement a mechanism to identify and remove listeners that are no longer needed. Graceful Handling of Deleted Listeners: Update Listener Management Logic: Ensure that the client gracefully requests a new listener if the current one is deleted.

Implement Listener State Cache: Develop a storage adapter feature for caching listener states to optimize performance Allow Multi-threading for Document Drive Server: Modify the core logic to support multi-threading by sharing state information between threads.

Optimize JSON Operations: Improve the performance of JSON stringify and parse operations used for storing document states and listener information.

Verify Correct Resynchronization: Implement and test the resynchronization process after a new listener is created to avoid starting from scratch.

CallmeT-ty commented 2 months ago

@froid1911 @acaldas @gpuente

Could you help update the issue text at the top so we keep track of the tactics we've already implemented or still would like to try. Feel free to add in brackets