Release assets not visible to Guest users of private projects
Summary
Release assets are not visible when viewing the Releases page as a Guest user.
Steps to reproduce
- Create a new private project
- Create a new Release with at least one asset link
- Add a new user with Guest permissions
- Log in as this user, and navigate to the project's Releases page
What is the current bug behavior?
The user is unable to see any assets (sources or links). The Assets section is missing.
What is the expected correct behavior?
The user should be able to see an Assets section if the release contains at least one asset link.
Note: the user should not be able to see any sources. Sources are not visible to Guest users.
Relevant logs and/or screenshots
This is caused by a frontend error. Here is the error message in the browser console:
[Vue warn]: Error in render: "TypeError: this.assets.sources is undefined"
found in
---> <ReleaseBlockAssets> at releases/components/release_block_assets.vue
<ReleaseBlock> at releases/components/release_block.vue
<ReleasesApp> at releases/components/app_index.vue
<Root>
Output of checks
This bug happens on GitLab.com.
Possible fixes
This bug was introduced in %13.1 by !33643 (merged).
This new behavior can be disabled by disabling the release_asset_link_type
feature flag:
Feature.disable(:release_asset_link_type)