2020-11-27 08:51:08 +00:00
|
|
|
import { call, all, spawn } from "redux-saga/effects";
|
2019-11-25 05:07:27 +00:00
|
|
|
import pageSagas from "sagas/PageSagas";
|
2019-10-18 08:16:26 +00:00
|
|
|
import { fetchWidgetCardsSaga } from "./WidgetSidebarSagas";
|
2019-10-21 15:12:45 +00:00
|
|
|
import { watchActionSagas } from "./ActionSagas";
|
2020-07-03 08:58:58 +00:00
|
|
|
import { watchActionExecutionSagas } from "sagas/ActionExecutionSagas";
|
2019-09-19 22:25:37 +00:00
|
|
|
import widgetOperationSagas from "./WidgetOperationSagas";
|
2019-09-27 16:05:33 +00:00
|
|
|
import errorSagas from "./ErrorSagas";
|
2019-10-24 09:23:50 +00:00
|
|
|
import applicationSagas from "./ApplicationSagas";
|
2019-11-07 09:32:38 +00:00
|
|
|
import { watchDatasourcesSagas } from "./DatasourcesSagas";
|
2019-11-01 07:11:32 +00:00
|
|
|
import initSagas from "./InitSagas";
|
2019-11-25 09:15:11 +00:00
|
|
|
import apiPaneSagas from "./ApiPaneSagas";
|
2019-12-16 08:49:10 +00:00
|
|
|
import userSagas from "./userSagas";
|
2019-11-29 05:22:49 +00:00
|
|
|
import pluginSagas from "./PluginSagas";
|
2019-12-23 12:16:33 +00:00
|
|
|
import orgSagas from "./OrgSagas";
|
2020-04-14 12:34:14 +00:00
|
|
|
import importedCollectionsSagas from "./CollectionSagas";
|
|
|
|
|
import providersSagas from "./ProvidersSaga";
|
|
|
|
|
import curlImportSagas from "./CurlImportSagas";
|
2021-07-26 16:44:10 +00:00
|
|
|
import snipingModeSagas from "./SnipingModeSagas";
|
2020-05-05 07:50:30 +00:00
|
|
|
import queryPaneSagas from "./QueryPaneSagas";
|
2020-03-27 09:02:11 +00:00
|
|
|
import modalSagas from "./ModalSagas";
|
2020-04-13 08:24:13 +00:00
|
|
|
import batchSagas from "./BatchSagas";
|
2020-09-22 11:56:11 +00:00
|
|
|
import themeSagas from "./ThemeSaga";
|
2021-01-04 10:16:08 +00:00
|
|
|
import evaluationsSaga from "./EvaluationsSaga";
|
2021-06-17 13:26:54 +00:00
|
|
|
import onboardingSagas from "./OnboardingSagas";
|
2021-04-22 03:30:09 +00:00
|
|
|
import utilSagas from "./UtilSagas";
|
|
|
|
|
import saaSPaneSagas from "./SaaSPaneSagas";
|
2021-01-14 14:37:21 +00:00
|
|
|
import actionExecutionChangeListeners from "./WidgetLoadingSaga";
|
2021-03-08 08:24:12 +00:00
|
|
|
import globalSearchSagas from "./GlobalSearchSagas";
|
|
|
|
|
import recentEntitiesSagas from "./RecentEntitiesSagas";
|
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs
* add actions
* add assets
* state management for existing comments and creating new
* add ui components
* add overlay comments wrapper to baseWidget
* add toggle comment mode button at editor header
* trigger tests
* Disallow commenting as someone else
* Add applicationId for comments
* lint
* Add overlay blacklist to prevent component interaction while adding comments
* Comment thread style updates
* Placeholder comment context menu
* Controlled comment thread visibility for making new comments visible by default
* Update comment type description
* Reset input on save
* Resolve comment thread button ui
* fix close on esc key, dont create new comment on outside click
* Submit on enter
* add emoji picker
* Attempt at adding a websocket server in Java
* CRUD APIs for comment threads
* Add API for getting all threads in application
* Move types to a separate file
* Initial commit for real time server (RTS)
* Add script to start RTS
* Fix position property
* Use create comment thread API
* Use add comment to thread API
* Add custom cursor
* Dispatch logout init on 401 errors
* Allow CORS for real time connection
* Add more logs to RTS
* Fix construction of MongoClient
* WIP: Real time comments
* Enable comments
* Minor updates
* Read backend API base URL from environment
* Escape to reset comments mode
* Set popover position as auto and boundary as scroll parent
* Disable warning
* Added permissions for comment threads
* Add resolved API for comment threads
* Migration to set commenting permission on existing apps
* Fix updates bringing the RTS down
* Show view latest button, scroll to bottom on creating a new comment
* Cleanup comment reducer
* Move to typescript for RTS
* Add missing server.ts and tsconfig files
* Resolve / unresolve comment
* Scaffold app comments
* Minor fixes: comment on top of all widgets, add toggle button at viewer header
* Reconnect socket on creating a new app, set connected status in store
* Retry socket connection flow
* Integration tests for comments with api mocks using msw
* Fix circular depependency
* rm file
* Minor cleanup and comments
* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper
* Use policies when pushing updates in RTS
* ENV var to set if comments are enabled
* Fix: check if editor/viewer is initialised before waiting for init action
* Add tests for comments reducer
* Revert "ENV var to set if comments are enabled"
This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.
* Enable comments for users with appsmith email
* lint
* fix
* Try running a socket.io server inside backend
* Update comment reducer tests
* Init mentions within comments
* Fix comment thread updates with email rooms
* Minor fixes
* Refactors / review suggestions
* lint
* increase cache limit for builds
* Comment out tests for feature that's under development
* Add Dockerfile for RTS
* Fix policies missing for first comment in threads
* Use draftJS for comments input with mentions support
* fix fixtures
* Use thread's policies when querying for threads
* Update socket.io to v4
* Add support for richer body with mentions
* Update comment body type to RawDraftContentState
* fix stale method
* Fix mentions search
* Minor cleanups
* Comment context menu and thread UI updates
* revert: Scaffold app comments
* Yarn dependencies
* Delete comment using id api added
* Init app comments
* Add test for creating thread
* Api for delete comment with id
* Test comment creation response and policies
* Copy comment links
* Fix reset editor state
* Delete valid comment testcase added
* Delete comment TC : code refactor
* Don't allow creating comments with an empty body
* Pin comments WIP[]
* Ignore dependency-reduced-pom.xml files from VCS
* Cleanup of some dev-only files, for review
* Delete comment
* Update socket.io to v4 in RTS
* Pin and resolve comment thread object added in commentThread
* Pin and resolve comment thread object added in commentThread
* Update comment thread API
* Added creationTime and updationTime in comment thread response
* Added creationTime and updationTime in comment thread response
* Added human readable id to comment threads, fallback to username for null name in user document
* Refactor
* lint
* fix test, rm duplicate selector
* comment out saga used for dev
* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status
* lint
* trigger tests
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 10:33:51 +00:00
|
|
|
import commentSagas from "./CommentSagas";
|
2021-06-09 14:32:17 +00:00
|
|
|
import websocketSagas from "./WebsocketSagas/WebsocketSagas";
|
2021-04-23 13:50:55 +00:00
|
|
|
import debuggerSagas from "./DebuggerSagas";
|
2021-05-20 12:03:08 +00:00
|
|
|
import tourSagas from "./TourSagas";
|
2021-06-09 14:32:17 +00:00
|
|
|
import notificationsSagas from "./NotificationsSagas";
|
2021-06-17 13:26:54 +00:00
|
|
|
import selectionCanvasSagas from "./SelectionCanvasSagas";
|
2021-08-12 05:45:38 +00:00
|
|
|
import draggingCanvasSagas from "./DraggingCanvasSagas";
|
|
|
|
|
|
2020-11-27 08:51:08 +00:00
|
|
|
import log from "loglevel";
|
|
|
|
|
import * as sentry from "@sentry/react";
|
2021-08-26 05:37:07 +00:00
|
|
|
import formEvaluationChangeListener from "./FormEvaluationSaga";
|
2021-05-18 18:29:39 +00:00
|
|
|
const sagas = [
|
|
|
|
|
initSagas,
|
|
|
|
|
pageSagas,
|
|
|
|
|
fetchWidgetCardsSaga,
|
|
|
|
|
watchActionSagas,
|
|
|
|
|
watchActionExecutionSagas,
|
|
|
|
|
widgetOperationSagas,
|
|
|
|
|
errorSagas,
|
|
|
|
|
watchDatasourcesSagas,
|
|
|
|
|
applicationSagas,
|
|
|
|
|
apiPaneSagas,
|
|
|
|
|
userSagas,
|
|
|
|
|
pluginSagas,
|
|
|
|
|
orgSagas,
|
|
|
|
|
importedCollectionsSagas,
|
|
|
|
|
providersSagas,
|
|
|
|
|
curlImportSagas,
|
2021-07-26 16:44:10 +00:00
|
|
|
snipingModeSagas,
|
2021-05-18 18:29:39 +00:00
|
|
|
queryPaneSagas,
|
|
|
|
|
modalSagas,
|
|
|
|
|
batchSagas,
|
|
|
|
|
themeSagas,
|
|
|
|
|
evaluationsSaga,
|
2021-06-17 13:26:54 +00:00
|
|
|
onboardingSagas,
|
2021-05-18 18:29:39 +00:00
|
|
|
actionExecutionChangeListeners,
|
2021-08-26 05:37:07 +00:00
|
|
|
formEvaluationChangeListener,
|
2021-05-18 18:29:39 +00:00
|
|
|
utilSagas,
|
|
|
|
|
globalSearchSagas,
|
|
|
|
|
recentEntitiesSagas,
|
|
|
|
|
commentSagas,
|
|
|
|
|
websocketSagas,
|
|
|
|
|
debuggerSagas,
|
|
|
|
|
saaSPaneSagas,
|
2021-05-20 12:03:08 +00:00
|
|
|
tourSagas,
|
2021-06-09 14:32:17 +00:00
|
|
|
notificationsSagas,
|
2021-06-17 13:26:54 +00:00
|
|
|
selectionCanvasSagas,
|
2021-08-12 05:45:38 +00:00
|
|
|
draggingCanvasSagas,
|
2021-05-18 18:29:39 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
export function* rootSaga(sagasToRun = sagas) {
|
2020-11-27 08:51:08 +00:00
|
|
|
yield all(
|
2021-05-18 18:29:39 +00:00
|
|
|
sagasToRun.map((saga) =>
|
2020-11-27 08:51:08 +00:00
|
|
|
spawn(function*() {
|
|
|
|
|
while (true) {
|
|
|
|
|
try {
|
|
|
|
|
yield call(saga);
|
|
|
|
|
break;
|
|
|
|
|
} catch (e) {
|
|
|
|
|
log.error(e);
|
|
|
|
|
sentry.captureException(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}),
|
|
|
|
|
),
|
|
|
|
|
);
|
2019-03-26 15:28:24 +00:00
|
|
|
}
|