Summary

GitHub commit

https://github.com/open-chat-labs/open-chat/commit/b71241b80bac5049c1416cc43e23ad000778e112

Changelog

Description

This release is the sixth leg of the media hash-scanning rollout (versions 2.0.2030–2.0.2037; user_index, storage_index, storage_bucket, local_user_index and group_index already released). Community canisters now queue media posted to public channels of public communities for hash scanning, and escalate scan matches through the existing CSAM detection path. As with the rest of the train, this is dormant until media scanning is enabled by the separate dual-authorized platform-operator action after the full train is released - no media is scanned by this release.

This release also carries a shared-type extension from the re-post blocking work already live on the storage layer: moderation report cards for blocked re-post attempts carry a marker distinguishing them from ordinary reports, which the community canister hosting the internal moderation channel must preserve for the moderation frontend (shipping as the final leg) to label them correctly.

Finally, an edit-classification fix: a classification request is now sent on every message edit, even when nothing in the edited message is classifiable, so that a stale moderation flag is cleared when an edit removes the text which earned it. This is one of the preconditions, recorded on #9149, for ever enabling the text classifier.

The wasm is registered with the group_index, which rolls it out to all community canisters via the local user indexes.

Added

  • Queue media posted to public channels of public communities for hash scanning and escalate scan matches via the existing CSAM detection path (#9161)

Changed

  • Always send a classification request on edit, even when nothing is classifiable, so that stale moderation flags are cleared when an edit removes a message's text (#9154)

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.2035 7b6b3ae0ab24134308b03abab25202d3f3857ab30d7842d9ba72b76c0a6dbd70
Payload

Proposal to execute nervous system function:

Nervous system function:

NervousSystemFunction { id: 2005, name: "Upgrade community canisters", description: Some( "This will upload the given WASM to the group_index which will in turn call c2c_upgrade_community_canister_wasm on the local_group_index on each subnet. These will each trigger a rolling upgrade of community canisters on their subnet.", ), function_type: Some( GenericNervousSystemFunction( GenericNervousSystemFunction { target_canister_id: Some( 4ijyc-kiaaa-aaaaf-aaaja-cai, ), target_method_name: Some( "upgrade_community_canister_wasm", ), validator_canister_id: Some( 4ijyc-kiaaa-aaaaf-aaaja-cai, ), validator_method_name: Some( "upgrade_community_canister_wasm_validate", ), topic: Some( DappCanisterManagement, ), }, ), ), }

Payload sha256:

62a18bb8fa2c126edf1b3f14c63a77d0329ad09507461fc32cc5733c5180e684

Payload:

{ "version": { "major": 2, "minor": 0, "patch": 2035 }, "wasm_hash": "7b6b3ae0ab24134308b03abab25202d3f3857ab30d7842d9ba72b76c0a6dbd70", "filter": null }

Overview