Tom Moor
6d8216c54e
feat: Guest email authentication ( #1088 )
...
* feat: API endpoints for email signin
* fix: After testing
* Initial signin flow working
* move shared middleware
* feat: Add guest signin toggle, obey on endpoints
* feat: Basic email signin when enabled
* Improve guest signin email
Disable double signin with JWT
* fix: Simple rate limiting
* create placeholder users in db
* fix: Give invited users default avatar
add invited users to people settings
* test
* add transaction
* tmp: test CI
* derp
* md5
* urgh
* again
* test: pass
* test
* fix: Remove usage of data values
* guest signin page
* Visually separator 'Invited' from other people tabs
* fix: Edge case attempting SSO signin for guest email account
* fix: Correctly set email auth method to cookie
* Improve rate limit error display
* lint: cleanup / comments
* Improve invalid token error display
* style tweaks
* pass guest value to subdomain
* Restore copy link option
* feat: Allow invite revoke from people management
* fix: Incorrect users email schema does not allow for user deletion
* lint
* fix: avatarUrl for deleted user failure
* change default to off for guest invites
* fix: Changing security settings wipes subdomain
* fix: user delete permissioning
* test: Add user.invite specs
2019-12-15 18:46:08 -08:00
Tom Moor
e404955394
feat: Trash ( #1082 )
...
* wip: trash
* Enable restoration of deleted documents
* update Trash icon
* Add endpoint to trigger garbage collection
* fix: account for drafts
* fix: Archived documents should be deletable
* fix: Missing delete cascade
* bump: upgrade rich-markdown-editor
2019-11-18 18:51:32 -08:00
Tom Moor
e33aaec469
fix: Remove nonsense relationship
2019-10-10 08:25:23 -07:00
Tom Moor
b42e9737b6
feat: Memberships ( #1032 )
...
* WIP
* feat: Add collection.memberships endpoint
* feat: Add ability to filter collection.memberships with query
* WIP
* Merge stashed work
* feat: Add ability to filter memberships by permission
* continued refactoring
* paginated list component
* Collection member management
* fix: Incorrect policy data sent down after collection.update
* Reduce duplication, add empty state
* cleanup
* fix: Modal close should be a real button
* fix: Allow opening edit from modal
* fix: remove unused methods
* test: fix
* Passing test suite
* Refactor
* fix: Flow UI errors
* test: Add collections.update tests
* lint
* test: moar tests
* fix: Missing scopes, more missing tests
* fix: Handle collection privacy change over socket
* fix: More membership scopes
* fix: view endpoint permissions
* fix: respond to privacy change on socket event
* policy driven menus
* fix: share endpoint policies
* chore: Use policies to drive documents UI
* alignment
* fix: Header height
* fix: Correct behavior when collection becomes private
* fix: Header height for read-only collection
* send id's over socket instead of serialized objects
* fix: Remote policy change
* fix: reduce collection fetching
* More websocket efficiencies
* fix: Document collection pinning
* fix: Restored ability to edit drafts
fix: Removed ability to star drafts
* fix: Require write permissions to pin doc to collection
* fix: Header title overlaying document actions at small screen sizes
* fix: Jank on load caused by previous commit
* fix: Double collection fetch post-publish
* fix: Hide publish button if draft is in no longer accessible collection
* fix: Always allow deleting drafts
fix: Improved handling of deleted documents
* feat: Show collections in drafts view
feat: Show more obvious 'draft' badge on documents
* fix: incorrect policies after publish to private collection
* fix: Duplicating a draft publishes it
2019-10-05 18:42:03 -07:00
Tom Moor
4164fc178c
fix: First auto-save unfocuses document ( #1046 )
...
* fix: Autosave unfocuses document
* Revert unneeded change
* test: le fix
* fix: Handle offline state
fix: Untitled documents appear with empty titles
* fix: Draft bubble roundness (yes, it doesnt belong here but see it, fix it)
2019-09-22 17:09:11 -07:00
Tom Moor
b1a1d24f9c
fix: Unknown Slack users should be able to search team accessible docs ( #1049 )
...
* fix: Unknown Slack users should be able to search team accessible docs
* test: fix flaky test
* test: remove obsolete snapshot
* lint
* flow
* fix: Spelling mistake
2019-09-22 11:52:15 -07:00
Tom Moor
978eda3ad2
fix: Deleted collections not showing in audit log
...
feat: Show titles of objects in audit log
fix: modelId not saved with share events
fix: List item squashes avatar at small screen sizes
2019-08-07 20:52:59 -07:00
Tom Moor
fb4f6822a4
feat: Events / audit log ( #1008 )
...
* 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
2019-08-05 20:38:31 -07:00
Tom Moor
091e542406
feat: Backlinks ( #979 )
...
* feat: backlinks
* feat: add backlinkDocumentId to documents.list
* chore: refactor
fix: create and delete backlink handling
* fix: guard against self links
* feat: basic frontend
fix: race condition
* styling
* test: fix parse ids
* self review
* linting
* feat: Improved link styling
* fix: Increase clickable area at bottom of doc / between references
* perf: global styles are SLOW
2019-07-07 19:25:45 -07:00
Tom Moor
ccc0906b0a
feat: Improved onboarding documents ( #970 )
...
* feat: New onboarding documents
* Images -> blocks
* Add tips
* test: removes assumptions of welcome documents
this actually results in the tests being much more understandable too
* add db flag when document was created from welcome flow
2019-07-04 10:33:00 -07:00
Tom Moor
232216193f
fix: Correctly detect Slack team
2019-06-27 22:35:49 -07:00
Tom Moor
46ad1feb96
chore: Remove welcome email for Slack users (against TOS)
2019-06-25 20:28:45 -07:00
Tom Moor
d5192acabf
feat: invites ( #967 )
...
* stub invite endpoint
* feat: First pass invite UI
* feat: allow removing invite rows
* First pass: sending logic
* fix: label accessibility
* fix: add button submits
incorrect permissions
middleware flow error
* 💚
* Error handling, email filtering, tests
* Flow
* Add Invite to people page
Remove old Tip
* Add copy link to subdomain
2019-06-24 22:14:59 -07:00
Tom Moor
f406faf08e
chore: remove asyncLock
...
closes #928
2019-06-23 17:57:37 -07:00
Tom Moor
32f83311f6
chore: upgrade sequelize ( #965 )
...
* 0.18.0
* chore: Upgrade sequelize 4 -> 5
* fix: migrations v5 support
* fix: Majority of test failures
* fix: the rest of v5 tests
2019-06-23 15:49:45 -07:00
Tom Moor
da7fdfef0a
Improved search filtering ( #940 )
...
* Filter search by collectionId
* Improve spec, remove recursive import
* Add userId filter for documents.search
* 💚
* Search filter UI
* WIP UI
* Date filtering
Prevent dupe menu
* Refactor
* button
* Added year option, improved hover states
* Add new indexes
* Remove manual string interpolation in SQL construction
* Move dateFilter validation to controller
* Fixes: Double query when changing filter
Fixes: Visual jump between filters in dropdown
* Add option to clear filters
* More clearly define dropdowns in dark mode
* Checkbox -> Checkmark
2019-04-23 07:31:20 -07:00
Tom Moor
07a941a65d
Websocket Support ( #937 )
...
* 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
2019-04-17 19:11:23 -07:00
Tom Moor
c1256c61aa
Search archived documents ( #932 )
...
* POC
* Improved styling
* Test
2019-04-09 09:20:30 -07:00
Tom Moor
763f57a3dc
Move document improvements ( #927 )
...
* Show all collections in UI
* Introduce command pattern
* Actually remove from previous collection
* Stash
* Fixes: Promises resolved outside of response lifecycle
* 💚
* 💚
* documentMover tests
* Transaction
* Perf. More in transactions
2019-04-08 21:25:13 -07:00
Tom Moor
d668bd5646
Remove duplicate save in archive
...
Improve documents.archive test
2019-04-07 09:56:09 -07:00
Tom Moor
642c11ff7d
Document Archive ( #921 )
...
* WIP: Archive
* WIP
* Finishing up archive endpoints
* WIP
* Update docs
* Flow
* Stash
* Add toast message confirmations
* Redirect handling, fixed publishhing info for archived docs
* Redirect to collection instead of home, remove unused pub info
* Account for deleted parent
* Trash -> Archive
Allow reading of archived docs
* Dont overload deletedAt
* Fixes
* 💚
* ParentDocumentId wipe for unarchived sub docs
* Fix: CMD+S exits editing
Fix: Duplicate user name on published but unedited docs
* Improve jank on paginated lists
* Prevent editing when archived
* 💚
Separate lint / flow steps
2019-04-06 16:20:27 -07:00
Tom Moor
476bab9333
Fixes: Welcome email dashboard location ( #886 )
...
* Fixes: Welcome email dashboard location
Updated logo in email
* 💚
2019-01-27 12:30:53 +00:00
Tom Moor
74515e0b19
Improve partial word matching
2019-01-07 21:44:33 -08:00
Tom Moor
8c02b0028c
Collection Permissions ( #829 )
...
see https://github.com/outline/outline/issues/668
2019-01-05 13:37:33 -08:00
Tom Moor
044b4f16bc
Editor embeds ( #680 )
...
- [x] Make deleting an embed easier
- [x] Add document level ability to disable embeds
- [x] Add team level ability to disable embeds
- [x] GitHub
- [x] Numeracy
- [x] Mode Analytics
- [x] Figma
- [x] Airtable
- [x] Vimeo
- [x] RealtimeBoard
- [x] Loom
- [x] Lucidcharts
- [x] Framer
- [x] InVision
- [x] Typeform
- [x] Marvel
- [x] Spotify
- [x] Codepen
- [x] Trello
2018-12-15 14:06:29 -08:00
Tom Moor
05fe573974
Remove duplicate documents.update hook
2018-12-08 08:59:15 -08:00
Tom Moor
06e7ab84cd
Cascade notification setting deletion on user account deletion
2018-12-06 19:14:43 -08:00
Tom Moor
9ca0038d39
Fixes: Collection creation notification email
...
Added: Unsubscribe option to notification email footers
Added: Two new notification types (emails not written yet)
Fixed: Validation added to notification setting events
2018-12-05 23:44:41 -08:00
Tom Moor
8cbcb77486
Base model refactor ( #810 )
...
* 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
* 👕
2018-12-04 22:24:30 -08:00
Tom Moor
c308a2378f
stash
2018-11-18 13:12:46 -08:00
Tom Moor
26036ad92c
Fixes: handling of www subdomain in production
...
Hanging sessions when subdomain changes
2018-11-13 23:08:27 -08:00
Tom Moor
bad8718a6b
💚
2018-11-12 14:53:32 -08:00
Tom Moor
c60bd4260f
Provision subdomain for ALL new teams, add tests
2018-11-12 14:00:23 -08:00
Tom Moor
b3a8d34af3
Add support for SUBDOMAINS_ENABLED=false
2018-11-11 22:06:50 -08:00
Tom Moor
61138ff4fa
Cleanup
2018-11-11 21:17:03 -08:00
Tom Moor
e24a187699
accessToken per subdomain
2018-11-09 23:40:33 -08:00
Tom Moor
c323de4807
Attempt to provision subdomain on team create
2018-11-08 21:05:07 -08:00
Tom Moor
6391474d14
getUrl -> url consistency
...
test improvements
2018-11-08 21:05:07 -08:00
Tom Moor
1be8e13828
Fix localhost
...
Handle automatic subdomain redirect
2018-11-08 21:05:07 -08:00
Tom Moor
6418712c47
Improve error handling
2018-11-08 21:05:07 -08:00
Tom Moor
21b1c0747c
Basic functionality in place, need improved errors and logged in redirect
2018-11-08 21:05:07 -08:00
Tom Moor
07e61bd347
First pass, can create and update
2018-11-08 21:02:36 -08:00
Tom Moor
d54750ef19
Closes #769
2018-09-30 18:31:42 -07:00
Tom Moor
d0bee23432
Version History ( #768 )
...
* 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)
2018-09-29 21:24:07 -07:00
Tom Moor
328f731541
Share Permissions ( #761 )
...
* Share restrictions
* Tweak language, add spec
2018-08-19 16:06:39 -07:00
Tom Moor
18cfe26e83
Migrate atlasId -> collectionId
2018-08-07 23:23:26 -07:00
Tom Moor
3334d783f3
Closes #724
2018-08-06 22:22:15 -07:00
Tom Moor
fc7373a6f5
Return relevant context in search results returned to slack slash command
2018-08-05 00:34:08 -07:00
Tom Moor
71830d7c77
Further improved search result snippets
2018-08-04 22:46:55 -07:00
Tom Moor
f5a1f59290
Fix search result ordering
...
Add support for returning your own drafts in results
Added regression tests
2018-08-04 21:28:37 -07:00