## Description Adds a helper function which is overridden in EE to transform logs to the correct format and identifiers PR for https://github.com/appsmithorg/appsmith-ee/pull/3900 ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!IMPORTANT] > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/8627882541> > Commit: `a61e11c3ccf2a3c744f728ca01fc8bfc3e2f580b` > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8627882541&attempt=2" target="_blank">Click here!</a> > All cypress tests have passed 🎉🎉🎉 <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced the app's debugging capabilities by introducing a new function to process error logs more efficiently. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
144 lines
3.6 KiB
TypeScript
144 lines
3.6 KiB
TypeScript
import { ReduxActionTypes } from "@appsmith/constants/ReduxActionConstants";
|
|
import type { Log, Message, SourceEntity } from "entities/AppsmithConsole";
|
|
import type { ENTITY_TYPE } from "@appsmith/entities/AppsmithConsole/utils";
|
|
import type {
|
|
CanvasDebuggerState,
|
|
DebuggerContext,
|
|
} from "reducers/uiReducers/debuggerReducer";
|
|
import type { EventName } from "@appsmith/utils/analyticsUtilTypes";
|
|
import type { APP_MODE } from "entities/App";
|
|
|
|
export interface LogDebuggerErrorAnalyticsPayload {
|
|
entityName: string;
|
|
entityId: string;
|
|
entityType: ENTITY_TYPE;
|
|
eventName: EventName;
|
|
propertyPath: string;
|
|
errorId?: string;
|
|
errorMessages?: Message[];
|
|
errorMessage?: Message["message"];
|
|
errorType?: Message["type"];
|
|
errorSubType?: Message["subType"];
|
|
analytics?: Log["analytics"];
|
|
appMode: APP_MODE;
|
|
source: SourceEntity;
|
|
logId: string;
|
|
environmentId?: string;
|
|
environmentName?: string;
|
|
}
|
|
|
|
export type DeleteErrorLogPayload = {
|
|
id: string;
|
|
analytics?: Log["analytics"];
|
|
}[];
|
|
|
|
export const debuggerLogInit = (payload: Log[]) => ({
|
|
type: ReduxActionTypes.DEBUGGER_LOG_INIT,
|
|
payload,
|
|
});
|
|
|
|
export const debuggerLog = (payload: Log[]) => ({
|
|
type: ReduxActionTypes.DEBUGGER_LOG,
|
|
payload,
|
|
});
|
|
|
|
export const clearLogs = () => ({
|
|
type: ReduxActionTypes.CLEAR_DEBUGGER_LOGS,
|
|
});
|
|
|
|
export const showDebugger = (payload?: boolean) => ({
|
|
type: ReduxActionTypes.SHOW_DEBUGGER,
|
|
payload,
|
|
});
|
|
|
|
// Add an error
|
|
export const addErrorLogInit = (payload: Log[]) => ({
|
|
type: ReduxActionTypes.DEBUGGER_ADD_ERROR_LOG_INIT,
|
|
payload,
|
|
});
|
|
|
|
export const addErrorLogs = (payload: Log[]) => ({
|
|
type: ReduxActionTypes.DEBUGGER_ADD_ERROR_LOGS,
|
|
payload,
|
|
});
|
|
|
|
export const deleteErrorLogsInit = (payload: DeleteErrorLogPayload) => ({
|
|
type: ReduxActionTypes.DEBUGGER_DELETE_ERROR_LOG_INIT,
|
|
payload,
|
|
});
|
|
|
|
export const deleteErrorLog = (ids: string[]) => ({
|
|
type: ReduxActionTypes.DEBUGGER_DELETE_ERROR_LOG,
|
|
payload: ids,
|
|
});
|
|
|
|
export const hideDebuggerErrors = (payload: boolean) => ({
|
|
type: ReduxActionTypes.HIDE_DEBUGGER_ERRORS,
|
|
payload,
|
|
});
|
|
|
|
// set the selected tab in the debugger.
|
|
export const setDebuggerSelectedTab = (selectedTab: string) => {
|
|
return {
|
|
type: ReduxActionTypes.SET_DEBUGGER_SELECTED_TAB,
|
|
selectedTab,
|
|
};
|
|
};
|
|
|
|
// set the selected filter in the debugger.
|
|
export const setDebuggerSelectedFilter = (selectedFilter: string) => {
|
|
return {
|
|
type: ReduxActionTypes.SET_DEBUGGER_SELECTED_FILTER,
|
|
selectedFilter,
|
|
};
|
|
};
|
|
|
|
// set the height of the response pane in the debugger.
|
|
export const setResponsePaneHeight = (height: number) => {
|
|
return {
|
|
type: ReduxActionTypes.SET_RESPONSE_PANE_HEIGHT,
|
|
height,
|
|
};
|
|
};
|
|
|
|
// set the height of the response pane in the debugger.
|
|
export const setErrorCount = (count: number) => {
|
|
return {
|
|
type: ReduxActionTypes.SET_ERROR_COUNT,
|
|
count,
|
|
};
|
|
};
|
|
|
|
// set the height of the response pane in the debugger.
|
|
export const setResponsePaneScrollPosition = (position: number) => {
|
|
return {
|
|
type: ReduxActionTypes.SET_RESPONSE_PANE_SCROLL_POSITION,
|
|
position,
|
|
};
|
|
};
|
|
|
|
//toggle expand error log item state.
|
|
export const toggleExpandErrorLogItem = (id: string, isExpanded: boolean) => {
|
|
return {
|
|
type: ReduxActionTypes.TOGGLE_EXPAND_ERROR_LOG_ITEM,
|
|
payload: { id, isExpanded },
|
|
};
|
|
};
|
|
|
|
//set the debugger context in store.
|
|
export const setDebuggerContext = (context: DebuggerContext) => {
|
|
return {
|
|
type: ReduxActionTypes.SET_DEBUGGER_CONTEXT,
|
|
payload: { context },
|
|
};
|
|
};
|
|
|
|
export const setCanvasDebuggerState = (
|
|
payload: Partial<CanvasDebuggerState>,
|
|
) => {
|
|
return {
|
|
type: ReduxActionTypes.SET_CANVAS_DEBUGGER_STATE,
|
|
payload,
|
|
};
|
|
};
|