This diff addresses ENG-8953. I went through each broken permission listed here.
- The changes in lib/types/thread-permission-types.js update the mapping from UserSurfacedPermission to role permission strings, the representation used in MariaDB. We add permission strings that guarantee each user-surfaced permission propagates to descendants in the right way.
- The changes in lib/permissions/thread-permissions.js removes these permissions from being assigned based on ThreadType. The user-surfaced permissions are responsible for these permissions, so we need to make sure they don't appear if the admin didn't grant them.
Depends on D13016
Can we extract this to its own line? Similar to how we want await to be visible, I think it's good for hooks to be as well