* Update backlinks service to not rely on revisions
* fix: Add missing index for finding backlinks
* Debounce revision creation (#1616)
* refactor debounce logic to service
* Debounce slack notification
* Revisions created by service
* fix: Revision sidebar latest
* test: Add tests for notifications
* core search logic
* bump version of rich markdown editor
* let shift and meta modifiers do their thing when clicking on a link in a doc
* version bump editor
* test: Add parseDocumentSlug test
Co-authored-by: Tom Moor <tom.moor@gmail.com>
* handle delete events fron collection and document sockets
* handle collection deletes to documents
* rework semantics to always reload after a delete
Co-authored-by: Tom Moor <tom.moor@gmail.com>
* feat: Move to React.lazy
* perf: Remove duplicate babel/runtime
* fix: Run yarn-deduplicate
* Further attempts to remove rich-markdown-editor from initial chunk
* perf: Lazy loading of authenticated routes
* perf: Move color picker to async loading
fix: Display placeholder when loading rich editor
* fix: Cache bust on auto reload
* add migrations
* first pass at API
* feat: Updated share dialog UI
* tests
* test
* styling tweaks
* feat: Show share state on document
* fix: Allow publishing share links for draft docs
* test: shares.info
* feat: Add ability to create docs from link editor
* fix: Handling of paste and click events
* fix: Filter untitled documents from search results
* refactor: Move onCreateLink to DataLoader
* bump rme
* Update websockets to allow joining document-based rooms
* dynamic websocket joining
* emit user.join/leave events when entering and exiting document rooms
* presence storage
* feat: frontend presence store
* lint
* UI updates
* First pass editing state
* refactoring
* Timeout per user/doc
lint
* Document data loading refactor to keep Socket mounted
* restore: Mark as viewed functionality
Add display of 'you' to collaborators
* fix: Socket/document remount when document slug changes due to title change
* Revert unneccessary package update
* Move editing ping interval to a shared constant
* fix: Flash of sidebar when loading page directly on editing mode
* separate document and revision loading
* add comments for socket events
* fix: Socket events getting bound multiple times on reconnect
* fix: Clear client side presence state on disconnect
* fix: Don't ignore server side error
Improved documentation
* More comments / why comments
* rename Socket -> SocketPresence
* fix: Handle redis is down
remove unneccessary join
* fix: PR feedback