* feat: Sync sessions across browser tabs
If the user signs in or out in one tab, then make sure their session on the same subdomain is kept in sync on other tabs
* 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
* feat: Support importing .docx or .html files as new documents (#1551)
* Support importing .docx as new documents
* Add html file support, build types and interface for easily adding file types to importer
* fix: Upload embedded images in docx to storage
* refactor: Bulk of logic to command
* refactor: Do all importing on server, so we're not splitting logic for import into two places
* test: Add documentImporter tests
Co-authored-by: Lance Whatley <whatl3y@gmail.com>
* fix: Accessibility audit
* fix: Quick fix, non editable title
closes#1560
* fix: Embed selection
Co-authored-by: Lance Whatley <whatl3y@gmail.com>
* fixes#1457 – check for matchMedia function before using it
* fixes: Depth issues
closes#1458
* fixes: Long breadcrumbs cause horizontal overflow
* fix: Improve tabs and overflow on mobile
* Migrations
* New from template
* fix: Don't allow public share of template
* chore: Template badges
* fix: Collection active
* feat: New doc button on template list item
* feat: New template menu
* fix: Sorting
* feat: Templates onboarding notice
* fix: New doc button showing on archived/deleted templates
* 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
* stash
* refactor
* refactor, styling
* tweaks
* pointer
* styling
* fi: Hide when printing
* fix: No hover cards on shared links
* remove suppressions no longer needed
* fix: Don't show hover cards when editing, they get in the way
* fix: Prevent hover card from going off rhs edge of screen
* fix: Remount hover card when changing between links
* fix: allow one part domains in links (#1350)
* allow one part domains in links
* no TLD when only one part domain
* return null for parseDomain of empty string
* fix fiddly hover preview behavior
* WIP
* refactor hover preview
* fix: Non-rounded bottom corners
* fix: Fixes an edgecase where mounting the nested editor in hovercard causesdocument to scroll if there is a hash in the url
* fix: Incorrect document preview rendering
* lint
Co-authored-by: Nan Yu <thenanyu@gmail.com>
Co-authored-by: Nan Yu <nan@getoutline.com>
* fix: Don't set cookie domain when not using multiple subdomains
* wip logging domain
* wip logging domain
* wip logging domain
* wip logging domain
* Revert "wip logging domain"
This reverts commit 325907e74962179e02cee0b1df364a3aedbe62e3.
* Revert "wip logging domain"
This reverts commit 6ee095a49e9c18999a20d5379234323d49d5e6c8.
* Revert "wip logging domain"
This reverts commit 813d8eb960cdf4dd6db4795739df3adf895600e2.
* Revert "wip logging domain"
This reverts commit f1ca81927626bbd0d46c1963510d115a003176d8.
* Remove SUBDOMAINS_ENABLED from documented env variables, no-one self hosting should need this – it just adds confusion to those looking to host on a single subdomain
fix: Account for server/client process.env parsing
Co-authored-by: Nan Yu <nanyu@Nans-MBP-2.lan>
Co-authored-by: Nan Yu <nan@getoutline.com>
* first pass at updating all Time components each second
* fix a couple date variable typos
* use class style state management instead of hooks
* wip: Separate title from body
* address feedback
* test: Remove unused test
* feat: You in publishing info language
fix: Removal of secondary headings
* After much deliberation… a migration is needed for this to be reliable
* fix: Export to work with new title structure
* fix: Untitled
* fix: Consistent spacing of first editor node
* fix: Emoji in title handling
* fix: Time component not updating for new props
* chore: Add createdAt case
* fix: Conflict after merging new TOC
* PR feedback
* lint
* fix: Heading level adjustment
Co-authored-by: Taylor Lapeyre <taylorlapeyre@gmail.com>
* WIP - got one API test to pass yay
* adds group update endpoint
* added group policies
* adds groups.list API
* adds groups.info
* remove comment
* WIP
* tests for delete
* adds group membership list
* adds tests for groups list
* add and remove user endpoints for group
* ask some questions
* fix up some issues around primary keys
* remove export from group permissions
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* remove random file
* only create events on actual updates, add tests to ensure
* adds uniqueness validation to group name
* throw validation errors on model and let it pass through the controller
* fix linting
* WIP
* WIP
* WIP
* WIP
* WIP basic edit and delete
* basic CRUD for groups and memberships in place
* got member counts working
* add member count and limit the number of users sent over teh wire to 6
* factor avatar with AvatarWithPresence into its own class
* wip
* WIP avatars in group lists
* WIP collection groups
* add and remove group endpoints
* wip add collection groups
* wip get group adding to collections to work
* wip get updating collection group memberships to work
* wip get new group modal working
* add tests for collection index
* include collection groups in the withmemberships scope
* tie permissions to group memberships
* remove unused import
* Update app/components/GroupListItem.js
update title copy
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update server/migrations/20191211044318-create-groups.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update server/api/groups.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update server/api/groups.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/menus/CollectionMenu.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update server/models/Group.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* minor fixes
* Update app/scenes/CollectionMembers/AddGroupsToCollection.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/menus/GroupMenu.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/menus/GroupMenu.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/menus/GroupMenu.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/scenes/Collection.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/scenes/CollectionMembers/CollectionMembers.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/scenes/GroupNew.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/scenes/GroupNew.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/scenes/Settings/Groups.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update server/api/documents.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* Update app/scenes/CollectionMembers/components/CollectionGroupMemberListItem.js
Co-Authored-By: Tom Moor <tom.moor@gmail.com>
* address comments
* WIP - getting websocket stuff up and running
* socket event for group deletion
* wrapped up cascading deletes
* lint
* flow
* fix: UI feedback
* fix: Facepile size
* fix: Lots of missing await's
* Allow clicking facepile on group list item to open members
* remove unused route push, grammar
* fix: Remove bad analytics events
feat: Add group events to audit log
* collection. -> collections.
* Add groups to entity websocket events (sync create/update/delete) between clients
* fix: Users should not be able to see groups they are not a member of
* fix: Not caching errors in UI when changing group memberships
* fix: Hide unusable UI
* test
* fix: Tweak language
* feat: Automatically open 'add member' modal after creating group
Co-authored-by: Tom Moor <tom.moor@gmail.com>
* 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