bd26b25961
- inReplyTo stored as empty string "" for non-replies in timeline-store.js;
filters using {$exists: false} missed these docs → hashtag/public timelines empty
- Fix: omit inReplyTo/quoteUrl fields entirely when empty (undefined spread)
- Fix: update all {$exists: false} filters to also match {inReplyTo: ""}
- Fix: hashtag timeline query uses case-insensitive prefix regex so
"politics" matches "on/politics", "wandern" matches stored "wandern"
- DB migration: unset inReplyTo:"" on 620 existing ap_timeline documents