`recreateChain` converts a list of notes into a forest of notes, using
notes that are not replies as roots, and replies as child nodes,
recursively.
Previously, notes that are replies to notes not included in the
export, and their children, were never put in the forest, and
therefore wheren't imported.
This can be fine when importing from Twitter, since we can't really
link a note to a tweet.
And, for the moment, it's acceptable when importing from *key, because
the export doesn't contain the instance URL, so we can't resolve ids
to remote notes.
It's less fine when importing from Mastodon / Pleroma / Akkoma,
because in those cases we _can_ link to the remote note that the user
was replying to.
This commit makes `recreateChain` optionally return "orphaned" note
trees, so in the (near) future we can use it to properly thread
imported notes from those services.
* feat: add defaultWithReplies to MiUser
* feat: use defaultWithReplies when creating MiFollowing
* feat: update defaultWithReplies from API
* feat: return defaultWithReplies as a part of $i
* feat(frontend): configure defaultWithReplies
* docs(changelog): 新規にフォローした人のをデフォルトでTL二追加できるように
* fix: typo
* style: fix lint failure
* chore: improve UI text
* chore: make optional params of UserFollowingService.follow() object
* chore: UserFollowingService.follow() accept withReplies
* chore: add withReplies to MiFollowRequest
* chore: process withReplies for follow request
* feat: accept withReplies on 'following/create' endpoint
* feat: store defaultWithReplies in client store
* Revert "feat: return defaultWithReplies as a part of $i"
This reverts commit f2cc4fe6
* Revert "feat: update defaultWithReplies from API"
This reverts commit 95e3cee6
* Revert "feat: add defaultWithReplies to MiUser"
This reverts commit 9f5ab14d7063532de2b049bc2ed40a15658168f5.
* feat: configuring withReplies in import-following
* feat(frontend): configure withReplies
* fix(frontend): incorrectly showRepliesToOthersInTimeline can be shown
* fix(backend): withReplies of following/create not working
* fix(frontend): importFollowing error
* fix: withReplies is not working with follow import
* fix(frontend): use v-model
* style: fix lint
---------
Co-authored-by: Sayamame-beans <61457993+sayamame-beans@users.noreply.github.com>
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>