Skip to content

Commit 8d00b32

Browse files
authored
Merge pull request #1077 from DimensionDev/bugfix/timeline_key
fix timeline key
2 parents 1d851e8 + 1eb54b1 commit 8d00b32

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

shared/src/commonMain/kotlin/dev/dimension/flare/ui/model/mapper/Render.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,22 @@ import dev.dimension.flare.ui.render.toUi
2222
import kotlinx.collections.immutable.toImmutableList
2323
import kotlin.time.Instant
2424

25-
internal fun DbPagingTimelineWithStatus.render(event: StatusEvent?): UiTimeline =
25+
internal fun DbPagingTimelineWithStatus.render(
26+
event: StatusEvent?,
27+
useDbKey: Boolean = false,
28+
): UiTimeline =
2629
status.status.data.content
2730
.render(
2831
event,
2932
references =
3033
status.references.associate { it.reference.referenceType to it.status.data.content },
31-
).copy(dbKey = timeline._id)
34+
).let {
35+
if (useDbKey) {
36+
it.copy(dbKey = timeline.accountType.toString())
37+
} else {
38+
it
39+
}
40+
}
3241

3342
internal fun DbStatusWithReference.render(event: StatusEvent?): UiTimeline =
3443
status.data.content.render(

shared/src/commonMain/kotlin/dev/dimension/flare/ui/presenter/home/MixedTimelinePresenter.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class MixedTimelinePresenter(
1414
) : TimelinePresenter(),
1515
KoinComponent {
1616
private val database: CacheDatabase by inject()
17+
override val useDbKeyInItemKey: Boolean = true
1718
override val loader: Flow<BaseTimelineLoader>
1819
get() =
1920
combine(subTimelinePresenter.map { it.loader }) {

shared/src/commonMain/kotlin/dev/dimension/flare/ui/presenter/home/TimelinePresenter.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public abstract class TimelinePresenter :
107107
}
108108
}
109109
}?.dataSource
110-
data.render(dataSource)
110+
data.render(dataSource, useDbKeyInItemKey)
111111
}
112112
}
113113
}
@@ -155,6 +155,7 @@ public abstract class TimelinePresenter :
155155
}
156156

157157
internal abstract val loader: Flow<BaseTimelineLoader>
158+
protected open val useDbKeyInItemKey: Boolean = false
158159
}
159160

160161
@Immutable

0 commit comments

Comments
 (0)