* refactor: move files to subfolder
* refactor: schema for authenticationProviders.info
* refactor: schema for authenticationProviders.update
* refactor: use validated body
* feat: initial base structure
* feat: utils for constructing and flattening collection tree
* feat: basic demo to display tree-like structure with virtualization
* feat: make it searchable
* feat: row component
* fix: handle row selection
* fix: scroll jitter
* fix: popover max-height to eliminate extra scroll
* fix: position scrollbar correctly
* fix: do not sort to maintain correct tree-like view
* feat: footer
* fix: scroll to selected item
* fix: deselect item
* fix: display selected location in footer
* fix: deselect item if any upon search trigger
* fix: create draft without collection
* fix: pass down collectionId to all the nodes
* feat: publish document under selected location
* fix: move the doc post publish in case it is supposed to be a nested doc
* fix: wrap text for selected location
* fix: footer background in dark mode and unused css
* fix: popover height in small devices
* fix: no need to spread
* refactor: remove outline
* refactor: border-radius is common
* refactor: remove active and focus
* fix: do not shrink spacer
* fix: scroll list padding with correctly adjusted scrolling
* refactor: use constants
* fix: use padding in favor of spacer
* refactor: border attrs not needed
* refactor: control title padding and icon size centrally
* fix: rename param
* fix: import path
* fix: refactor styles, avoid magic numbers
* fix: type err
* feat: make rows collapsible
* fix: fully expanded without disclosure upon search
* fix: use modal in place of popover
* fix: collapse descendants
* fix: rename PublishPopover to PublishModal
* fix: adjust collapse icon as part of tree view
* fix: enable keyboard navigation
* not sure why collapse and expand shortcuts are not working
* fix: row expansion and search box focus and blur
* fix: remove css hover, handle it via active prop
* fix: discard tree like view for search results
* fix: minor tweaks
* refactor: no need to pass onPublish
* refactor: remove unnecessary attrs from search component
* fix: publish button text
* fix: reset intial scroll offset to 0 on search
* fix: remove search highlights
* fix: clean up search component
* refactor: search and row collapse
* refactor: PublishLocation
* fix: show emoji or star icon if present
* fix: shift focus only from top item
* fix: leading emoji
* fix: baseline text
* fix: make path tertiary
* fix: do not show path for collections
* fix: path text color upon selection
* fix: deleted collection case
* fix: no results found
* fix: space around slash
* Refinement, some small refactors
* fix: Publish shortcut, use Button action
* Allow new document creation from command menu without active collection
* fix: duplicate
* fix: Unneccessary truncation
* fix: Scroll on expand/collapse
Remove wraparound
* fix: tsc
* fix: Horizontal overflow on PublishLocation
Remove pointless moveTo method
* fix: Missing translation
* Remove method indirection
Show expanded collection icon in tree when expanded
* Shrink font size a point
* Remove feature flag
* fix: Path color contrast in light mode
Remove unused expanded/show attributes
* shrink -> collapse, fix expanded disclosure without items after searching
* Mobile styles
* fix: scroll just into view
Co-authored-by: Tom Moor <tom.moor@gmail.com>
* fix: refactor to accommodate authentication, transaction and pagination together into ctx.state
* feat: allow passing response type to APIContext
* feat: preliminary work for initial review
* fix: use unknown for base types
* fix: api/attachments
* fix: api/documents
* fix: jsdoc comment for input
* fix: replace at() with index access for compatibility
* fix: validation err message
* fix: error handling
* fix: remove unnecessary extend
* GA integration settings
* trackingId -> measurementId
Hook up script
* Public page GA tracking
Correct layout of settings
* Remove multiple codepaths for loading GA measurementID, add missing db index
* Remove unneccessary changes, tsc
* test
* refactor: move files to subfolder
* refactor: schema for events.list
* refactor: update nullable fields in Event model
* fix: event actor not nullable
* fix: team not nullable
* feat: share url slug
* feat: add col urlId
* feat: allow updating urlId
* fix: typo
* fix: migrations
* fix: urlId model validation
* fix: input label
* fix: debounce slug request
* feat: link preview
* fix: send slug variant in response if available
* fix: temporary redirect to slug variant if available
* fix: move up the custom link field
* fix: process and display backend err
* fix: reset custom link state on popover close and remove isCopied
* fix: document link preview
* fix: set urlId when available
* fix: keep unique(urlId, teamId)
* fix: codeql
* fix: get rid of preview type
* fix: width not needed for block elem
* fix: migrations
* fix: array not required
* fix: use val
* fix: validation on shareId and test
* fix: allow clearing urlId
* fix: do not escape
* fix: unique error text
* fix: keep team
* fix: server side error handling
* fix: push only unknown 500 errors to sentry
* fix: use in-house onerror in favor of errorHandling middleware
* fix: split error template into dev and prod envs
* fix: check Error instance
* fix: error routes in test env
* fix: review comments
* Remove koa-onerror
Co-authored-by: Tom Moor <tom.moor@gmail.com>
* Remove home link on desktop app
* Spellcheck, installation toasts, background styling, …
* Add email,slack, auth support
* More desktop style tweaks
* Move redirect to client
* cleanup
* Record desktop usage
* docs
* fix: Selection state in search input when double clicking header
* chore(server): use zod for validations
* fix(server): use ctx.input for documents.list
* fix(server): schema for documents.archived
* fix(server): documents.deleted, documents.viewed & documents.drafts
* fix(server): documents.info
* fix(server): documents.export & documents.restore
* fix(server): documents.search_titles & documents.search
* fix(server): documents.templatize
* fix(server): replace nullish() with optional()
* fix(server): documents.update
* fix(server): documents.move
* fix(server): remaining
* fix(server): add validation for snippet min and max words
* fix(server): fix update types
* fix(server): remove DocumentSchema
* fix(server): collate duplicate schemas
* fix: typos
* fix: reviews
* chore: Fixed case of Metrics import
* fix: restructure /api
* fix: loosen validation for id as it can be a slug too
* Add test for query by slug
Simplify import
Co-authored-by: Tom Moor <tom.moor@gmail.com>