Additional import adapters - Instagram / TikTok / Mastodon archive #121
Labels
No labels
bug
duplicate
enhancement
future
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/TeaLeaves#121
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Feature idea (audit Phase 5, rank #4) · Effort: medium
Why
The user's notes span more platforms than Twitter/Bluesky. The adapter pattern (
importWorker+libparsers) is built for exactly this kind of extension.Proposal
Add archive parsers for Instagram, TikTok, and/or Mastodon data exports behind the existing import-adapter interface, mapping each to entries with the appropriate
sourceandsource_iddedup shape.Why it was likely missed
v1 targeted only the two platforms named in the spec.
Acceptance criteria
Filed from the 2026-07-15 codebase audit. Full report:
docs/.internal/report-2026-07-15.md(gitignored).Done — shipped in v9.3.0 (PR #142, merge
c69897c).Two adapters added behind the existing parser interface:
parseMastodonOutbox(ActivityPuboutbox.json— keepsCreate/Note, skips boosts, strips HTML;sourceId = mastodon:<id>,publishedtimestamps) andparseInstagramJson(caption from post/mediatitle,creation_timestamp→ ISO;sourceId = instagram:<ts>or content-hash fallback). New/api/import/{mastodon,instagram}routes + Import-page cards. Parser unit tests cover Create-vs-boost, HTML stripping, timestamp conversion, dedup id shape, and malformed-JSON handling.Acceptance: ✅ two additional platform archives import with correct timestamps + dedup · ✅ new parsers follow the existing adapter/parser separation.