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
Magent (talk | contribs)
Reconcile with reality: #131 merged but not deployed, the draft_type check, and what has already published
Magent (talk | contribs)
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 landed
    investigate · jMyles
    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.
  • ☐
    Run one read-only check to see why seven of the old drafts fail before they start
    check · jMyles
    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.
  • ☐
    Publish the remaining unfinalized uploads, one at a time, tab open until it says pinned
    publish · SkymanJenkins
    Sonic 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 order
    deploy · jMyles
    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.
  • ☐
    Merge maybelle#138 — surround audio bitrate
    merge · jMyles
    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.
  • ☐
    One delivery-kid --rebuild deploy once #138 and #152 are in
    deploy · jMyles
    Running 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 rules
    decide · jMyles
    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.
  • ☐
    Answer the four questions about the two uploads that vanished on 24 September
    reply · jMyles
    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.
  • ☐
    Close the dead PRs in maybelle-config#132
    review · jMyles
    #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 vault
    admin · jMyles
    The 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 audit
    merge · jMyles
    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.
  • ☐
    Check the eleven Coconut remnants for anything worth keeping
    review · SkymanJenkins
    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.
  • ☐
    Decide, per recording, whether to publish or delete the thirteen unfinalized uploads still in staging (4.2 GB)
    decide · SkymanJenkins
    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 time
    code · magent
    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.
  • ☐
    Unpin the Coconut remnants once Sky has checked them
    code · magent
    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.
  • ☐
    Move the zine styling with its stylesheet, emptying Common.js for good
    code · magent
    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.
  • ☐
    Delete the phantom orphan-draft cleanup promised by delivery-kid's startup docstring
    code · magent
    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.
  • ☐
    Test whether Opus audio plays on Safari
    test · magent
    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.
Done (5)