Project: Block highlighting and better in-window navigation

type: #Project
owner: @horacio
status: Ready to Review

Problem

There's no excuse to not expose the block linking capabilities we have in the app/site navigation. The current in-window navigation is not present and our users want it!
(sorry for the poor Problem explanation, I invest more time into the solution!) 👇

Solution

Highlight blocks when blockID is present in the navigation (both app and sites)

In both the app and sites we hav support for including the blockId in the URL. This means that we can check if the blockID is present in the URL, we can change the Visual of a block by adding a different background that highlights it over the others.
example of a highlighted block in a site
example of a block highlight in the app

Scroll blocks into view when interacting with embeds in the accessory panel

This is specially important when reading conversations. If a user clicks on an embeded block of the document that is loaded in the main panel, instead of opening a new window we should include the block in the URL and scroll the block into view if it's not visible. This is a pretty straight-forward interaction we must support.
This should also support when clicking on a site link. we should not only highlight the block but also scroll it into view if necessary.

What happens if the embedded block that the comment is referencing is part of a different version from the one in the main panel?

In this case we have two options:
    show a label ("outdated" or "go to actual version") in the embed so the user knows that this block is not part of the current version displayed in the main panel
    open the actual version in another window as we do it now
example of a comment made referencing a previous version ov the current document in the main panel

Scope

1 week.

Rabbit Holes

Highlight blocks when hover on the same window

This is the first step to bring back the old "visible connections" feature we all want and had before. Basically we should be able to highlight blocks that are embeded and viceversa in the same window when we have for example the comment accessory open.

Focus windows of already opened documents

One thing that we commented to do is to make sure a document should not be open on more than one window. While this was straight-forward before, is a little-bit more complex what constitutes "one document":
    is it a document variant considered a separate document?
    what about documents with the latest flag?
    what about documents with a combination of variants?
Before we can establish what distinguishes one document from another, we need to clarify the definition of the delimiter. I think it might be more appropriate to consider this aspect beyond the scope of our current discussion.

No-gos

Highlight blocks across windows

While this will be a great nice to have (specially for me), I believe this includes a technical challenge that is not worth taking at this scope. I will write another document for next releases.