Status Update
Comments
ed...@gmail.com <ed...@gmail.com> #2
+1, this is a severe bug if I've ever seen one. If it is on par with the #74139250 (https://issuetracker.google.com/issues/74139250 ), this should be at least P1
el...@google.com <el...@google.com> #3
1) Thank you for reporting this issue.We were not able to reproduce the issue with the information provided here.
Logs after follow mentioned steps in comment #1
===============================================
V/TAG: ViewModelFirst Created
2) Can you please provide the below requested information to better understand the issue:
Android build
Which Android build are you using? (e.g. KVT49L)
Device used
Which device did you use to reproduce this issue?
Please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
Logs after follow mentioned steps in
===============================================
V/TAG: ViewModelFirst Created
2) Can you please provide the below requested information to better understand the issue:
Android build
Which Android build are you using? (e.g. KVT49L)
Device used
Which device did you use to reproduce this issue?
Please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
Description
Version used: 2.7.0-alpha04
Devices/Android versions reproduced on: Google Pixel 6a, Android 14
If this is a bug in the library, we would appreciate if you could attach:
e: file:///[...]/composeApp/build/generated/ksp/desktop/desktopMain/kotlin/repositories/groups/local/GroupDao_Impl.kt:19:27 Unresolved reference 'recursiveFetchArrayMap'.
@Dao
interface GroupDao {
@Query("SELECT * FROM groups WHERE id = :id")
fun getById(id: UUID): Flow<GroupData?>
@Query("SELECT * FROM groups WHERE rootGroupId IS NULL")
fun getAllRootGroups(): Flow<List<GroupData>>
@Upsert
suspend fun upsert(group: GroupLocal): Long
@Delete
suspend fun delete(group: GroupLocal)
}
package data.group.local
import androidx.room.Embedded
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.PrimaryKey
import androidx.room.Relation
import data.task.local.TaskLocal
import data.task.local.TaskRefLocal
import data.user.local.UserLocal
import kotlinx.datetime.Clock
import kotlinx.datetime.Instant
import java.util.UUID
@Entity(
tableName = "groups",
foreignKeys = [
ForeignKey(
entity = UserLocal::class,
childColumns = ["userId"],
parentColumns = ["id"],
onDelete = ForeignKey.SET_NULL
),
ForeignKey(
entity = GroupLocal::class,
childColumns = ["rootGroupId"],
parentColumns = ["id"],
onDelete = ForeignKey.CASCADE
)
]
)
data class GroupLocal(
@PrimaryKey
val id: UUID = UUID.randomUUID(),
val userId: UUID?,
val rootGroupId: UUID?,
val name: String = "",
val order: Int = 0,
val createdAt: Instant = Clock.System.now(),
val updatedAt: Instant = Clock.System.now()
)
data class GroupData(
@Embedded val it: GroupLocal,
@Relation(entityColumn = "id", parentColumn = "userId")
val user: UserLocal?,
@Relation(entityColumn = "id", parentColumn = "rootGroupId")
val rootGroup: GroupLocal?,
@Relation(entity = GroupLocal::class, entityColumn = "rootGroupId", parentColumn = "id")
val subgroups: List<SubGroupData>,
@Relation(entity = TaskLocal::class, entityColumn = "groupId", parentColumn = "id")
val tasks: List<TaskLocal>,
@Relation(entity = TaskRefLocal::class, entityColumn = "taskId", parentColumn = "id")
val taskRefs: List<TaskRefLocal>,
)
data class SubGroupData(
@Embedded val it: GroupLocal,
@Relation(entityColumn = "id", parentColumn = "userId")
val user: UserLocal?,
@Relation(entityColumn = "id", parentColumn = "rootGroupId")
val rootGroup: GroupLocal?,
@Relation(entityColumn = "groupId", parentColumn = "id")
val tasks: List<TaskLocal>,
@Relation(entity = TaskRefLocal::class, entityColumn = "taskId", parentColumn = "id")
val taskRefs: List<TaskRefLocal>
)
on Android part everything is working fine, but on desktop it drops me this error where import androidx.room.util.recursiveFetchArrayMap doesn't exist