From 93c17a8a5bb3cea5d7ed8582bf04f44b2f3b57f1 Mon Sep 17 00:00:00 2001 From: Weiko Date: Thu, 13 Jun 2024 17:39:31 +0200 Subject: [PATCH] Remove timelineActivity featureFlag (#5856) --- .../components/EventRow.tsx | 1 + .../hooks/useTimelineActivities.tsx | 1 + .../activity/components/EventRowActivity.tsx | 20 ++++++++++++---- .../components/ShowPageRightContainer.tsx | 11 +-------- .../listeners/entity-events-to-db.listener.ts | 23 ------------------- .../workspace-query-runner.module.ts | 4 ---- 6 files changed, 18 insertions(+), 42 deletions(-) diff --git a/packages/twenty-front/src/modules/activities/timelineActivities/components/EventRow.tsx b/packages/twenty-front/src/modules/activities/timelineActivities/components/EventRow.tsx index b22b02340..b1072ee57 100644 --- a/packages/twenty-front/src/modules/activities/timelineActivities/components/EventRow.tsx +++ b/packages/twenty-front/src/modules/activities/timelineActivities/components/EventRow.tsx @@ -43,6 +43,7 @@ const StyledItemTitleDate = styled.div` gap: ${({ theme }) => theme.spacing(2)}; justify-content: flex-end; margin-left: auto; + align-self: baseline; `; const StyledVerticalLineContainer = styled.div` diff --git a/packages/twenty-front/src/modules/activities/timelineActivities/hooks/useTimelineActivities.tsx b/packages/twenty-front/src/modules/activities/timelineActivities/hooks/useTimelineActivities.tsx index 60aff85e9..a6173b5d9 100644 --- a/packages/twenty-front/src/modules/activities/timelineActivities/hooks/useTimelineActivities.tsx +++ b/packages/twenty-front/src/modules/activities/timelineActivities/hooks/useTimelineActivities.tsx @@ -38,6 +38,7 @@ export const useTimelineActivities = ( workspaceMember: true, person: true, }, + fetchPolicy: 'cache-and-network', }); return { diff --git a/packages/twenty-front/src/modules/activities/timelineActivities/rows/activity/components/EventRowActivity.tsx b/packages/twenty-front/src/modules/activities/timelineActivities/rows/activity/components/EventRowActivity.tsx index 50d58b9c1..dbf363f53 100644 --- a/packages/twenty-front/src/modules/activities/timelineActivities/rows/activity/components/EventRowActivity.tsx +++ b/packages/twenty-front/src/modules/activities/timelineActivities/rows/activity/components/EventRowActivity.tsx @@ -1,4 +1,5 @@ import styled from '@emotion/styled'; +import { useRecoilState } from 'recoil'; import { useOpenActivityRightDrawer } from '@/activities/hooks/useOpenActivityRightDrawer'; import { @@ -6,6 +7,7 @@ import { StyledEventRowItemAction, StyledEventRowItemColumn, } from '@/activities/timelineActivities/rows/components/EventRowDynamicComponent'; +import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; type EventRowActivityProps = EventRowDynamicComponentProps; @@ -26,15 +28,23 @@ export const EventRowActivity = ({ throw new Error('Could not find linked record id for event'); } + const [activityInStore] = useRecoilState( + recordStoreFamilyState(event.linkedRecordId), + ); + return ( <> {authorFullName} {eventAction} - openActivityRightDrawer(event.linkedRecordId)} - > - {event.linkedRecordCachedName} - + {activityInStore ? ( + openActivityRightDrawer(event.linkedRecordId)} + > + {event.linkedRecordCachedName} + + ) : ( + {event.linkedRecordCachedName} + )} ); }; diff --git a/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx b/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx index 1ccef018b..be7c067f3 100644 --- a/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx +++ b/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageRightContainer.tsx @@ -15,8 +15,6 @@ import { EmailThreads } from '@/activities/emails/components/EmailThreads'; import { Attachments } from '@/activities/files/components/Attachments'; import { Notes } from '@/activities/notes/components/Notes'; import { ObjectTasks } from '@/activities/tasks/components/ObjectTasks'; -import { Timeline } from '@/activities/timeline/components/Timeline'; -import { TimelineQueryEffect } from '@/activities/timeline/components/TimelineQueryEffect'; import { TimelineActivities } from '@/activities/timelineActivities/components/TimelineActivities'; import { TimelineActivitiesQueryEffect } from '@/activities/timelineActivities/components/TimelineActivitiesQueryEffect'; import { ActivityTargetableObject } from '@/activities/types/ActivityTargetableEntity'; @@ -24,7 +22,6 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { TabList } from '@/ui/layout/tab/components/TabList'; import { useTabList } from '@/ui/layout/tab/hooks/useTabList'; import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile'; -import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; const StyledShowPageRightContainer = styled.div<{ isMobile: boolean }>` display: flex; @@ -84,7 +81,6 @@ export const ShowPageRightContainer = ({ ].includes(targetObjectNameSingular); const shouldDisplayCalendarTab = isCompanyOrPerson; - const shouldDisplayLogTab = useIsFeatureEnabled('IS_EVENT_OBJECT_ENABLED'); const shouldDisplayEmailsTab = emails && isCompanyOrPerson; const isMobile = useIsMobile() || isRightDrawer; @@ -122,18 +118,13 @@ export const ShowPageRightContainer = ({ const renderActiveTabContent = () => { switch (activeTabId) { case 'timeline': - return shouldDisplayLogTab ? ( + return ( <> - ) : ( - <> - - - ); case 'summary': return summary; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/entity-events-to-db.listener.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/entity-events-to-db.listener.ts index 663932ad9..755173ba6 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/entity-events-to-db.listener.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/listeners/entity-events-to-db.listener.ts @@ -1,16 +1,9 @@ import { Inject, Injectable } from '@nestjs/common'; import { OnEvent } from '@nestjs/event-emitter'; -import { InjectRepository } from '@nestjs/typeorm'; - -import { Repository } from 'typeorm'; import { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants'; import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service'; import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/types/object-record-create.event'; -import { - FeatureFlagEntity, - FeatureFlagKeys, -} from 'src/engine/core-modules/feature-flag/feature-flag.entity'; import { objectRecordChangedValues } from 'src/engine/integrations/event-emitter/utils/object-record-changed-values'; import { ObjectRecordUpdateEvent } from 'src/engine/integrations/event-emitter/types/object-record-update.event'; import { ObjectRecordBaseEvent } from 'src/engine/integrations/event-emitter/types/object-record.base.event'; @@ -22,8 +15,6 @@ export class EntityEventsToDbListener { constructor( @Inject(MessageQueue.entityEventsToDbQueue) private readonly messageQueueService: MessageQueueService, - @InjectRepository(FeatureFlagEntity, 'core') - private readonly featureFlagRepository: Repository, ) {} @OnEvent('*.created') @@ -53,20 +44,6 @@ export class EntityEventsToDbListener { return; } - const isEventObjectEnabledFeatureFlag = - await this.featureFlagRepository.findOneBy({ - workspaceId: payload.workspaceId, - key: FeatureFlagKeys.IsEventObjectEnabled, - value: true, - }); - - if ( - !isEventObjectEnabledFeatureFlag || - !isEventObjectEnabledFeatureFlag.value - ) { - return; - } - this.messageQueueService.add( CreateAuditLogFromInternalEvent.name, payload, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module.ts index 7d1b990c2..f7358021b 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-runner.module.ts @@ -1,13 +1,10 @@ import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; import { WorkspaceQueryBuilderModule } from 'src/engine/api/graphql/workspace-query-builder/workspace-query-builder.module'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; import { WorkspacePreQueryHookModule } from 'src/engine/api/graphql/workspace-query-runner/workspace-pre-query-hook/workspace-pre-query-hook.module'; import { workspaceQueryRunnerFactories } from 'src/engine/api/graphql/workspace-query-runner/factories'; import { AuthModule } from 'src/engine/core-modules/auth/auth.module'; -import { FeatureFlagEntity } from 'src/engine/core-modules/feature-flag/feature-flag.entity'; -import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity'; import { ObjectMetadataRepositoryModule } from 'src/engine/object-metadata-repository/object-metadata-repository.module'; import { TelemetryListener } from 'src/engine/api/graphql/workspace-query-runner/listeners/telemetry.listener'; @@ -24,7 +21,6 @@ import { EntityEventsToDbListener } from './listeners/entity-events-to-db.listen WorkspaceQueryBuilderModule, WorkspaceDataSourceModule, WorkspacePreQueryHookModule, - TypeOrmModule.forFeature([Workspace, FeatureFlagEntity], 'core'), ObjectMetadataRepositoryModule.forFeature([WorkspaceMemberWorkspaceEntity]), AnalyticsModule, ],