cee60ce18d
branchStoredSession looked its parent up in $sessions alone, and branchCurrentSession did the same. A conversation reachable through a profile-scoped project tree has no row there, and when it appears in both places the flat Recents copy is the ownerless one — so the lookup returned the row that cannot route, and the branch created its child on whichever backend happened to be active. cachedSessionRow spans Recents, cron, messaging and the project tree, and prefers the self-describing candidate. One ladder, used by both branch entry points and by resolveStoredSession. Co-authored-by: evan-bradford <evan-bradford@users.noreply.github.com>