mirror of
https://github.com/tuskyapp/Tusky
synced 2025-02-06 05:53:18 +01:00
don't spam endless posts when trying to schedule on GoToSocial (#4705)
closes #4703
This commit is contained in:
parent
997fd14c81
commit
c45a3320d2
@ -4,7 +4,6 @@ import com.keylesspalace.tusky.TabData
|
||||
import com.keylesspalace.tusky.entity.Account
|
||||
import com.keylesspalace.tusky.entity.Notification
|
||||
import com.keylesspalace.tusky.entity.Poll
|
||||
import com.keylesspalace.tusky.entity.ScheduledStatus
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
|
||||
data class StatusChangedEvent(val status: Status) : Event
|
||||
@ -13,7 +12,7 @@ data class BlockEvent(val accountId: String) : Event
|
||||
data class MuteEvent(val accountId: String) : Event
|
||||
data class StatusDeletedEvent(val statusId: String) : Event
|
||||
data class StatusComposedEvent(val status: Status) : Event
|
||||
data class StatusScheduledEvent(val scheduledStatus: ScheduledStatus) : Event
|
||||
data class StatusScheduledEvent(val scheduledStatusId: String) : Event
|
||||
data class ProfileEditedEvent(val newProfileData: Account) : Event
|
||||
data class PreferenceChangedEvent(val preferenceKey: String) : Event
|
||||
data class MainTabsChangedEvent(val newTabs: List<TabData>) : Event
|
||||
|
@ -25,3 +25,10 @@ data class ScheduledStatus(
|
||||
val params: StatusParams,
|
||||
@Json(name = "media_attachments") val mediaAttachments: List<Attachment>
|
||||
)
|
||||
|
||||
// minimal class to avoid json parsing errors with servers that don't support scheduling
|
||||
// https://github.com/tuskyapp/Tusky/issues/4703
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class ScheduledStatusReply(
|
||||
val id: String,
|
||||
)
|
||||
|
@ -39,6 +39,7 @@ import com.keylesspalace.tusky.entity.NotificationSubscribeResult
|
||||
import com.keylesspalace.tusky.entity.Poll
|
||||
import com.keylesspalace.tusky.entity.Relationship
|
||||
import com.keylesspalace.tusky.entity.ScheduledStatus
|
||||
import com.keylesspalace.tusky.entity.ScheduledStatusReply
|
||||
import com.keylesspalace.tusky.entity.SearchResult
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
import com.keylesspalace.tusky.entity.StatusContext
|
||||
@ -207,7 +208,7 @@ interface MastodonApi {
|
||||
@Header(DOMAIN_HEADER) domain: String,
|
||||
@Header("Idempotency-Key") idempotencyKey: String,
|
||||
@Body status: NewStatus
|
||||
): NetworkResult<ScheduledStatus>
|
||||
): NetworkResult<ScheduledStatusReply>
|
||||
|
||||
@GET("api/v1/statuses/{id}")
|
||||
suspend fun status(@Path("id") statusId: String): NetworkResult<Status>
|
||||
|
@ -47,7 +47,7 @@ import com.keylesspalace.tusky.entity.Attachment
|
||||
import com.keylesspalace.tusky.entity.MediaAttribute
|
||||
import com.keylesspalace.tusky.entity.NewPoll
|
||||
import com.keylesspalace.tusky.entity.NewStatus
|
||||
import com.keylesspalace.tusky.entity.ScheduledStatus
|
||||
import com.keylesspalace.tusky.entity.ScheduledStatusReply
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
import com.keylesspalace.tusky.network.MastodonApi
|
||||
import com.keylesspalace.tusky.util.getParcelableExtraCompat
|
||||
@ -290,7 +290,7 @@ class SendStatusService : Service() {
|
||||
mediaUploader.cancelUploadScope(*statusToSend.media.map { it.localId }.toIntArray())
|
||||
|
||||
if (scheduled) {
|
||||
eventHub.dispatch(StatusScheduledEvent(sentStatus as ScheduledStatus))
|
||||
eventHub.dispatch(StatusScheduledEvent((sentStatus as ScheduledStatusReply).id))
|
||||
} else if (!isNew) {
|
||||
eventHub.dispatch(StatusChangedEvent(sentStatus as Status))
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user