Cryptograss:Moods/uploads-and-embeds/todo: Difference between revisions
From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
Reconcile with reality: #131 merged but not deployed, the draft_type check, and what has already published |
Quote every value: a note containing ": " was read as a second key and broke the whole list |
||
| Line 3: | Line 3: | ||
<todo> | <todo> | ||
- task: Find out why the pickipedia deploy of #131 has not landed | - task: "Find out why the pickipedia deploy of #131 has not landed" | ||
who: jMyles | who: "jMyles" | ||
kind: investigate | kind: "investigate" | ||
link: https://github.com/cryptograss/pickipedia/commit/0add0b5 | link: "https://github.com/cryptograss/pickipedia/commit/0add0b5" | ||
note: Merged 19:09, still not live at 23:10 (see the paste item). The Jenkinsfile has stages that can stop a deploy, the verification gate among them. magent cannot see Jenkins from where it works, so whether the build is queued, running or failed is unknown. Everything else on the Common.js side waits on this. | note: "Merged 19:09, still not live at 23:10 (see the paste item). The Jenkinsfile has stages that can stop a deploy, the verification gate among them. magent cannot see Jenkins from where it works, so whether the build is queued, running or failed is unknown. Everything else on the Common.js side waits on this." | ||
- task: Run one read-only check to see why seven of the old drafts fail before they start | - task: "Run one read-only check to see why seven of the old drafts fail before they start" | ||
who: jMyles | who: "jMyles" | ||
kind: check | kind: "check" | ||
note: "On delivery-kid: grep -o '\"draft_type\": *\"[^\"]*\"' /mnt/storage-box/staging/drafts/*/draft.json. If the seven come back as anything but content (or missing), finalize treats them as not found and magent will write a loader fix so they publish from where they sit." | note: "On delivery-kid: grep -o '\"draft_type\": *\"[^\"]*\"' /mnt/storage-box/staging/drafts/*/draft.json. If the seven come back as anything but content (or missing), finalize treats them as not found and magent will write a loader fix so they publish from where they sit." | ||
- task: Publish the remaining unfinalized uploads, one at a time, tab open until it says pinned | - task: "Publish the remaining unfinalized uploads, one at a time, tab open until it says pinned" | ||
who: SkymanJenkins | who: "SkymanJenkins" | ||
kind: publish | kind: "publish" | ||
link: Cryptograss:Delivery-kid/Coconut remnants | link: "Cryptograss:Delivery-kid/Coconut remnants" | ||
note: Sonic Offerings is next (it was encoding fine before its page closed). The Justin-uploaded ones are his to decide. | note: "Sonic Offerings is next (it was encoding fine before its page closed). The Justin-uploaded ones are his to decide." | ||
- task: Merge pickipedia#131 — three features out of MediaWiki:Common.js into the extension | - task: "Merge pickipedia#131 — three features out of MediaWiki:Common.js into the extension" | ||
who: jMyles | who: "jMyles" | ||
kind: merge | kind: "merge" | ||
link: https://github.com/cryptograss/pickipedia/pull/131 | link: "https://github.com/cryptograss/pickipedia/pull/131" | ||
note: Re-verified 8 October — Common.js has not been edited since 15 September, so the byte-identical comparison in the PR still holds. CI passed on the merge. | note: "Re-verified 8 October — Common.js has not been edited since 15 September, so the byte-identical comparison in the PR still holds. CI passed on the merge." | ||
done: 2026-10-08 | done: 2026-10-08 | ||
- task: Deploy pickipedia, then paste the replacement Common.js — in that order | - task: "Deploy pickipedia, then paste the replacement Common.js — in that order" | ||
who: jMyles | who: "jMyles" | ||
kind: deploy | kind: "deploy" | ||
link: https://pickipedia.xyz/wiki/User:Magent/Common.js_after_131 | link: "https://pickipedia.xyz/wiki/User:Magent/Common.js_after_131" | ||
note: BLOCKED. #131 merged at 19:09 on 8 October and the new modules (blocksAgo, blueRailroadDate, instrumentForm) were still 'missing' on the live wiki at 23:10, while videoPlayer loads fine — so the code is on production but the running wiki is an older build. Do not paste until https://pickipedia.xyz/load.php?modules=ext.pickipediaReleases.blocksAgo&only=scripts returns code instead of 'missing'. Then copy RAW: index.php?title=User:Magent/Common.js_after_131&action=raw (md5 6bb8dbdd207b85b09e86bbb76ebfe718). Needs interface-admin. | note: "BLOCKED. #131 merged at 19:09 on 8 October and the new modules (blocksAgo, blueRailroadDate, instrumentForm) were still 'missing' on the live wiki at 23:10, while videoPlayer loads fine — so the code is on production but the running wiki is an older build. Do not paste until https://pickipedia.xyz/load.php?modules=ext.pickipediaReleases.blocksAgo&only=scripts returns code instead of 'missing'. Then copy RAW: index.php?title=User:Magent/Common.js_after_131&action=raw (md5 6bb8dbdd207b85b09e86bbb76ebfe718). Needs interface-admin." | ||
- task: Merge maybelle#138 — surround audio bitrate | - task: "Merge maybelle#138 — surround audio bitrate" | ||
who: jMyles | who: "jMyles" | ||
kind: merge | kind: "merge" | ||
link: https://github.com/cryptograss/maybelle-config/pull/138 | link: "https://github.com/cryptograss/maybelle-config/pull/138" | ||
note: 5.1 was being published at the stereo rate, about 21k a channel. Updated 8 October per Justin — rungs below 720p get a stereo downmix; 1080p, 720p and audio-only keep every channel. Mono and stereo untouched, with a test pinning that. 113 pass. | note: "5.1 was being published at the stereo rate, about 21k a channel. Updated 8 October per Justin — rungs below 720p get a stereo downmix; 1080p, 720p and audio-only keep every channel. Mono and stereo untouched, with a test pinning that. 113 pass." | ||
- task: Merge maybelle#152 — the audit stops calling our own records deletable | - task: "Merge maybelle#152 — the audit stops calling our own records deletable" | ||
who: jMyles | who: "jMyles" | ||
kind: merge | kind: "merge" | ||
link: https://github.com/cryptograss/maybelle-config/pull/152 | link: "https://github.com/cryptograss/maybelle-config/pull/152" | ||
note: Coconut tombstones reported as history, plus the CI job for the audit's tests. The kept-originals commit missed the merge by a minute and is now #170. | note: "Coconut tombstones reported as history, plus the CI job for the audit's tests. The kept-originals commit missed the merge by a minute and is now #170." | ||
done: 2026-10-08 | done: 2026-10-08 | ||
- task: One delivery-kid --rebuild deploy once #138 and #152 are in | - task: "One delivery-kid --rebuild deploy once #138 and #152 are in" | ||
who: jMyles | who: "jMyles" | ||
kind: deploy | kind: "deploy" | ||
note: Running e4e00ed4 since 5 October, so everything through #137 is live and neither of those two is. | note: "Running e4e00ed4 since 5 October, so everything through #137 is live and neither of those two is." | ||
- task: Decide how to close the RSS SSRF — whitelist, or network egress rules | - task: "Decide how to close the RSS SSRF — whitelist, or network egress rules" | ||
who: jMyles | who: "jMyles" | ||
kind: decide | kind: "decide" | ||
link: https://github.com/cryptograss/pickipedia/issues/102 | link: "https://github.com/cryptograss/pickipedia/issues/102" | ||
note: Confirmed real — LocalSettings.php sets $wgRSSUrlWhitelist to "*", so any page can make the server fetch any URL. The feed hosts are not a fixed list in code; podcast_config.py reads them off {{PodcastFeed}} templates in Category:Podcasts, so a static whitelist breaks the Firehose whenever anyone adds a podcast. The alternative is denying the wiki container egress to link-local and private ranges. magent's view: the second, but it is a judgement call about how much friction to accept, so it is yours. | note: "Confirmed real — LocalSettings.php sets $wgRSSUrlWhitelist to \"*\", so any page can make the server fetch any URL. The feed hosts are not a fixed list in code; podcast_config.py reads them off {{PodcastFeed}} templates in Category:Podcasts, so a static whitelist breaks the Firehose whenever anyone adds a podcast. The alternative is denying the wiki container egress to link-local and private ranges. magent's view: the second, but it is a judgement call about how much friction to accept, so it is yours." | ||
- task: Answer the four questions about the two uploads that vanished on 24 September | - task: "Answer the four questions about the two uploads that vanished on 24 September" | ||
who: jMyles | who: "jMyles" | ||
kind: reply | kind: "reply" | ||
link: https://github.com/cryptograss/maybelle-config/issues/139 | link: "https://github.com/cryptograss/maybelle-config/issues/139" | ||
note: The exact error text would settle it. Best guess is Caddy dropping POST bodies over HTTP/3, which is our own #79 from April, still unresolved. | note: "The exact error text would settle it. Best guess is Caddy dropping POST bodies over HTTP/3, which is our own #79 from April, still unresolved." | ||
- task: Close the dead PRs in maybelle-config#132 | - task: "Close the dead PRs in maybelle-config#132" | ||
who: jMyles | who: "jMyles" | ||
kind: review | kind: "review" | ||
link: https://github.com/cryptograss/maybelle-config/issues/132 | link: "https://github.com/cryptograss/maybelle-config/issues/132" | ||
note: #69, #74 and #75 would restore the Coconut code deleted in #129. #86 now carries its own reasoning for closing. | note: "#69, #74 and #75 would restore the Coconut code deleted in #129. #86 now carries its own reasoning for closing." | ||
- task: Cancel the Coconut account and drop its key from the vault | - task: "Cancel the Coconut account and drop its key from the vault" | ||
who: jMyles | who: "jMyles" | ||
kind: admin | kind: "admin" | ||
note: The only item still costing money. The code has been gone since #129. | note: "The only item still costing money. The code has been gone since #129." | ||
- task: Merge maybelle#170 — kept originals recorded with the release and counted by the audit | - task: "Merge maybelle#170 — kept originals recorded with the release and counted by the audit" | ||
who: jMyles | who: "jMyles" | ||
kind: merge | kind: "merge" | ||
link: https://github.com/cryptograss/maybelle-config/pull/170 | link: "https://github.com/cryptograss/maybelle-config/pull/170" | ||
note: Split out of #152, which merged a minute before this commit landed on its branch. Touches delivery-kid, so it rides the same --rebuild deploy as #138. | note: "Split out of #152, which merged a minute before this commit landed on its branch. Touches delivery-kid, so it rides the same --rebuild deploy as #138." | ||
- task: Check the eleven Coconut remnants for anything worth keeping | - task: "Check the eleven Coconut remnants for anything worth keeping" | ||
who: SkymanJenkins | who: "SkymanJenkins" | ||
kind: review | kind: "review" | ||
link: Cryptograss:Delivery-kid/Coconut remnants | link: "Cryptograss:Delivery-kid/Coconut remnants" | ||
note: None holds media, so keeping one means finding the original file, not keeping the pin. Six are Justin's "learning terrapin outside Denver venue", never published; the three of Sky's from 14-17 September are untitled. | note: "None holds media, so keeping one means finding the original file, not keeping the pin. Six are Justin's \"learning terrapin outside Denver venue\", never published; the three of Sky's from 14-17 September are untitled." | ||
- task: Decide, per recording, whether to publish or delete the thirteen unfinalized uploads still in staging (4.2 GB) | - task: "Decide, per recording, whether to publish or delete the thirteen unfinalized uploads still in staging (4.2 GB)" | ||
who: SkymanJenkins | who: "SkymanJenkins" | ||
kind: decide | kind: "decide" | ||
link: Cryptograss:Delivery-kid/Coconut remnants | link: "Cryptograss:Delivery-kid/Coconut remnants" | ||
note: Mostly real recordings the Coconut failures left behind, possibly the only copies. Includes the learning-terrapin upload (21 MB), still on disk. Three look superseded (melodica, Station Inn, Pickipedia Dispatch). Six are Justin's — he decides on those. | note: "Mostly real recordings the Coconut failures left behind, possibly the only copies. Includes the learning-terrapin upload (21 MB), still on disk. Three look superseded (melodica, Station Inn, Pickipedia Dispatch). Six are Justin's — he decides on those." | ||
- task: Make finalize survive the browser tab closing, and run one long encode at a time | - task: "Make finalize survive the browser tab closing, and run one long encode at a time" | ||
who: magent | who: "magent" | ||
kind: code | kind: "code" | ||
note: 8 October — two of the unpublished recordings were finalized at once. Both were encoding (a 19-minute video at 0.71x, ~27 minutes in all), both stalled at 21:46 the moment the second started, and both ended at 22:09:05, the same second, with no redeploy — what happens when the page closes, because finalize runs inside the page's connection. Long recordings need finalize to be a background job, and concurrent encodes queued. | note: "8 October — two of the unpublished recordings were finalized at once. Both were encoding (a 19-minute video at 0.71x, ~27 minutes in all), both stalled at 21:46 the moment the second started, and both ended at 22:09:05, the same second, with no redeploy — what happens when the page closes, because finalize runs inside the page's connection. Long recordings need finalize to be a background job, and concurrent encodes queued." | ||
- task: Unpin the Coconut remnants once Sky has checked them | - task: "Unpin the Coconut remnants once Sky has checked them" | ||
who: magent | who: "magent" | ||
kind: code | kind: "code" | ||
note: The list page is the record, so unpinning loses nothing. Needs a small change so the audit can unpin deliberately rather than anyone touching the server. | note: "The list page is the record, so unpinning loses nothing. Needs a small change so the audit can unpin deliberately rather than anyone touching the server." | ||
- task: Move the zine styling with its stylesheet, emptying Common.js for good | - task: "Move the zine styling with its stylesheet, emptying Common.js for good" | ||
who: magent | who: "magent" | ||
kind: code | kind: "code" | ||
note: The last thing left in that page. Held back from #131 on purpose: it is bound to classes in MediaWiki:Common.css, and moving the script alone would split one feature across two homes. | note: "The last thing left in that page. Held back from #131 on purpose: it is bound to classes in MediaWiki:Common.css, and moving the script alone would split one feature across two homes." | ||
- task: Delete the phantom orphan-draft cleanup promised by delivery-kid's startup docstring | - task: "Delete the phantom orphan-draft cleanup promised by delivery-kid's startup docstring" | ||
who: magent | who: "magent" | ||
kind: code | kind: "code" | ||
note: main.py says it runs an initial cleanup and a periodic task. Neither exists in the code. One-line fix, but it sent me looking for a scheduler that was never there. | note: "main.py says it runs an initial cleanup and a periodic task. Neither exists in the code. One-line fix, but it sent me looking for a scheduler that was never there." | ||
- task: Test whether Opus audio plays on Safari | - task: "Test whether Opus audio plays on Safari" | ||
who: magent | who: "magent" | ||
kind: test | kind: "test" | ||
note: Never tested, and it applies to everything we have ever published, not just surround. If a video on the wiki is silent on an iPhone, this is the first thing to check. | note: "Never tested, and it applies to everything we have ever published, not just surround. If a video on the wiki is silent on an iPhone, this is the first thing to check." | ||
- task: Merge pickipedia#126 — CI for that repository | - task: "Merge pickipedia#126 — CI for that repository" | ||
who: jMyles | who: "jMyles" | ||
kind: merge | kind: "merge" | ||
link: https://github.com/cryptograss/pickipedia/pull/126 | link: "https://github.com/cryptograss/pickipedia/pull/126" | ||
done: 2026-10-08 | done: 2026-10-08 | ||
- task: Merge pickipedia#133 — stop a podcast feed deciding what the import bot writes | - task: "Merge pickipedia#133 — stop a podcast feed deciding what the import bot writes" | ||
who: jMyles | who: "jMyles" | ||
kind: merge | kind: "merge" | ||
link: https://github.com/cryptograss/pickipedia/pull/133 | link: "https://github.com/cryptograss/pickipedia/pull/133" | ||
done: 2026-10-08 | done: 2026-10-08 | ||
note: Closed #101. Feed titles and descriptions were interpolated into template calls raw. | note: "Closed #101. Feed titles and descriptions were interpolated into template calls raw." | ||
- task: Publish "There's only one way to find out" from its stuck draft | - task: "Publish \"There's only one way to find out\" from its stuck draft" | ||
who: SkymanJenkins | who: "SkymanJenkins" | ||
kind: publish | kind: "publish" | ||
link: https://pickipedia.xyz/wiki/ReleaseDraft:a1bab48e-407c-4ccb-978c-67d2583751ef | link: "https://pickipedia.xyz/wiki/ReleaseDraft:a1bab48e-407c-4ccb-978c-67d2583751ef" | ||
done: 2026-10-08 | done: 2026-10-08 | ||
note: Finalized after re-running it with the tab left open. Proves the old drafts can publish, and that the earlier failures were the page closing. | note: "Finalized after re-running it with the tab left open. Proves the old drafts can publish, and that the earlier failures were the page closing." | ||
</todo> | </todo> | ||
Revision as of 01:06, 9 October 2026
The things this Mood is waiting on, and who has them. Kept here rather than in chat, because a queue that lives in scrollback is a queue nobody can see.
- ☐Find out why the pickipedia deploy of #131 has not landedMerged 19:09, still not live at 23:10 (see the paste item). The Jenkinsfile has stages that can stop a deploy, the verification gate among them. magent cannot see Jenkins from where it works, so whether the build is queued, running or failed is unknown. Everything else on the Common.js side waits on this.
- ☐Run one read-only check to see why seven of the old drafts fail before they startOn delivery-kid: grep -o '"draft_type": *"[^"]*"' /mnt/storage-box/staging/drafts/*/draft.json. If the seven come back as anything but content (or missing), finalize treats them as not found and magent will write a loader fix so they publish from where they sit.
- ☐Publish the remaining unfinalized uploads, one at a time, tab open until it says pinnedSonic Offerings is next (it was encoding fine before its page closed). The Justin-uploaded ones are his to decide.
- ☐Deploy pickipedia, then paste the replacement Common.js — in that orderBLOCKED. #131 merged at 19:09 on 8 October and the new modules (blocksAgo, blueRailroadDate, instrumentForm) were still 'missing' on the live wiki at 23:10, while videoPlayer loads fine — so the code is on production but the running wiki is an older build. Do not paste until https://pickipedia.xyz/load.php?modules=ext.pickipediaReleases.blocksAgo&only=scripts returns code instead of 'missing'. Then copy RAW: index.php?title=User:Magent/Common.js_after_131&action=raw (md5 6bb8dbdd207b85b09e86bbb76ebfe718). Needs interface-admin.
- ☐Merge maybelle#138 — surround audio bitrate5.1 was being published at the stereo rate, about 21k a channel. Updated 8 October per Justin — rungs below 720p get a stereo downmix; 1080p, 720p and audio-only keep every channel. Mono and stereo untouched, with a test pinning that. 113 pass.
- ☐One delivery-kid --rebuild deploy once #138 and #152 are inRunning e4e00ed4 since 5 October, so everything through #137 is live and neither of those two is.
- ☐Decide how to close the RSS SSRF — whitelist, or network egress rulesConfirmed real — LocalSettings.php sets $wgRSSUrlWhitelist to "*", so any page can make the server fetch any URL. The feed hosts are not a fixed list in code; podcast_config.py reads them off {{PodcastFeed}} templates in Category:Podcasts, so a static whitelist breaks the Firehose whenever anyone adds a podcast. The alternative is denying the wiki container egress to link-local and private ranges. magent's view: the second, but it is a judgement call about how much friction to accept, so it is yours.
- ☐Answer the four questions about the two uploads that vanished on 24 SeptemberThe exact error text would settle it. Best guess is Caddy dropping POST bodies over HTTP/3, which is our own #79 from April, still unresolved.
- ☐Close the dead PRs in maybelle-config#132#69, #74 and #75 would restore the Coconut code deleted in #129. #86 now carries its own reasoning for closing.
- ☐Cancel the Coconut account and drop its key from the vaultThe only item still costing money. The code has been gone since #129.
- ☐Merge maybelle#170 — kept originals recorded with the release and counted by the auditSplit out of #152, which merged a minute before this commit landed on its branch. Touches delivery-kid, so it rides the same --rebuild deploy as #138.
- ☐Check the eleven Coconut remnants for anything worth keepingNone holds media, so keeping one means finding the original file, not keeping the pin. Six are Justin's "learning terrapin outside Denver venue", never published; the three of Sky's from 14-17 September are untitled.
- ☐Decide, per recording, whether to publish or delete the thirteen unfinalized uploads still in staging (4.2 GB)Mostly real recordings the Coconut failures left behind, possibly the only copies. Includes the learning-terrapin upload (21 MB), still on disk. Three look superseded (melodica, Station Inn, Pickipedia Dispatch). Six are Justin's — he decides on those.
- ☐Make finalize survive the browser tab closing, and run one long encode at a time8 October — two of the unpublished recordings were finalized at once. Both were encoding (a 19-minute video at 0.71x, ~27 minutes in all), both stalled at 21:46 the moment the second started, and both ended at 22:09:05, the same second, with no redeploy — what happens when the page closes, because finalize runs inside the page's connection. Long recordings need finalize to be a background job, and concurrent encodes queued.
- ☐Unpin the Coconut remnants once Sky has checked themThe list page is the record, so unpinning loses nothing. Needs a small change so the audit can unpin deliberately rather than anyone touching the server.
- ☐Move the zine styling with its stylesheet, emptying Common.js for goodThe last thing left in that page. Held back from #131 on purpose: it is bound to classes in MediaWiki:Common.css, and moving the script alone would split one feature across two homes.
- ☐Delete the phantom orphan-draft cleanup promised by delivery-kid's startup docstringmain.py says it runs an initial cleanup and a periodic task. Neither exists in the code. One-line fix, but it sent me looking for a scheduler that was never there.
- ☐Test whether Opus audio plays on SafariNever tested, and it applies to everything we have ever published, not just surround. If a video on the wiki is silent on an iPhone, this is the first thing to check.
Done (5)
- ☑Merge pickipedia#131 — three features out of MediaWiki:Common.js into the extensionRe-verified 8 October — Common.js has not been edited since 15 September, so the byte-identical comparison in the PR still holds. CI passed on the merge.
- ☑Merge maybelle#152 — the audit stops calling our own records deletableCoconut tombstones reported as history, plus the CI job for the audit's tests. The kept-originals commit missed the merge by a minute and is now #170.
- ☑
- ☑Merge pickipedia#133 — stop a podcast feed deciding what the import bot writesClosed #101. Feed titles and descriptions were interpolated into template calls raw.
- ☑Publish "There's only one way to find out" from its stuck draftFinalized after re-running it with the tab left open. Proves the old drafts can publish, and that the earlier failures were the page closing.