|
|
|
@ -27,11 +27,13 @@ export const COMPOSE_REPLY_CANCEL = 'COMPOSE_REPLY_CANCEL'; |
|
|
|
|
export const COMPOSE_DIRECT = 'COMPOSE_DIRECT'; |
|
|
|
|
export const COMPOSE_MENTION = 'COMPOSE_MENTION'; |
|
|
|
|
export const COMPOSE_RESET = 'COMPOSE_RESET'; |
|
|
|
|
export const COMPOSE_UPLOAD_REQUEST = 'COMPOSE_UPLOAD_REQUEST'; |
|
|
|
|
export const COMPOSE_UPLOAD_SUCCESS = 'COMPOSE_UPLOAD_SUCCESS'; |
|
|
|
|
export const COMPOSE_UPLOAD_FAIL = 'COMPOSE_UPLOAD_FAIL'; |
|
|
|
|
export const COMPOSE_UPLOAD_PROGRESS = 'COMPOSE_UPLOAD_PROGRESS'; |
|
|
|
|
export const COMPOSE_UPLOAD_UNDO = 'COMPOSE_UPLOAD_UNDO'; |
|
|
|
|
|
|
|
|
|
export const COMPOSE_UPLOAD_REQUEST = 'COMPOSE_UPLOAD_REQUEST'; |
|
|
|
|
export const COMPOSE_UPLOAD_SUCCESS = 'COMPOSE_UPLOAD_SUCCESS'; |
|
|
|
|
export const COMPOSE_UPLOAD_FAIL = 'COMPOSE_UPLOAD_FAIL'; |
|
|
|
|
export const COMPOSE_UPLOAD_PROGRESS = 'COMPOSE_UPLOAD_PROGRESS'; |
|
|
|
|
export const COMPOSE_UPLOAD_PROCESSING = 'COMPOSE_UPLOAD_PROCESSING'; |
|
|
|
|
export const COMPOSE_UPLOAD_UNDO = 'COMPOSE_UPLOAD_UNDO'; |
|
|
|
|
|
|
|
|
|
export const THUMBNAIL_UPLOAD_REQUEST = 'THUMBNAIL_UPLOAD_REQUEST'; |
|
|
|
|
export const THUMBNAIL_UPLOAD_SUCCESS = 'THUMBNAIL_UPLOAD_SUCCESS'; |
|
|
|
@ -307,13 +309,16 @@ export function uploadCompose(files) { |
|
|
|
|
if (status === 200) { |
|
|
|
|
dispatch(uploadComposeSuccess(data, f)); |
|
|
|
|
} else if (status === 202) { |
|
|
|
|
dispatch(uploadComposeProcessing()); |
|
|
|
|
|
|
|
|
|
let tryCount = 1; |
|
|
|
|
|
|
|
|
|
const poll = () => { |
|
|
|
|
api(getState).get(`/api/v1/media/${data.id}`).then(response => { |
|
|
|
|
if (response.status === 200) { |
|
|
|
|
dispatch(uploadComposeSuccess(response.data, f)); |
|
|
|
|
} else if (response.status === 206) { |
|
|
|
|
let retryAfter = (Math.log2(tryCount) || 1) * 1000; |
|
|
|
|
const retryAfter = (Math.log2(tryCount) || 1) * 1000; |
|
|
|
|
tryCount += 1; |
|
|
|
|
setTimeout(() => poll(), retryAfter); |
|
|
|
|
} |
|
|
|
@ -328,6 +333,10 @@ export function uploadCompose(files) { |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
export const uploadComposeProcessing = () => ({ |
|
|
|
|
type: COMPOSE_UPLOAD_PROCESSING, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
export const uploadThumbnail = (id, file) => (dispatch, getState) => { |
|
|
|
|
dispatch(uploadThumbnailRequest()); |
|
|
|
|
|
|
|
|
|