···3232import { HorizontalRule } from "./HorizontalRule";
3333import { deepEquals } from "src/utils/deepEquals";
3434import { isTextBlock } from "src/utils/isTextBlock";
3535+import { focusPage } from "src/utils/focusPage";
35363637export type Block = {
3738 factID: string;
···6263 // Block handles all block level events like
6364 // mouse events, keyboard events and longPress, and setting AreYouSure state
6465 // and shared styling like padding and flex for list layouting
6565-6666+ let { rep } = useReplicache();
6667 let mouseHandlers = useBlockMouseHandlers(props);
6768 let handleDrop = useHandleDrop({
6869 parent: props.parent,
+12
components/Blocks/useBlockMouseHandlers.ts
···88import { getBlocksWithType } from "src/hooks/queries/useBlocks";
99import { focusBlock } from "src/utils/focusBlock";
1010import { useIsMobile } from "src/hooks/isMobile";
1111+import { scrollIntoViewIfNeeded } from "src/utils/scrollIntoViewIfNeeded";
1212+import { elementId } from "src/utils/elementId";
11131214let debounce: number | null = null;
1315export function useBlockMouseHandlers(props: Block) {
···3941 parent: props.parent,
4042 });
4143 useUIState.getState().setSelectedBlock(props);
4444+4545+ // scroll to the page containing the block, if offscreen
4646+ let parentPage = elementId.page(props.parent).container;
4747+ setTimeout(() => {
4848+ scrollIntoViewIfNeeded(
4949+ document.getElementById(parentPage),
5050+ false,
5151+ "smooth",
5252+ );
5353+ }, 50);
4254 }
4355 },
4456 [props, entity_set.permissions.write, isMobile],
+2-2
components/Canvas.tsx
···165165 if (!pub || !pub.publications) return null;
166166167167 if (!normalizedPublication) return null;
168168- let showComments = normalizedPublication.preferences?.showComments;
169169- let showMentions = normalizedPublication.preferences?.showMentions;
168168+ let showComments = normalizedPublication.preferences?.showComments !== false;
169169+ let showMentions = normalizedPublication.preferences?.showMentions !== false;
170170171171 return (
172172 <div className="flex flex-row gap-3 items-center absolute top-6 right-3 sm:top-4 sm:right-4 bg-bg-page border-border-light rounded-md px-2 py-1 h-fit z-20">