Remove timelineActivity featureFlag (#5856)
This commit is contained in:
@ -43,6 +43,7 @@ const StyledItemTitleDate = styled.div`
|
|||||||
gap: ${({ theme }) => theme.spacing(2)};
|
gap: ${({ theme }) => theme.spacing(2)};
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
|
align-self: baseline;
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const StyledVerticalLineContainer = styled.div`
|
const StyledVerticalLineContainer = styled.div`
|
||||||
|
|||||||
@ -38,6 +38,7 @@ export const useTimelineActivities = (
|
|||||||
workspaceMember: true,
|
workspaceMember: true,
|
||||||
person: true,
|
person: true,
|
||||||
},
|
},
|
||||||
|
fetchPolicy: 'cache-and-network',
|
||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import styled from '@emotion/styled';
|
import styled from '@emotion/styled';
|
||||||
|
import { useRecoilState } from 'recoil';
|
||||||
|
|
||||||
import { useOpenActivityRightDrawer } from '@/activities/hooks/useOpenActivityRightDrawer';
|
import { useOpenActivityRightDrawer } from '@/activities/hooks/useOpenActivityRightDrawer';
|
||||||
import {
|
import {
|
||||||
@ -6,6 +7,7 @@ import {
|
|||||||
StyledEventRowItemAction,
|
StyledEventRowItemAction,
|
||||||
StyledEventRowItemColumn,
|
StyledEventRowItemColumn,
|
||||||
} from '@/activities/timelineActivities/rows/components/EventRowDynamicComponent';
|
} from '@/activities/timelineActivities/rows/components/EventRowDynamicComponent';
|
||||||
|
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
|
||||||
|
|
||||||
type EventRowActivityProps = EventRowDynamicComponentProps;
|
type EventRowActivityProps = EventRowDynamicComponentProps;
|
||||||
|
|
||||||
@ -26,15 +28,23 @@ export const EventRowActivity = ({
|
|||||||
throw new Error('Could not find linked record id for event');
|
throw new Error('Could not find linked record id for event');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const [activityInStore] = useRecoilState(
|
||||||
|
recordStoreFamilyState(event.linkedRecordId),
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<StyledEventRowItemColumn>{authorFullName}</StyledEventRowItemColumn>
|
<StyledEventRowItemColumn>{authorFullName}</StyledEventRowItemColumn>
|
||||||
<StyledEventRowItemAction>{eventAction}</StyledEventRowItemAction>
|
<StyledEventRowItemAction>{eventAction}</StyledEventRowItemAction>
|
||||||
<StyledLinkedActivity
|
{activityInStore ? (
|
||||||
onClick={() => openActivityRightDrawer(event.linkedRecordId)}
|
<StyledLinkedActivity
|
||||||
>
|
onClick={() => openActivityRightDrawer(event.linkedRecordId)}
|
||||||
{event.linkedRecordCachedName}
|
>
|
||||||
</StyledLinkedActivity>
|
{event.linkedRecordCachedName}
|
||||||
|
</StyledLinkedActivity>
|
||||||
|
) : (
|
||||||
|
<span>{event.linkedRecordCachedName}</span>
|
||||||
|
)}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -15,8 +15,6 @@ import { EmailThreads } from '@/activities/emails/components/EmailThreads';
|
|||||||
import { Attachments } from '@/activities/files/components/Attachments';
|
import { Attachments } from '@/activities/files/components/Attachments';
|
||||||
import { Notes } from '@/activities/notes/components/Notes';
|
import { Notes } from '@/activities/notes/components/Notes';
|
||||||
import { ObjectTasks } from '@/activities/tasks/components/ObjectTasks';
|
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 { TimelineActivities } from '@/activities/timelineActivities/components/TimelineActivities';
|
||||||
import { TimelineActivitiesQueryEffect } from '@/activities/timelineActivities/components/TimelineActivitiesQueryEffect';
|
import { TimelineActivitiesQueryEffect } from '@/activities/timelineActivities/components/TimelineActivitiesQueryEffect';
|
||||||
import { ActivityTargetableObject } from '@/activities/types/ActivityTargetableEntity';
|
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 { TabList } from '@/ui/layout/tab/components/TabList';
|
||||||
import { useTabList } from '@/ui/layout/tab/hooks/useTabList';
|
import { useTabList } from '@/ui/layout/tab/hooks/useTabList';
|
||||||
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
|
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
|
||||||
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
|
|
||||||
|
|
||||||
const StyledShowPageRightContainer = styled.div<{ isMobile: boolean }>`
|
const StyledShowPageRightContainer = styled.div<{ isMobile: boolean }>`
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -84,7 +81,6 @@ export const ShowPageRightContainer = ({
|
|||||||
].includes(targetObjectNameSingular);
|
].includes(targetObjectNameSingular);
|
||||||
|
|
||||||
const shouldDisplayCalendarTab = isCompanyOrPerson;
|
const shouldDisplayCalendarTab = isCompanyOrPerson;
|
||||||
const shouldDisplayLogTab = useIsFeatureEnabled('IS_EVENT_OBJECT_ENABLED');
|
|
||||||
const shouldDisplayEmailsTab = emails && isCompanyOrPerson;
|
const shouldDisplayEmailsTab = emails && isCompanyOrPerson;
|
||||||
|
|
||||||
const isMobile = useIsMobile() || isRightDrawer;
|
const isMobile = useIsMobile() || isRightDrawer;
|
||||||
@ -122,18 +118,13 @@ export const ShowPageRightContainer = ({
|
|||||||
const renderActiveTabContent = () => {
|
const renderActiveTabContent = () => {
|
||||||
switch (activeTabId) {
|
switch (activeTabId) {
|
||||||
case 'timeline':
|
case 'timeline':
|
||||||
return shouldDisplayLogTab ? (
|
return (
|
||||||
<>
|
<>
|
||||||
<TimelineActivitiesQueryEffect
|
<TimelineActivitiesQueryEffect
|
||||||
targetableObject={targetableObject}
|
targetableObject={targetableObject}
|
||||||
/>
|
/>
|
||||||
<TimelineActivities targetableObject={targetableObject} />
|
<TimelineActivities targetableObject={targetableObject} />
|
||||||
</>
|
</>
|
||||||
) : (
|
|
||||||
<>
|
|
||||||
<TimelineQueryEffect targetableObject={targetableObject} />
|
|
||||||
<Timeline loading={loading} targetableObject={targetableObject} />
|
|
||||||
</>
|
|
||||||
);
|
);
|
||||||
case 'summary':
|
case 'summary':
|
||||||
return summary;
|
return summary;
|
||||||
|
|||||||
@ -1,16 +1,9 @@
|
|||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import { OnEvent } from '@nestjs/event-emitter';
|
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 { MessageQueue } from 'src/engine/integrations/message-queue/message-queue.constants';
|
||||||
import { MessageQueueService } from 'src/engine/integrations/message-queue/services/message-queue.service';
|
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 { 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 { 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 { 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';
|
import { ObjectRecordBaseEvent } from 'src/engine/integrations/event-emitter/types/object-record.base.event';
|
||||||
@ -22,8 +15,6 @@ export class EntityEventsToDbListener {
|
|||||||
constructor(
|
constructor(
|
||||||
@Inject(MessageQueue.entityEventsToDbQueue)
|
@Inject(MessageQueue.entityEventsToDbQueue)
|
||||||
private readonly messageQueueService: MessageQueueService,
|
private readonly messageQueueService: MessageQueueService,
|
||||||
@InjectRepository(FeatureFlagEntity, 'core')
|
|
||||||
private readonly featureFlagRepository: Repository<FeatureFlagEntity>,
|
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
@OnEvent('*.created')
|
@OnEvent('*.created')
|
||||||
@ -53,20 +44,6 @@ export class EntityEventsToDbListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const isEventObjectEnabledFeatureFlag =
|
|
||||||
await this.featureFlagRepository.findOneBy({
|
|
||||||
workspaceId: payload.workspaceId,
|
|
||||||
key: FeatureFlagKeys.IsEventObjectEnabled,
|
|
||||||
value: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (
|
|
||||||
!isEventObjectEnabledFeatureFlag ||
|
|
||||||
!isEventObjectEnabledFeatureFlag.value
|
|
||||||
) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.messageQueueService.add<ObjectRecordBaseEvent>(
|
this.messageQueueService.add<ObjectRecordBaseEvent>(
|
||||||
CreateAuditLogFromInternalEvent.name,
|
CreateAuditLogFromInternalEvent.name,
|
||||||
payload,
|
payload,
|
||||||
|
|||||||
@ -1,13 +1,10 @@
|
|||||||
import { Module } from '@nestjs/common';
|
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 { WorkspaceQueryBuilderModule } from 'src/engine/api/graphql/workspace-query-builder/workspace-query-builder.module';
|
||||||
import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.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 { 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 { workspaceQueryRunnerFactories } from 'src/engine/api/graphql/workspace-query-runner/factories';
|
||||||
import { AuthModule } from 'src/engine/core-modules/auth/auth.module';
|
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 { 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 { ObjectMetadataRepositoryModule } from 'src/engine/object-metadata-repository/object-metadata-repository.module';
|
||||||
import { TelemetryListener } from 'src/engine/api/graphql/workspace-query-runner/listeners/telemetry.listener';
|
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,
|
WorkspaceQueryBuilderModule,
|
||||||
WorkspaceDataSourceModule,
|
WorkspaceDataSourceModule,
|
||||||
WorkspacePreQueryHookModule,
|
WorkspacePreQueryHookModule,
|
||||||
TypeOrmModule.forFeature([Workspace, FeatureFlagEntity], 'core'),
|
|
||||||
ObjectMetadataRepositoryModule.forFeature([WorkspaceMemberWorkspaceEntity]),
|
ObjectMetadataRepositoryModule.forFeature([WorkspaceMemberWorkspaceEntity]),
|
||||||
AnalyticsModule,
|
AnalyticsModule,
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user