* origin/lf/unread-day-indicators:
chat-fe: fix unreadnotice position on mobile
chat-fe: add unread and day indicators
Signed-off-by: Jared Tobin <jared@tlon.io>
* liam-fitzgerald/lf/publish-del-edit:
chat-fe: move cancel button below comment edit
publish-js: lift editing state to comment list
publish: fix check on edit-comment delta
publish-js: avoid unnecessary scrollbars on note view
publish-js: allow deletion and editing of comments
publish: use @tas for comment ref in marks
Signed-off-by: Jared Tobin <jared@tlon.io>
* origin/ed/chore-update-contributing:
contributing.md: removed interface dev instructions from root-level doc, integrated into existing interface-specific doc
contributing.md: added more pre-req detail to the beginning of the edit
contributing.md: Added a new section outlining how to develop urbit's interface
Signed-off-by: Jared Tobin <jared@tlon.io>
* liam-fitzgerald/mp/chat/firefox-take-2:
chat-fe: more FF scrollback fixes
chat-fe: fix index issue with pending messages
chat-fe: correct FF scroll behaviour
chat: scrollToBottom on mount for FF
chat: only scrolltobottom if first backlog grab
chat: add firefox-specific chat window
Signed-off-by: Jared Tobin <jared@tlon.io>
* origin/m/link-perf:
link-listen-hook: partially revert 05e6519
link fe: refactor message display into component
link fe: more informative "empty list" display
link-view: in pagination logic, only +lent once
link: minimal initial view result
link-view: add some hints to aid profiling
Signed-off-by: Jared Tobin <jared@tlon.io>
To produce message elements we iterate over pendingMessage ++ messages,
but to check whether they're adjacent to a message by the same author,
we index back into messages, which produces incorrect results when
pendingMessages is nonEmpty
* origin/fix-chat-autojoin:
chat-js: fix auto-join and a chatSynced error
chat-js: fix issue with autojoining
Signed-off-by: Jared Tobin <jared@tlon.io>
Makes the rules that set both a background and foreground color come
last in the CSS, increasing their specificity. Changes the highlight to a
lighter grey, to better stand out. Correctly aligns highlights with code
block backgrounds.
Fixes#2684
the root container had height: 100% but also a margin-top set on it. This
caused unnecessary scrollbars to appear when the content did not
actually overflow the container.
Firefox treats the reflow in the scroll container weirdly so for the
scrollback case, we save the position to restore later, when the backlog
messages come in. For the 'locked at bottom' case we add a new state
variable and rescroll based on that.
Previously, if a room was navigated to directly, the resubscribe message
would show before the chatSynced state was loaded. Initialises
chatSynced as null and checks it is not null before showing the
resubscribe message.
On initial load, instead of getting the first 25 links for every
collection, only get their totals and unread counts. This drastically
reduces the pageload time.
Updates the frontend to match:
- Handle initial results without link content.
- Dynamically load in collection's links, even for page 0.
If the initial 20 messages doesn't cause the messages container to
overflow then the backlog will never be requested, making scrollback
impossible. This is due to making the container have position:relative
in order to display an overlay inside it. Fixed by unconditionally
requesting the first page of backlog on load.
Refactored the patp autocomplete into a reusable component, and then
used that to add the DM popover interface. Also introduces some
performance improvements for the popover.
Triggers invitee suggestions after one character of input. To
compensate for the potential explosion of suggestions, we
tighten our group searching criteria and truncate the
ship suggestions on short searches. Also addresses a bug where names of
groups were not being downcased before search.
Fixes#2635
Hide and shows profile overlay on sigil click. Shows the overlay for 2
seconds after click. If the user moves their mouse into the overlay then
it will remain open as long as the mouse is inside the overlay.
Adds a profile overlay to display information about the user on hover.
Also adds the svgClass prop to the sigil component, to allow setting
classes directly on the sigil svg.
Improve the UX of the loading spinner that shows when you have a new
note, by displaying it until we receive the new note in the
subscription, instead of until the poke succeeds.
Empty groups caused the padding on the first group to be too large.
Filter the groups before we map over them so that we can set padding
properly.
Fixes#2674
Shows the spinner whilst joining a channel, both manually and from a
url. Also fixes an issue where a newly joined channel may be navigated
away from automatically.