* 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>
74 lines
2.9 KiB
JavaScript
74 lines
2.9 KiB
JavaScript
function parseConfig() {
|
|
return "";
|
|
}
|
|
const LOG_LEVELS = ["debug", "error"];
|
|
const CONFIG_LOG_LEVEL_INDEX = 1;
|
|
|
|
module.exports = {
|
|
setupFiles: ["jest-canvas-mock"],
|
|
roots: ["<rootDir>/src"],
|
|
transform: {
|
|
"^.+\\.(png|js|ts|tsx)$": "ts-jest",
|
|
},
|
|
setupFilesAfterEnv: ["<rootDir>/test/setup.ts"],
|
|
testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.(tsx|ts|js)?$",
|
|
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node", "css"],
|
|
moduleDirectories: ["node_modules", "src", "test"],
|
|
transformIgnorePatterns: [
|
|
"<rootDir>/node_modules/(?!codemirror|react-dnd|dnd-core|@babel|(@blueprintjs/core/lib/esnext)|(@blueprintjs/core/lib/esm)|@github|lodash-es|@draft-js-plugins)",
|
|
],
|
|
moduleNameMapper: {
|
|
"\\.(css|less)$": "<rootDir>/test/__mocks__/styleMock.js",
|
|
"\\.svg$": "<rootDir>/test/__mocks__/svgMock.js",
|
|
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$":
|
|
"<rootDir>/test/__mocks__/fileMock.js",
|
|
"^worker-loader!": "<rootDir>/test/__mocks__/workerMock.js",
|
|
"^!!raw-loader!": "<rootDir>/test/__mocks__/derivedMock.js",
|
|
"test/(.*)": "<rootDir>/test/$1",
|
|
},
|
|
globals: {
|
|
APPSMITH_FEATURE_CONFIGS: {
|
|
sentry: {
|
|
dsn: parseConfig("__APPSMITH_SENTRY_DSN__"),
|
|
release: parseConfig("__APPSMITH_SENTRY_RELEASE__"),
|
|
environment: parseConfig("__APPSMITH_SENTRY_ENVIRONMENT__"),
|
|
},
|
|
smartLook: {
|
|
id: parseConfig("__APPSMITH_SMART_LOOK_ID__"),
|
|
},
|
|
enableGoogleOAuth: parseConfig("__APPSMITH_OAUTH2_GOOGLE_CLIENT_ID__"),
|
|
enableGithubOAuth: parseConfig("__APPSMITH_OAUTH2_GITHUB_CLIENT_ID__"),
|
|
enableRapidAPI: parseConfig("__APPSMITH_MARKETPLACE_ENABLED__"),
|
|
segment: {
|
|
apiKey: parseConfig("__APPSMITH_SEGMENT_KEY__"),
|
|
ceKey: parseConfig("__APPSMITH_SEGMENT_CE_KEY__"),
|
|
},
|
|
fusioncharts: {
|
|
licenseKey: parseConfig("__APPSMITH_FUSIONCHARTS_LICENSE_KEY__"),
|
|
},
|
|
optimizely: parseConfig("__APPSMITH_OPTIMIZELY_KEY__"),
|
|
enableMixpanel: parseConfig("__APPSMITH_SEGMENT_KEY__"),
|
|
algolia: {
|
|
apiId: parseConfig("__APPSMITH_ALGOLIA_API_ID__"),
|
|
apiKey: parseConfig("__APPSMITH_ALGOLIA_API_KEY__"),
|
|
indexName: parseConfig("__APPSMITH_ALGOLIA_SEARCH_INDEX_NAME__"),
|
|
},
|
|
logLevel:
|
|
CONFIG_LOG_LEVEL_INDEX > -1
|
|
? LOG_LEVELS[CONFIG_LOG_LEVEL_INDEX]
|
|
: LOG_LEVELS[1],
|
|
google: parseConfig("__APPSMITH_GOOGLE_MAPS_API_KEY__"),
|
|
cloudHosting: "CLOUD_HOSTING",
|
|
enableTNCPP: parseConfig("__APPSMITH_TNC_PP__"),
|
|
appVersion: {
|
|
id: parseConfig("__APPSMITH_VERSION_ID__"),
|
|
releaseDate: parseConfig("__APPSMITH_VERSION_RELEASE_DATE__"),
|
|
},
|
|
intercomAppID: "APP_ID",
|
|
mailEnabled: parseConfig("__APPSMITH_MAIL_ENABLED__"),
|
|
|
|
disableTelemetry: "DISABLE_TELEMETRY" === "" || "DISABLE_TELEMETRY",
|
|
},
|
|
},
|
|
};
|