Upgrade LocalUserIndex canisters to 2.0.2033
GitHub commit
https://github.com/open-chat-labs/open-chat/commit/b71241b80bac5049c1416cc43e23ad000778e112
Changelog
Description
This release is the fourth leg of the media hash-scanning rollout (versions 2.0.2030–2.0.2037; user_index, storage_index and storage_bucket already released). It adds the worker-facing side of the media scan pipeline to the local user indexes: a media scan job log and endpoints from which registered scanner principals fetch jobs and submit verdicts. All of it is gated on the media scan configuration held by the user_index, which is set by a separate dual-authorized platform-operator action that will only be taken once the full train is released - media scanning remains switched off.
The local user index also now watches its own pipeline health: if scan jobs are queued but no verdicts are arriving, it reports the stall to the user_index (which posts a notice to the internal moderation channel), with an all-clear on recovery.
This release also removes message media from the OpenAI moderation request payload - classification is text-only. This is one of the preconditions, recorded on #9149, for ever enabling the text classifier.
This leg must precede the community and group releases later in the train, which send media scan requests to the local user index.
Added
- Add the media scan job log plus worker-facing
media_scan_jobsandsubmit_media_scan_verdictsendpoints, gated on the media scan config set by the user_index (#9161) - Detect a stalled media scan pipeline (jobs queued but no verdicts arriving) and raise it in the internal moderation channel via the user_index, with an all-clear on recovery (#9161)
Changed
- Never send message media to the OpenAI moderation API - classification is text-only (#9149)
Fixed
- Fix detection of when to retry c2c calls (#9106)
Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
git fetch
git checkout b71241b80bac5049c1416cc43e23ad000778e112
./scripts/verify-release.sh 2.0.2033 cf305cab049a3c3bd48d783d6c57e774555e17f9ca25a73a12b08a7e0c94dd3e
Proposal to execute nervous system function:
Nervous system function:
NervousSystemFunction { id: 1000, name: "Upgrade local_user_index canisters", description: Some( "This will upload the given WASM to the user_index and trigger a rolling upgrade of local_user_index canisters on each subnet.", ), function_type: Some( GenericNervousSystemFunction( GenericNervousSystemFunction { target_canister_id: Some( 4bkt6-4aaaa-aaaaf-aaaiq-cai, ), target_method_name: Some( "upgrade_local_user_index_canister_wasm", ), validator_canister_id: Some( 4bkt6-4aaaa-aaaaf-aaaiq-cai, ), validator_method_name: Some( "upgrade_local_user_index_canister_wasm_validate", ), topic: Some( DappCanisterManagement, ), }, ), ), }
Payload sha256:
2ffcc2de3b6596c8cddd0fcf50a57e6e842cf49ed52e7ac9c6a8c5238e8121ac
Payload:
{ "version": { "major": 2, "minor": 0, "patch": 2033 }, "wasm_hash": "cf305cab049a3c3bd48d783d6c57e774555e17f9ca25a73a12b08a7e0c94dd3e", "filter": null }