Hemachandar and GitHub
e2c28f4b9f
fix: Autofocus inside lazy-loaded modal and popover ( #12146 )
...
* fix: Autofocus inside lazy-loaded modal/popover
* use wrapperRef
* remove unused import
2026-05-01 08:15:14 -04:00
Hemachandar and GitHub
22538e7392
fix: Scrollbar flash in new collection modal ( #12144 )
...
* fix: Scrollbar flash in new collection modal
* reset animating on close
2026-04-24 13:23:40 +05:30
5584089441
feat: Figma integration ( #11044 )
...
* OAuth
* store logo
* unfurl support
* refresh token
* support for list
* embed list
* mention menu for all embeds in a list
* multi-level list
* logo
* account level connection
* tsc
* Update Icon.tsx
* coderabbit feedback
* RFC 6749 suggestion
---------
Co-authored-by: Tom Moor <tom@getoutline.com >
2026-01-15 20:27:00 -05:00
50759d40e8
feat: Option to export nested documents ( #9679 )
...
* add migration file
* documents.export API
* download dialog
* file ops list item
* export task
* download modal styling
* cleanup
* lint
* Restore individual download actions
---------
Co-authored-by: Tom Moor <tom@getoutline.com >
2026-01-10 21:19:33 -05:00
Hemachandar and GitHub
321d0ee124
Rename ActionV2 to Action ( #10770 )
...
* chore: Remove `Action` v1 dependency
* cleanup
* rename
2025-12-03 18:16:36 -05:00
142985c6d7
Move Document event writing to model layer ( #9790 )
...
* documents.restore, documents.unarchive
* documents.templatize
* documents.archive
* documents.unpublish
* documents.create, documents.update
* documents.title_change event
* documents.move
* documents.delete
* tsc, tests
* tsc
* Copilot feedback
---------
Co-authored-by: Tom Moor <tom@getoutline.com >
2025-11-23 20:40:45 +01:00
Hemachandar and GitHub
f3fe7283f8
fix: Allow pasting simple lists ( #10150 )
2025-09-10 16:48:29 -04:00
Hemachandar and GitHub
7f818c7329
chore: Replace custom toPlainText serialization with leafText ( #10039 )
2025-08-30 20:26:07 +05:30
Hemachandar and GitHub
27d116c8e2
Implement right-click context menu ( #9883 )
...
* base context menu
* extract document actions to `useDocumentMenuAction` hook
* context menu for DocumentListItem
* common menu component
* use Menu in dropdown and context
* menu context
* remove DropdownMenu and ContextMenu primitives
* update yarn.lock
* permissions recent bug fix
2025-08-30 20:25:03 +05:30
Hemachandar and GitHub
05b9c69da8
fix: Show api-key creator name in settings page ( #10041 )
2025-08-29 19:03:47 +05:30
Hemachandar and GitHub
ac55ad55dd
fix documents.import permission checks for shared parent ( #9996 )
2025-08-28 05:37:42 -04:00
Hemachandar and GitHub
0de2a3dc98
Skip Notion linked database views ( #10018 )
2025-08-26 16:14:44 -04:00
Hemachandar and GitHub
18dcef8ce4
Include collection attachments in json export ( #10010 )
2025-08-26 10:50:55 -04:00
Hemachandar and GitHub
7458228df0
Use leafText when converting mention nodes to its text content ( #10011 )
2025-08-26 10:45:27 -04:00
Hemachandar and GitHub
8383a0ee1e
fix: Sync draft comment from local storage when navigating between documents ( #9997 )
2025-08-26 02:15:43 +05:30
Hemachandar and GitHub
19a696942e
fix: Use event keycode for determining ToC shortcut keys ( #10002 )
2025-08-26 02:15:28 +05:30
Hemachandar and GitHub
f1a5e95f77
chore: Dependabot group for radix-ui ( #10001 )
2025-08-26 01:41:15 +05:30
Hemachandar and GitHub
bd5de2e185
Display correct child document structure & auto open share section ( #9854 )
...
* Show correct child structure for shared documents
* useMemo dep
* auto open tree, show child docs in references
* document.children
2025-08-17 23:09:49 -04:00
Hemachandar and GitHub
c2f84466df
chore: Move TableOfContentsMenu & BreadcrumbMenu to Radix ( #9882 )
...
* mobile toc menu
* indent heading levels, filter > H3
* breadcrumb menu
* tiny
2025-08-09 21:59:46 -04:00
Hemachandar and GitHub
5c070d0428
chore: Move more dropdowns to Radix (part 2) ( #9880 )
...
* revision menu
* new child document menu; dropdown trigger now supports tooltip
* import menu
* oauth authentication
* oauth client
* tsc
2025-08-09 14:18:19 -04:00
Hemachandar and GitHub
4822261187
chore: Move DocumentMenu to Radix ( #9879 )
...
* works without custom items in menu
* tooltip support for dropdown button
* fix: menu goes out of bounds
* custom node, lazy render menu for perf
* bug fixes
* fix: useTemplateActions re-computed templates on every render
* fix: hide subscribe/unsubscribe for inactive documents & collections
* cleanup `MenuContext` & `useTemplateMenuItems`
* rename prop, increase dropdown max-height
* jsdoc
2025-08-09 18:11:20 +05:30
Hemachandar and GitHub
45cc5ee20f
chore: Move CollectionMenu to Radix ( #9874 )
...
* chore: Move `CollectionMenu` to Radix
* action button supports v2
* rename button
* respect disabled pointer-events
* separator should go all the way
* Revert "separator should go all the way"
This reverts commit c76afa1252 .
2025-08-09 13:47:13 +05:30
Hemachandar and GitHub
5c0fc87504
chore: Move more dropdowns to Radix ( #9871 )
...
* collection group member menu
* comment menu
* group member menu
* group menu; added support for disabled items
* insights menu
* member menu
* notifications menu
* share menu
* alignment
* tsc, graphite feedback
* remove unused `CollectionGroupMenu` & `MemberMenu`
2025-08-08 08:54:11 +05:30
888add7920
Use shareLoader for loading public docs in documents.info endpoint ( #9822 )
...
* Use `shareLoader` for loading public docs in `documents.info` endpoint
* cleanup sharedCache in documents store
* remove shareId path param for authenticated routes
* require auth in document loader
---------
Co-authored-by: Tom Moor <tom@getoutline.com >
2025-08-07 22:41:04 -04:00
Hemachandar and GitHub
d5510f4454
fix: Allow users to revoke a collection share ( #9870 )
2025-08-08 00:07:04 +05:30
Hemachandar and GitHub
5b19f7c711
fix: Prefetch non-archived notificatios only ( #9869 )
2025-08-07 22:22:53 +05:30
Hemachandar and GitHub
f28f41eb76
Add sub-menu support for dropdown ( #9787 )
...
* sub menu primitives
* user menu
* mobile sub menu
* fluid transition for mobile sub-menu
* account menu
* selected icon
* submenu icon
* tsc: migrate TeamMenu
* reactivity
2025-08-07 08:21:27 +05:30
80b9fb1daa
fix: Full-width nodes misaligned when ToC is open in full-width document ( #9860 )
...
* fix: Full-width nodes misaligned when ToC is open in full-width document
* Remove extra div
---------
Co-authored-by: Tom Moor <tom@getoutline.com >
2025-08-06 20:46:23 -04:00
Hemachandar and GitHub
04c3d81b1f
chore: Setup missing oxlint configs ( #9862 )
...
* shared
* server
* app
* remove vestigial eslintrc files
* update comment directives
2025-08-06 19:54:22 -04:00
Hemachandar and GitHub
f41f93d6c9
Move ColorPicker to Radix popover ( #9863 )
2025-08-06 19:52:15 -04:00
Hemachandar and GitHub
6a6e77b52a
Cleanup reakit popover ( #9853 )
2025-08-06 07:33:25 -04:00
Hemachandar and GitHub
9bb802c35c
Migrate SearchPopover to Radix ( #9844 )
2025-08-05 17:42:06 -04:00
Hemachandar and GitHub
8ad097aef2
fix: Flash of 404 page due to timing diff between React & MobX state ( #9845 )
2025-08-05 17:39:44 -04:00
Hemachandar and GitHub
0cfd968f1e
chore: Fix console errors ( #9841 )
2025-08-05 11:32:05 -04:00
Hemachandar and GitHub
ca2258ecc7
Ensure auth when loading non-public share info ( #9840 )
2025-08-05 09:01:56 -04:00
Hemachandar and GitHub
bf87f2dfee
Autofocus search input when opening icon picker ( #9839 )
2025-08-05 08:47:16 -04:00
Hemachandar and GitHub
b4757dfc6c
Allow disconnecting analytics integrations ( #9823 )
...
* Allow disconnecting analytic integrations
* review
2025-08-05 07:36:48 -04:00
Hemachandar and GitHub
129f8f0520
fix: Generate sitemap for shares with custom slugs ( #9820 )
...
* fix: Generate sitemap for shares with custom slugs
* throw 400 when teamId is not present
2025-08-04 09:21:58 -04:00
d3eb3db7ba
feat: Public sharing of collections ( #9529 )
...
* shares.info, collections.info, documents.info
* shares.list, shares.create, shares.update
* shares.sitemap
* parity with existing document shared screen
* collection share popover
* parent share and table
* collection scene
* collection link in sidebar
* sidebar and breadcrumb collection link click
* collection link click in editor
* meta
* more meta + 404 page
* map internal link, remove showLastUpdated option
* fix shares.list pagination
* show last updated
* shareLoader tests
* lint
* sidebar context for collection link
* badge in shares table
* fix existing tests
* tsc
* update failing test snapshot
* env
* signed url for collection attachments
* include collection content in SSR for screen readers
* search
* drafts can be shared
* review
* tsc, remove old shared-doc scene
* tweaks
* DRY
* refactor loader
* Remove share/collection urls
* fix: Collection overview should not be editable when viewing shared link and logged in
* Tweak public breadcrumb
* fix: Deleted documents should never be exposed through share
* empty sharedTree array where includeChildDocuments is false
* revert includeChildDocs guard for logical correctness + SSR bug fix
* fix: check document is part of share
---------
Co-authored-by: Tom Moor <tom@getoutline.com >
2025-08-03 13:07:39 -04:00
Hemachandar and GitHub
5db3df35f5
chore: Move Collection event writing to model layer ( #9663 )
...
* collections.create, collections.update, collections.delete API
* collections.archive, collections.restore
* collections.move
* file imports
* remove collectionDestroyer
* remove data field
* remove data field for collections.move
* remove data field for import flow
* use hook for permission_changed event
* simplify event type
* tiny
2025-07-19 13:38:22 -04:00
Hemachandar and GitHub
69a4dc0950
feat: Radix dropdown menu ( #9578 )
...
* base menu works
* action internal link & group
* action external link
* simplify NewTemplatesMenu
* animation
* tiny cleanup
* simplify group api
* icon spacer
* root action
* mobile menu
* decrease drawer animation speed
* format
* animation, const separator
* memo..
* TemplatesMenu + Scrollable dropdown
* delete file-ops
* cap height
2025-07-19 12:48:46 -04:00
Hemachandar and GitHub
58d3fad84f
Stricter guards for text nodes in Notion import ( #9675 )
2025-07-18 07:46:34 -04:00
Hemachandar and GitHub
d78b0440df
fix: Skip overwriting non-transaction fields in firstCollectionForTeam query ( #9662 )
2025-07-17 08:22:09 -04:00
Hemachandar and GitHub
d3115e3557
Allow replacing embed links ( #9479 )
...
* Allow replacing embed links
* better error msg
* add missing GitLabSnippet props
* add embed link toolbar
* cleanup
2025-07-16 21:59:06 -04:00
Hemachandar and GitHub
4c1caf6025
Show paste menu to convert a list of URLs to mentions ( #9646 )
2025-07-16 20:25:24 -04:00
Hemachandar and GitHub
c7231ffd8b
chore: Move Revision event writing to model layer ( #9650 )
2025-07-16 17:28:29 -04:00
Hemachandar and GitHub
7d315288dd
Listen to GitHub webhooks to update issueSources cache ( #9414 )
...
* Listen to GitHub webhooks to update issue-sources cache
* Add `GitHubWebhookTask`
* review
2025-07-15 23:07:14 -04:00
Hemachandar and GitHub
066b6dab43
Remove @renderlesskit/react package ( #9615 )
...
* remove ariaLabel
* remove @renderlesskit/react
2025-07-11 17:41:47 -04:00
Hemachandar and GitHub
e469e5771e
Migrate remaining select menus to Radix ( #9599 )
...
* InputMemberPermissionSelect
* api key expiry
* invite permission
* templatize location
2025-07-10 22:56:04 -04:00
Hemachandar and GitHub
d4cdf4202f
InputSelectPermission component ( #9585 )
2025-07-10 08:46:19 -04:00
Hemachandar and GitHub
a60634139e
fix: Use compatible versions of Radix internals ( #9576 )
2025-07-08 18:01:07 -04:00
Hemachandar and GitHub
29c07d6dee
Migrate remaining popovers to Radix ( #9555 )
...
* reaction picker
* api key expiry date picker
* find and replace popover
* slack list item
2025-07-06 08:53:47 -04:00
Hemachandar and GitHub
b0a2a02166
Migrate share popovers to Radix ( #9547 )
...
* common popover primitive
* move collection/document share popovers
* cleanup dummy file
* snappy animation
2025-07-05 22:24:00 -04:00
Hemachandar and GitHub
b03880d121
fix: Navigate routes and links in kbar ( #9552 )
2025-07-05 17:07:00 -04:00
Hemachandar and GitHub
a3b3e9e0be
Use Retry-After header for Notion rate-limit retries ( #9467 )
2025-06-18 16:39:58 -04:00
Hemachandar and GitHub
2183c6d1d2
fix: Skip showing archived docs in shared section ( #9451 )
2025-06-14 10:46:25 -04:00
Hemachandar and GitHub
c9f25546e8
fix: Handle Notion linked database errors ( #9429 )
2025-06-11 09:10:00 -04:00
Hemachandar and GitHub
554c7a8111
Handle OAuth error in Linear callback ( #9419 )
2025-06-10 08:46:52 -04:00
Hemachandar and GitHub
6cf230963e
Show integrations breadcrumb for Linear scene ( #9418 )
2025-06-10 08:10:54 -04:00
Hemachandar and GitHub
39f9bfbbcd
fix: Persist document icon & color in import flow ( #9421 )
2025-06-10 08:10:14 -04:00
Hemachandar and GitHub
39c2aca883
chore: Cleanup deprecated task schedule method ( #9415 )
2025-06-09 19:33:46 -04:00
Hemachandar and GitHub
a85fec57cc
chore: Cleanup unfurl temporary backward compatibility ( #9406 )
2025-06-08 09:24:32 -04:00
Hemachandar and GitHub
6660cd6746
fix: invalidate stale policy only ( #9397 )
...
* fix: invalidate stale document policy only
* remove collection policy
2025-06-05 14:50:00 -04:00
Hemachandar and GitHub
6a16dc07c1
fix: Set name and id in Switch events ( #9384 )
2025-06-03 05:51:29 -04:00
Hemachandar and GitHub
e7b7eb7818
feat: Allow specifying exact pixel width for images ( #9288 )
...
* Allow specifying exact pixel width for images
* resize height
* Math.round
* handle natural width, debounce error state
2025-05-31 11:36:36 -04:00
Hemachandar and GitHub
82b5b87440
fix: Skip fetching children for unsupported Notion blocks ( #9289 )
...
* fix: Skip fetching children for unsupported Notion blocks
* better naming
2025-05-23 17:17:05 -04:00
Hemachandar and GitHub
052924d816
Resolve index collision when restoring collection ( #9229 )
...
* Resolve index collision when restoring collection
* use beforeUpdate hook
2025-05-16 23:56:46 -04:00
Hemachandar and GitHub
dc5c3f5280
fix: Consider non-archived collections only for index computation ( #9225 )
2025-05-16 09:39:32 -04:00
Hemachandar and GitHub
610721eed6
fix: Ensure collection withUser scope is not overriden ( #9226 )
2025-05-16 08:16:25 -04:00
Hemachandar and GitHub
d50f0986bb
fix: Reset editing state when collection/document title is unmodified ( #9221 )
2025-05-15 14:12:26 +00:00
c5d534b2ad
Add script to resolve existing collection index collisions ( #8810 )
...
* Add script to resolve existing collection index collisions
* Remove debug logging
---------
Co-authored-by: Tom Moor <tom.moor@gmail.com >
2025-05-04 16:12:09 -04:00
Hemachandar and GitHub
722d10e7de
Implement type-safe schedule method for tasks ( #9079 )
...
* Implement type-safe task scheduler
* introduce 'schedule' instance method
* typo
2025-04-28 17:27:24 -04:00
Hemachandar and GitHub
ce001547b5
fix: Check pasted text is url before creating an URL object ( #9082 )
2025-04-28 17:27:12 -04:00
Hemachandar and GitHub
7f513a6950
fix: Store Linear workspace logo only when it's available ( #9072 )
2025-04-27 09:26:36 -04:00
e8e46a438c
fix: Store Linear workspace logo in storage ( #9061 )
...
* fix: Store Linear workspace logo in Outline
* use async task
* Move task into plugin
---------
Co-authored-by: Tom Moor <tom@getoutline.com >
2025-04-25 23:18:21 -04:00
Hemachandar and GitHub
9274f56ef6
Show correct icon & color for GitHub draft PR ( #9063 )
2025-04-25 17:37:54 -04:00
Hemachandar and GitHub
4bb9ac40c7
fix: Linear status icon completion percentage edge case ( #9062 )
2025-04-25 13:17:28 -04:00
Hemachandar and GitHub
21e756c357
Check collection (or) document when processing page/database in Notion import ( #9047 )
2025-04-24 21:22:39 -04:00
Hemachandar and GitHub
de6c1735d9
feat: Linear integration ( #9037 )
...
* linear settings and oauth
* unfurl
* unfurl impl fix for recent merge from main
* fetch labels
* state icon
* linear icon
* uninstall hook
* lint
* i18n
* cleanup
* use workspace key, reduce icon size
* determine completion percentage
* extract completionPercentage to separate method
2025-04-24 07:50:48 -04:00
Hemachandar and GitHub
51cb5bffce
Cache issueSources for embed integrations ( #8952 )
...
* Cache `issueSources` for embed integrations
* lock model before update
2025-04-22 09:59:39 -04:00
Hemachandar and GitHub
d37b7fa31e
Transform issue and pull_request to unfurl shape in plugin ( #9006 )
...
* Transform issue and pull_request to unfurl shape in plugin
* better typings
* add todo
2025-04-22 07:00:44 -04:00
Hemachandar and GitHub
65bb3b11f3
fix: Parse emoji and url only as workspace icon ( #9009 )
...
* fix: Parse emoji and url only as workspace icon
* scope emoji regex to transform function
2025-04-18 10:45:17 -04:00
Hemachandar and GitHub
5789d65bf5
Ensure iframely fallback is not executed for connected unfurl integration ( #8995 )
...
* Ensure iframely fallback is not executed for connected unfurl integration
* tsc
2025-04-16 18:22:51 -04:00
Hemachandar and GitHub
f082da6456
fix: Reset avatar zoom, set missing text in upload button ( #8949 )
...
* fix: Reset avatar zoom, set missing text in upload button
* tiny
2025-04-13 19:15:15 -07:00
bf6a56849e
Show GitHub issues and pull requests as mentions ( #8870 )
...
* mention issue works
* pr and loading works
* error node
* tweak mention display
* handle multiple creation error
* tidy
* store unfurl in mention attrs
* simplify mention code creation
* test fix
* base feedback
* update node when pos is available
* delete local UnfurlsStore
* use unfurl from store
* Optimize lodash isMatch import statement
* fix: Copy/paste of issue mentions
fix: Icon alignment
fix: Error and loading mentions are unselectable
* Switch order in paste menu
---------
Co-authored-by: Tom Moor <tom@getoutline.com >
2025-04-13 06:09:13 -07:00
Hemachandar and GitHub
9c9657f4cc
eslint: Increase severity to error for lodash imports ( #8932 )
2025-04-11 17:56:28 -07:00
Hemachandar and GitHub
f7b00e72f1
Implement UnfurlsStore ( #8920 )
...
* Implement UnfurlsStore
* simplify lookup
* refetch unfurl after X elapsed time
* compute fetchedAt in client
2025-04-10 18:24:32 -07:00
Hemachandar and GitHub
e499881110
fix: Update collection 'documentStructure' when archived document is deleted ( #8922 )
2025-04-10 18:11:30 -07:00
Hemachandar and GitHub
2e018e74b8
Log fields that cause UniqueConstraintError in ImportsProcessor ( #8887 )
2025-04-06 11:10:59 -07:00
Hemachandar and GitHub
4237377d47
fix: Skip sequelize hooks when creating user membership in collections.update ( #8849 )
2025-04-01 04:43:31 -07:00
Hemachandar and GitHub
dcb7b86df8
Store import error in DB ( #8811 )
2025-03-29 06:08:07 -07:00
Hemachandar and GitHub
45c6e72c6d
Manage collection subscriptions when user (or) group is removed from a collection ( #8821 )
...
* Manage collection subscriptions when user (or) group is removed from a collection
* rename collection task
* rename document task
* remove unnecessary actor filter
2025-03-29 06:07:57 -07:00
Hemachandar and GitHub
a7fe6c9af3
Include non-deleted imports for cleanup ( #8822 )
2025-03-28 05:46:36 -07:00
Hemachandar and GitHub
877b7ad0df
fix: Handle index collision when creating a collection ( #8803 )
...
* fix: Handle index collision when creating a collection
* move to sequelize hooks
* index maxLen parity between api and model
* remove beforeUpdate hook
* use common indexLen in model
* beforeUpdate hook..
* test
2025-03-27 02:50:40 -07:00
Hemachandar and GitHub
f6da244c33
fix: Handle empty text blocks from Notion response ( #8785 )
2025-03-25 04:31:06 -07:00
Hemachandar and GitHub
5c4eb32c26
fix: Release redis lock only when it hasn't expired ( #8765 )
...
* fix: Suppress redlock release errors
* release only when lock hasn't expired
2025-03-24 14:37:36 -07:00
Hemachandar and GitHub
6e98568e5b
API importer for Notion ( #8710 )
2025-03-23 12:19:13 -07:00
Hemachandar and GitHub
021a286d99
Migrate language, theme and user-role input-select to Radix ( #8711 )
...
* Migrate language, theme and user-role input-select to Radix
* use theme
2025-03-17 20:37:40 -07:00
c311ee915e
Radix input select component ( #8541 )
...
* radix primitive and base input select component
* port toc position select menu
* fix render side
* restyle drawer title
* max-height for select content
* rename primitive
* review
---------
Co-authored-by: Tom Moor <tom.moor@gmail.com >
2025-03-15 18:14:46 -07:00
Hemachandar and GitHub
d5462a92c8
fix: Skip unsubscribing when user has access to document ( #8631 )
...
* fix: Skip unsubscribing when user has access to document
* better checks
2025-03-04 19:26:13 -08:00