diff --git a/TOOLING.md b/TOOLING.md index 7e3c353..49e18f4 100644 --- a/TOOLING.md +++ b/TOOLING.md @@ -67,6 +67,51 @@ Long runs: `setsid nohup ~/gdl/run-profiles.sh >/dev/null 2>&1 &` (or `run-full- Nothing reaches the archive until a run finishes, so killing one midway is safe. +## 2026-09-14 — a tracked account renamed on Instagram: 0ct0ber19 → heejin + +HeeJin's handle changed and the old one is now fully dead — `instagram.com/ +0ct0ber19/` returns "Sorry, this page isn't available", no redirect. Verified +`@heejin` is her (verified badge, ARTMS affiliation, followed by +`official_artms`, same profile picture) before touching anything. + +Directory naming is forced from **our own tracked profile name**, not derived +from Instagram's live username (see `gdl_command()` in `gdl-sync.py`) — so +updating the URL alone would have started a brand-new `heejin/` directory +tree alongside the existing `0ct0ber19/` one, splitting one person into two +profiles. Fixed by migrating the existing archive instead of leaving it +stale: + +- `0ct0ber19` → `heejin`, `0ct0ber19 - reels` → `heejin - reels`, + `story - 0ct0ber19` → `story - heejin`, and both her highlight directories + — 3,353 files total, done directly on the NAS (`ana-nas.lan.1qaz.ca`, + `/volume1/rslsync/sync/Instagram-archive/archives`), not via `gdl-sync.py`. +- Only files whose embedded `{username}` token was **exactly** `0ct0ber19` + were renamed — matched as `_0ct0ber19 - ` (dated stem) or `^0ct0ber19 - ` + (the older undated highlight naming) or the bare `0ct0ber19.` profile + picture, never a substring match. 7 files inside her own directories were + correctly left untouched: real collab posts (`chuuo3o`, `findyourmapp`) + physically stored there but truly owned by someone else — see "Where a + shared reel lands" above for why that happens at all. +- Verified by content after each `rename()`, not exit code — this volume can + report a rename as failed when it actually succeeded (see + `instaarchive-deployment` in project memory). Every directory came back + with zero missing targets and zero leftover old names. +- `docs/artms-instagram-accounts.txt` and `~/gdl/artms_account_links.txt` + updated to the new URL. The live site picked up the rename immediately, no + cache-bust needed — the archive index invalidates on directory mtime, which + a rename changes. +- **Not changed:** the skip-archive DB (`artms.db`) keys purely on + `instagram_`, no username involved, so it needed nothing. The + per-source `state.json` timestamps *are* keyed by URL, though, so `heejin`'s + entries look "never seeded" to `gdl-sync.py` now — the next run against her + will do one seeding listing pass to catch up, same as any newly added + profile. Cheap, and expected. + +If this happens again for another tracked account: confirm the new handle is +really the same person before touching anything (verified badge + a mutual +signal like "Followed by official_artms" + matching profile picture is +usually enough), then this section is the template. + ## Safety net: a global gallery-dl config `~/.config/gallery-dl/config.json` on `mattellite` exists so that a **plain diff --git a/docs/artms-instagram-accounts.txt b/docs/artms-instagram-accounts.txt index 148e8a4..c489cf5 100644 --- a/docs/artms-instagram-accounts.txt +++ b/docs/artms-instagram-accounts.txt @@ -1,4 +1,4 @@ -https://www.instagram.com/0ct0ber19/ +https://www.instagram.com/heejin/ https://www.instagram.com/kimxxlip/ https://www.instagram.com/withaseul/ https://www.instagram.com/cher_ryppo/