import { useParams } from 'common' import { CriticalIcon } from 'ui' import { isValidRetryPolicy } from './ReplicationPipelineStatus/ReplicationPipelineStatus.utils' import { RetryCountdown } from './RetryCountdown' import { InlineLink } from '@/components/ui/InlineLink' import { ReplicationPipelineTableStatus } from '@/data/replication/pipeline-replication-status-query' interface ErroredTableDetailsProps { table: ReplicationPipelineTableStatus } export const ErroredTableDetails = ({ table }: ErroredTableDetailsProps) => { const { ref: projectRef } = useParams() const state = table.state as Extract const tableName = table.table_name 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. Use the table actions menu on the right to view the full error details.

) : retryPolicy === 'manual_retry' ? (

Action required to continue replication

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

Restart table replication from the table actions menu on the right. The pipeline will restart automatically.

) : retryPolicy === 'timed_retry' ? (

Replication will retry automatically. The pipeline will restart to apply the retry.

) : null}
) }