Problem/Motivation
This is a partial extract from views.view.content_recent.yml.
id: content_recent
label: 'Recent content'
...
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
...
link_display: custom_url
...
block_1:
...
display_options:
link_url: admin/content
...
Even though the link_display property is set for the default display, it does not load because link_url is not set. That property is set for the block but since that does not define link_display and/or does not override it, and is never used as seen from the screenshot below:

Further, this is blocking another critical issue: #2409209: Replace all _url() calls beside the one in _l()
Proposed resolution
Modify the view to store the link_url for the default view in the Recent Content view and any other view that suffers from this.
Remaining tasks
Write a patch
User interface changes
None
API changes
None
Beta phase evaluation
Comments
Comment #1
hussainwebSimple fix. This would need screenshots.
Also, I was a little confused when I said views.view.user_admin_people.yml also needs fixing. The link_display points to another display and not custom_url. This is the only view that uses a custom url in core, apparently. Updating issue summary.
Comment #2
hussainwebComment #3
hussainwebThe patch works. Here is the screenshot from simplytest.me:
Comment #4
hussainwebUpdating tags. :)
Comment #5
hussainwebEven though it looks like the fix works, I am wondering if we should clean up the views files further. Should we continue to have
link_urlunderblock_1as well or can we remove it? Exporting the view also adds a property calleddisplay_extendersbut I think that will become too much to change here (and we might have to change all other yml files as well). We should target to get this done soon so that the other critical can move ahead.We can also merge the fix in that issue but I wanted to keep the discussion separate. It really isn't a duplicate issue either, as this bug had different effects unrelated to the issue in #2409209: Replace all _url() calls beside the one in _l().
Comment #6
mpdonadioI think this is a general problem with the view definition, but I am not sure the patch is quite correct. The next step is to manually make the same view, and export it to see what is different.
My initial thought is that the `link_url` needs to be removed from the block display, too.
We also need to see why this wasn't caught by an existing test and/or add test coverage for it.
Comment #7
dawehnerI'd agree.
Comment #8
xjmLooking into this.
Comment #9
xjmSo I rebuilt the view through the UI (attached) and then went over the diff with the default view in HEAD. Attached is that patch. I'll go over the individual changes in a subsequent comment.
Comment #10
xjmThis is the source of the bug: For some reason, the link_url existed on the view under the display options for the block display rather than the default display, separately from the rest of the more link configuration. So, I'm going to test and see what happens when I override this on a display.
Maybe this is related to the bug?
Legacy field configuration that I've confirmed goes away with the existing view if I re-save the style plugin configuration form.
Moved lines.
Me accidentally not removing the label from this field; I'll fix that in a subsequent patch.
Moved lines.
No idea what said this originally but it's all empty configuration so no effect on the view.
Moved lines.
Moved lines.
Moved line.
Me following our UI text standards in the UI; technically a minor bug in HEAD.
Moved line.
Moved line.
Different (presumably schema-updated) value of false.
Moved line.
Moved line.
Moved line.
This is the empty value that would be saved if it previously had a different filter configuration, but has no effect because it is the default behavior.
This line also was on the block display options instead of the master display, but it's empty in any case.
Moved lines.
Comment #11
xjmJust fixing the label thing.
Comment #12
xjmSo looks like this is the only view in HEAD that has a more link, other than the test view for that feature:
I confirmed that the
more_linkbits are actually unrelated; this is an option in the field rewrite settings to add the more link if the content is truncated.Comment #14
xjmSo I have tried lots of variations of adding and removing overrides in the UI and cannot reproduce what's in HEAD that way.
The more link feature itself has test coverage (as above). The block has test coverage in
NodeBlockFunctionalTest, but it doesn't test the more link. Adding test coverage.Attached screenshots show the actual block in HEAD and with the patch.

Comment #15
xjmNow with tests.
Comment #16
dawehnerSeems legit.
Comment #17
xjmComment #19
xjmOh, I should note, this is not critical in itself presently -- but the malformed view blocks us in #2409209: Replace all _url() calls beside the one in _l() because it breaks entirely with that conversion.
Comment #20
xjmEr. So per #19. :)
Comment #21
xjmComment #22
webchickGreat work! I had a few questions but #10 pre-emptively answered all of them.
Committed and pushed to 8.0.x. Thanks!