hunk.code_window:         // We use a different analytics instance for sending events about the analytics system itself so we don't end up
           // in a recursive state.
           final LogProcessor logProcessorWithErrorHandler = new LogProcessor();
           final Analytics analytics = Analytics.builder(writeKey).log(logProcessorWithErrorHandler).build();
           logProcessorWithErrorHandler.onError(logData -> {
               analyticsOnAnalytics.enqueue(TrackMessage.builder("segment_error")
                       .properties(Map.of(
                               "message", logData.getMessage(),
                               "error", logData.getError().getMessage(),
  
hunk.labels: keep keep keep keep replace keep keep keep keep keep
hunk.after_edit:         final Analytics analytics = Analytics.builder(analyticsWriteKey).log(logProcessorWithErrorHandler).build();
  
hunk.file_path: app/server/appsmith-server/src/main/java/com/appsmith/server/configurations/SegmentConfig.java
hunk.type: replace
file: import { AppState } from "reducers";
  import { createSelector } from "reselect";
  
  import { TableFilterPaneReduxState } from "reducers/uiReducers/tableFilterPaneReducer";
  import { getSelectedWidget, getSelectedWidgets } from "./ui";
  
  export const getTableFilterState = (
    state: AppState,
  ): TableFilterPaneReduxState => state.ui.tableFilterPane;
  
  const isResizingorDragging = (state: AppState) =>
    state.ui.widgetDragResize.isResizing || state.ui.widgetDragResize.isDragging;
  
  export const getIsTableFilterPaneVisible = createSelector(
    getTableFilterState,
    isResizingorDragging,
    getSelectedWidget,
    getSelectedWidgets,
    (
      pane: TableFilterPaneReduxState,
      isResizingorDragging: boolean,
      lastSelectedWidget,
      widgets,
    ) => {
      const isWidgetSelected = pane?.widgetId
        ? lastSelectedWidget === pane.widgetId || widgets.includes(pane.widgetId)
        : false;
      const multipleWidgetsSelected = !!(widgets && widgets.length >= 2);
      return !!(
        isWidgetSelected &&
        !multipleWidgetsSelected &&
        !isResizingorDragging &&
        pane.isVisible &&
        pane.widgetId
      );
    },
  );
  