import { useParams } from 'common' import { InlineLink } from 'components/ui/InlineLink' import { ErrorDetailsButton } from './ErrorDetailsButton' import { TableState } from './ReplicationPipelineStatus/ReplicationPipelineStatus.types' import { isValidRetryPolicy } from './ReplicationPipelineStatus/ReplicationPipelineStatus.utils' import { ResetTableButton } from './ResetTableButton' import { RetryCountdown } from './RetryCountdown' interface ErroredTableDetailsProps { state: Extract tableName: string tableId: number } export const ErroredTableDetails = ({ state, tableName, tableId }: ErroredTableDetailsProps) => { const { ref: projectRef } = useParams() const retryPolicy = state.retry_policy.policy if (!isValidRetryPolicy(state.retry_policy)) { return (
{state.solution &&
{state.solution}
}
Invalid retry policy configuration
) } return (
{retryPolicy === 'no_retry' ? (

This error requires manual intervention from our{' '} support . Alternatively, you may also recreate the pipeline.

) : retryPolicy === 'manual_retry' ? (

{state.solution} {state.solution && !/[.!?]$/.test(state.solution.trim()) && '.'}

You can reset the table to start replication from scratch.

) : retryPolicy === 'timed_retry' ? (

A retry will be triggered automatically by restarting the pipeline on this table.

) : null}
) }