Upgrade LocalUserIndex canisters to 2.0.2000
GitHub commit
https://github.com/open-chat-labs/open-chat/commit/deddb95f60c73d72b5379238c7e71019441e4a1f
Changelog
Description
This release is the second step of the new moderation pipeline (following the UserIndex release). It adds the LocalUserIndex's role as the moderation broker - batching public message classification requests across all of its local canisters and calling the OpenAI Moderation API - plus the event forwarding needed to sync moderation flags from the GroupIndex down to groups and communities. It also adds the Translate access token which the upcoming website release requires for the new server-gated message translation proxy.
Added
- Forward
GroupModerationFlagsChangedevents from group_index to groups (#9089) - Forward
CommunityModerationFlagsChangedevents from group_index to communities (#9088) - Add
Translateaccess token type for the translation proxy, issued to diamond members and platform moderators (#9100)
Changed
- Classify public group and community messages via the OpenAI Moderation API, batching requests across all local canisters (#9091)
- Pass in
expected_claim_typewhen verifying JWT claims (#9102)
Fixed
- Drop pooled canisters the LocalUserIndex doesn't control instead of re-pooling them forever (#9113) - this fixes a bug where a LocalUserIndex whose canister pool contained canisters it no longer controls (leftovers from the LocalGroupIndex merge) would repeatedly fail to create groups/communities or register users
Notes
The message classification job stays dormant until the OpenAI API key is configured by a platform operator, which will only be done once the full system is in place and everyone has been informed.
Wasm Verification
Verify that the hash of the gzipped WASM matches the proposed hash.
git fetch
git checkout deddb95f60c73d72b5379238c7e71019441e4a1f
./scripts/verify-release.sh 2.0.2000 a3dceef69dfb3f32d9bf0aaf677543fe438f02c4b98e7f195e0aeaec9aaee0ca
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:
b1d6169038367b75d5693a90e55147ca825b6583fe9642d7e07b204f36ea19fa
Payload:
{ "version": { "major": 2, "minor": 0, "patch": 2000 }, "wasm_hash": "a3dceef69dfb3f32d9bf0aaf677543fe438f02c4b98e7f195e0aeaec9aaee0ca", "filter": null }