* fix: rename to group_permissions
* fix: delete null collectionId records before setting non null constraint
* fix: use scope with collectionId not null
* fix: update model with documentId
* fix: rename to GroupPermission
* fix: rename collection_users to user_permissions
* fix: teamPermanentDeleter test
* fix: use scope with collectionId not null
* fix: update model with documentId
* fix: rename to UserPermission
* fix: create views upon table rename for zero downtime
* fix: remove comments
* Split permissions for reading documents from updating collection
* fix: Admins should have collection read permission, tests
* tsc
* Add admin option to permission selector
* Combine publish and create permissions, update -> createDocuments where appropriate
* Plural -> singular
* wip
* Quick version of collection structure loading, will revisit
* Remove documentIds method
* stash
* fixing tests to account for admin creation
* Add self-hosted migration
* fix: Allow groups to have admin permission
* Prefetch collection documents
* fix: Document explorer (move/publish) not working with async documents
* fix: Cannot re-parent document to collection by drag and drop
* fix: Cannot drag to import into collection item without admin permission
* Remove unused isEditor getter
* fix: Logic error in toast
fix: Remove useless component
* fix: Logout not clearing all stores
* Add icons to notification settings
* Add eslint rule to enforce spaced comment
* Add eslint rule for arrow-body-style
* Add eslint rule to enforce self-closing components
* Add menu to api key settings
Fix: Deleting webhook subscription does not remove from UI
Split webhook subscriptions into active and inactive
Styling updates
* helper
* Add script to move notification settings
* wip, removal of NotificationSettings
* event name
* iteration
* test
* test
* Remove last of NotificationSettings model
* refactor
* More fixes
* snapshots
* Change emails to class instances for type safety
* test
* docs
* Update migration for self-hosted
* tsc
* 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
* fix: Allow viewers to upload avatar
* DeleteAttachmentTask
* fix: Previous avatar should be deleted on change, if possible
* fix: Also cleanup team logo on change
* feat: support user preferences
* feat: support team preferences
* fix: update snapshots
* feat: update last visited url by user
* fix: update snapshots
* fix: use path instead of complete url
* fix: do not expose preferences to other users with the exception of admin
* feat: support defaultDocumentStatus as a team preference
* feat: allow edit even when collaborative editing is enabled
* Revert "feat: allow edit even when collaborative editing is enabled"
This reverts commit a22a02a406d01eb418dab32249b8b846bf77c59b.
* Revert "feat: support defaultDocumentStatus as a team preference"
This reverts commit 4928cffe5c682952b1e469a3e50a1a34d05dcc58.
* fix: keep preference as a boolean
* Index emails migration
* feat: Add available teams to auth.info endpoint
* test
* separate presenter
* Include data from sessions cookie, include likely logged in state
* test
* test: Add test for team only in session cookie
* Suggested query change in PR feedback
* Improve types
* More types, fix default permission for viewers added to collection
* fix change of default role for CollectionGroup
* Restore policy
* test
* tests
* Add `emails.export_completed` notification to settings menu
Signed-off-by: AKP <tom@tdpain.net>
* Don't send email when export_completed notifications are disabled
Signed-off-by: AKP <tom@tdpain.net>
* Automatically subscribe new users to `export_completed` notifications
Signed-off-by: AKP <tom@tdpain.net>
* Alter secondary text on export page to mention optional notifications
Signed-off-by: AKP <tom@tdpain.net>
* Alter toast text on collection export for optional notifications
Signed-off-by: AKP <tom@tdpain.net>
* Only subscribe new admins to export notifs
Signed-off-by: AKP <tom@tdpain.net>
* Move `export_completed` notification decision into `beforeSend`
Signed-off-by: AKP <tom@tdpain.net>
* Update server/emails/templates/ExportFailureEmail.tsx
Co-authored-by: Tom Moor <tom.moor@gmail.com>
* Update server/emails/templates/ExportSuccessEmail.tsx
Co-authored-by: Tom Moor <tom.moor@gmail.com>
Signed-off-by: AKP <tom@tdpain.net>
Co-authored-by: Tom Moor <tom.moor@gmail.com>
* chore: Updating all model validations before the white-hatters get to it ;)
* test
* Remove isUrl validation, thinking about it need to account for minio and other weird urls here
* chore: Async user avatar upload processor
* chore: Async team avatar upload
* Refactor to task for retries
* Docs
Include avatarUrl in task props to prevent race condition
Remove transaction around upload fetch request
* chore: Store expiresAt on UserAuthentications. This represents the time that the accessToken is no longer valid and should be exchanged using the refreshToken
* feat: Check and expire Google SSO
* fix: Better handling of multiple auth methods
Added more docs
* fix: Retry access validation with network errors
* Small refactor, add Azure token validation support
* doc
* test
* lint
* OIDC refresh support
* CheckSSOAccessTask -> ValidateSSOAccessTask
Added lastValidatedAt column
Skip checks if validated within 5min
Some edge cases around encrypted columns