fix(mobile-templates): discard the generation idempotency key once the server gives a final answer
This commit is contained in:
parent
65320288d5
commit
7a8e1e3e25
5 changed files with 393 additions and 19 deletions
|
|
@ -29,9 +29,7 @@ import {
|
|||
type PreparedPortableFile,
|
||||
} from '../features/data-portability'
|
||||
import {
|
||||
clearGenerationIdempotencyKey,
|
||||
generateMeetingDocument,
|
||||
getOrCreateGenerationIdempotencyKey,
|
||||
generateMeetingDocumentOnce,
|
||||
loadTemplateLibrary,
|
||||
TemplateServiceError,
|
||||
} from '../features/templates'
|
||||
|
|
@ -417,18 +415,13 @@ export default function MeetingDetailScreen({
|
|||
setBusyKey('document-generate')
|
||||
setError(null)
|
||||
try {
|
||||
const idempotencyKey = await getOrCreateGenerationIdempotencyKey(
|
||||
user.id,
|
||||
meetingId,
|
||||
templateId,
|
||||
)
|
||||
const title = `${detail.meeting.title?.trim() || t('mobile.meetings.untitled')} · ${selectedDocumentTemplate.name}`
|
||||
.slice(0, 160)
|
||||
const generated = await generateMeetingDocument({
|
||||
const generated = await generateMeetingDocumentOnce({
|
||||
userId: user.id,
|
||||
accessToken: session.access_token,
|
||||
meetingId,
|
||||
templateId,
|
||||
idempotencyKey,
|
||||
title,
|
||||
})
|
||||
setDetail((current) => {
|
||||
|
|
@ -444,7 +437,6 @@ export default function MeetingDetailScreen({
|
|||
}
|
||||
})
|
||||
setExpandedDocumentId(generated.document.id)
|
||||
await clearGenerationIdempotencyKey(user.id, meetingId, templateId).catch(() => undefined)
|
||||
} catch (requestError) {
|
||||
setError(templateErrorMessage(requestError, t))
|
||||
} finally {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue