Summary

GitHub commit

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

Changelog

Description

This release begins the process of replacing Modclub with the a combination of OpenAI Moderation API and platform moderation verification as the first step of the new moderation pipeline, and lays the UserIndex groundwork for the rest of the moderation stack which will be released subsequently (GroupIndex, LocalUserIndexes, Group/Community/User canisters and the website). These moderation changes are overdue as reporting messages has been broken for some time and a working system is a necessary precursor to app store review.

Changed

  • Classify reported messages with the OpenAI Moderation API and remove Modclub (#9092)
  • Add c2c_csam_detected endpoint - applies the CSAM auto-sanction and posts a moderation alert (#9093)
  • Add resolve_moderation_report so platform moderators can uphold or dismiss escalated reports (#9095)
  • Add set_internal_moderation_channel endpoint for platform operators (#9092)
  • Pass in expected_claim_type when verifying JWT claims (#9102)

Fixed

  • Bump date_updated on suspension so clients receive the suspended flag (#9092)

Removed

  • Remove deprecated OpenChatBotMessage event type (#9032)

Notes

The new moderation endpoints stay dormant until the rest of the stack is released and the internal moderation channel + OpenAI API key are configured by a platform operator, so this upgrade is safe to release ahead of the other canisters.

Wasm Verification

Verify that the hash of the gzipped WASM matches the proposed hash.

git fetch
git checkout e1c947f33ce3e665bc19215023053b672b49c2b7
./scripts/verify-release.sh 2.0.1993 6b578ce34db08a43d2a624c5a23301d3cb421b438c47f7a8634ebcfd78f781d5
Payload

Proposal to execute nervous system function:

Nervous system function:

NervousSystemFunction { id: 9000, name: "Upgrade canister", description: Some( "This will instruct the OpenChatInstaller canister to upgrade the specified canister.", ), function_type: Some( GenericNervousSystemFunction( GenericNervousSystemFunction { target_canister_id: Some( jodzs-iqaaa-aaaar-qamqa-cai, ), target_method_name: Some( "upgrade_canister", ), validator_canister_id: Some( jodzs-iqaaa-aaaar-qamqa-cai, ), validator_method_name: Some( "upgrade_canister_validate", ), topic: Some( DappCanisterManagement, ), }, ), ), }

Payload sha256:

50c44e9c54a129c5161e1a258750d694c04dfc3700828e0d5f7df08cf60f16eb

Payload:

{ "canister_type": "UserIndex", "version": { "major": 2, "minor": 0, "patch": 1993 }, "wasm_hash": "6b578ce34db08a43d2a624c5a23301d3cb421b438c47f7a8634ebcfd78f781d5", "filter": null }

Overview