* 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
* add policy serialize method
* Add policies to collection responses
* wip
* test: remove .only
* refactor: Return policies with team and document requests
* store policies on the client
* refactor: drive admin UI from policies
* feat: Record events in DB
* feat: events API
* First pass, hacky activity feed
* WIP
* Reset dashboard
* feat: audit log UI
feat: store ip address
* chore: Document events.list api
* fix: command specs
* await event create
* fix: backlinks service
* tidy
* fix: Hide audit log menu item if not admin
* Atom / RSS meta link
* Spike
* Feeling good about this spike now
* Remove document.collection
* Remove koa.ctx from all presenters to make them portable outside requests
* Remove full serialized model from events
Move events.add to controllers for now, will eventually be in commands
* collections.create event
parentDocument -> parentDocumentId
* Fix up deprecated tests
* Fixed: Doc creation
* documents.move
* Handle collection deleted
* 💚
* Authorize room join requests
* Move starred data structure
Account for documents with no context on sockets
* Add socket.io-redis
* Add WEBSOCKETS_ENABLED env variable to disable websockets entirely for self hosted
New installations will default to true, existing installations to false
* 💚 No need for promise response here
* Reload notice
Fixed cmd+enter shortcut to publish doc
Fixed keyboard shortcut display on non-mac
Fixed heading alignment
Fixed documents smaller than page should not scroll
* Display who has viewed a document in the header
* Add overflow, display of WHEN last viewed
Cleanup old document attributes
Add firstViewedAt, lastViewedAt to API response
* Cleanup
* Added: API documentation for views endpoints
* Include views for deleted users
* Big upgrades
* WIP: Stash
* Stash, 30 flow errors left
* Downgrade mobx
* WIP
* When I understand the difference between class and instance methods
* 💚
* Fixes: File import
Model saving edge cases
pinning and starring docs
Collection editing
Upgrade mobx devtools
* Notification settings saving works
* Disabled settings
* Document mailer
* Working notifications
* Colletion created notification
Ensure not notified for own actions
* Tidy up
* Document updated event only for document creation
Add indexes
Notification setting on user creation
* Commentary
* Fixed: Notification setting on signup
* Fix document move / duplicate stale data
Add BaseModel.refresh method
* Fixes: Title in sidebar not updated after editing document
* 💚
* Improve / restore error handling
Better handle offline errors
* 👕
* Stash. Super rough progress
* Stash
* 'h' how toggles history panel
Add documents.restore endpoint
* Add tests for documents.restore endpoint
* Document restore endpoint
* Tiding, RevisionMenu, remove scroll dep
* Add history menu item
* Paginate loading
* Fixed: Error boundary styling
Select first revision faster
* Diff summary, styling
* Add history loading placeholder
Fix move modal not opening
* Fixes: Refreshing page on specific revision
* documentation for document.revision
* Better handle versions with no text changes (will no longer be created)
* Migrations
* WIP: Integration model, slack perms / hooks
* So so rough it pains me. Building this new model is revealing just how much needs to be refactored
* Working connect and post
* Cleanup UI, upating documents
* Show when slack command is connected
* stash
* 💚
* Add documents.update trigger
* Authorization, tidying
* Fixed integration policy
* pick integration presenter keys
* Migrations and API for pinned documents
* Documentation
* Add pin icon
* Fin.
* v0.2.0
* Remove pin from DocumentPreview, add general menu
Add Pinned documents header
* Tidy
* Fixed: Drafts appearing on collection home
* Mostly there
* Fix up specs
* Working scope, updated tests
* Don't record view on draft
* PR feedback
* Highlight drafts nav item
* Bugaboos
* Styling
* Refactoring, gradually addressing Jori feedback
* Show collection in drafts list
Flow fixes
* Ensure menu actions are hidden when draft