Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Thread architecture still depends on replyToEventId/rootEventId

Open
#105 6 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Refactor
Clarity
Needs clarification
Activity status
Quiet
Tech stack
dart
Domain
databases

Research direction

Start by reading NoteRelationModel and tracing the thread-loading, reply-discovery, parent/root resolution, and reply-visibility paths that currently use replyToEventId or rootEventId. The issue does not identify files or tests, so first locate those entry points and inspect the regressions found during testing. Done would require a defined migration that preserves those behaviors, but the scope and acceptance criteria are not specified.

Written by the indexing model from the issue text.

Description

Summary

While investigating a migration toward using NoteRelationModel as the single source of truth for thread relationships, I found that the current thread architecture still depends on replyToEventId and rootEventId in several places.

Findings

  • NoteRelationModel currently stores untyped relation edges.
  • Root edges are excluded.
  • The relation graph does not contain enough information to fully reconstruct thread structure.
  • Removing or bypassing replyToEventId/rootEventId causes regressions in:
    • Thread loading
    • Reply discovery
    • Parent/root note resolution
    • Reply visibility

Notes

During testing, relying only on NoteRelationModel caused thread-related regressions, suggesting that a complete migration would likely require broader changes to the relation layer.

This does not affect the fix in PR #102, but was discovered while investigating the underlying architecture.

Dominant language
Dart
Stars
2
Forks
2
Avg merge
1d 7h
Merged PRs (30d)
35

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from basictech01/uniun

All issues in basictech01/uniun

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.