Commit Graph

3525 Commits

Author SHA1 Message Date
Liam Fitzgerald
e21f9d772a chat: leave chats associated with group on group leave
When a group is left, the permissions no longer exist and the mailbox
subscription is kicked. Before attempting to resubscribe, we simply
check if we still have permissions and if not, leave the chat.
2020-04-21 07:47:48 +10:00
Jared Tobin
39c707e596
Merge branch 'ed/chore-update-contributing' (#2380)
* 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>
2020-04-20 13:17:27 +04:00
Jared Tobin
8306560a89
Merge branch 'liam-fitzgerald/mp/chat/firefox-take-2' (#2733)
* 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>
2020-04-20 12:41:51 +04:00
Jared Tobin
a2eaec6d6f
Merge branch 'm/link-perf' (#2728)
* 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>
2020-04-20 12:40:58 +04:00
Liam Fitzgerald
f10bf3c894 chat-fe: add unread and day indicators 2020-04-19 02:23:32 +10:00
Liam Fitzgerald
95edde5d27 groups-js: seperate user's ship from rest of contacts 2020-04-18 21:17:47 +10:00
Fang
dbc172af29
Merge pull request #2758 from urbit/m/chat-cli-order
chat-cli: account for reverse message ordering
2020-04-18 13:16:54 +02:00
Fang
0815c56d1d
Merge pull request #2746 from urbit/m/chat-hook-leave
chat-hook: on %remove, try our best to pull subs
2020-04-18 13:13:53 +02:00
Fang
9f42d420b3
chat-hook: remove incorrect comment
We do, in fact, use it. Implicitly, when reestablishing the subscription during
kick handling.
2020-04-18 13:13:08 +02:00
Ted Blackman
7b19580503 fix +sloe for %hint'ed cores 2020-04-18 02:11:34 -04:00
Liam Fitzgerald
4d118ce6c4 chat-js: revive # prefix for code messages 2020-04-18 15:10:19 +10:00
Matilde Park
99875b2f45 various: set sigil foreground based on contrast 2020-04-17 19:27:37 -04:00
Liam Fitzgerald
535cace962 chat-js: toggle code editor on icon click
Toggles a code editor, to enable sending of 'code' type messages. 'me'
type messages are now sent by beginning a message with /me.
2020-04-17 21:46:17 +10:00
Liam Fitzgerald
11e69b7bd0 chat-js: disabled block level elements in messages 2020-04-17 21:13:58 +10:00
Liam Fitzgerald
63fc6ed513 various-fe: add unread counts to title 2020-04-17 16:51:51 +10:00
Liam Fitzgerald
5fbe955874 chat-fe: more FF scrollback fixes 2020-04-17 15:17:52 +10:00
Liam Fitzgerald
1b90328f39 chat-fe: fix index issue with pending messages
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
2020-04-17 14:20:28 +10:00
Liam Fitzgerald
41be649764 Merge branch 'master' into mp/chat/firefox-take-2 2020-04-17 12:06:34 +10:00
Fang
6f13546e2d
chat-cli: account for reverse message ordering
#2618 changed the way chat-store orders messages. We need to account for that
when processing/printing. This is the minimum viable fix.
2020-04-16 16:52:40 +02:00
Jared Tobin
18878727b0
Merge branch 'liam-fitzgerald/lf/links-autoleave' (#2754)
* liam-fitzgerald/lf/links-autoleave:
  link: leave collection on leaving associated group

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-04-16 16:54:32 +04:00
Jared Tobin
e7984324be
Merge branch 'fix-pending' (#2751)
* origin/fix-pending:
  chat-js: fix chat ordering and pending messages

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-04-16 16:54:12 +04:00
Jared Tobin
6ef155b82b
Merge branch 'fix-chat-autojoin' (#2749)
* 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>
2020-04-16 16:53:59 +04:00
Jared Tobin
b655105a38
Merge branch 'liam-fitzgerald/lf/link-ios-crash' (#2742)
* liam-fitzgerald/lf/link-ios-crash:
  link-js: fix pages disappearing on small screens

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-04-16 16:53:36 +04:00
Liam Fitzgerald
a7a539bb24 link: leave collection on leaving associated group
Automatically leaves a collection when the user is removed from a group
2020-04-16 21:45:58 +10:00
Liam Fitzgerald
945fb3fca6 chat-js: render markdown in messages
Renders markdown in text messages but not url or code messages.
2020-04-16 20:21:29 +10:00
Liam Fitzgerald
9574765de6 chat-js: use CodeMirror for chat input
swaps out the textarea for a CodeMirror in markdown mode. Resolves an
issue related to the input shrinking with the content.
2020-04-16 20:21:29 +10:00
Liam Fitzgerald
a424312d12 chat-js: add CodeMirror dependency
Adds CodeMirror dependency and related css
2020-04-16 20:21:27 +10:00
Fang
4c4858f198
chat-hook: clarify backlog wire handling logic 2020-04-16 01:44:36 +02:00
Fang
d1feabd1fb
dbug: print result with priority
To give it some color, making it less easy to miss.
2020-04-15 23:50:53 +02:00
Logan Allen
e98605c1bb chat-js: fix chat ordering and pending messages 2020-04-15 16:48:33 -04:00
Fang
e2034eca19
dbug: avoid printing nothing at all
Previously, if filtering subscriptions turned up no results, nothing was
printed. With this change, we explicitly print "no matching subscriptions"
instead.
2020-04-15 22:28:59 +02:00
Logan Allen
c497d5a6a6 chat-js: fix auto-join and a chatSynced error 2020-04-15 15:58:03 -04:00
Logan Allen
f035070387 chat-js: fix issue with autojoining 2020-04-15 15:04:54 -04:00
Fang
0f05ed3149
chat-hook: consistently pull backlog subs
We weren't accounting for backlog subscriptions with non-zero message
indexes in their wires. Now, we look through all of our outgoing
subscriptions to identify relevant backlog subscriptions, and leave all
of those.

The more proper fix here is to not include message indexes in the wire
in the first place, since we don't ever reuse that anywhere. But that's
a more invasive change, so we just leave a TODO for it instead.
2020-04-15 19:26:58 +02:00
Jared Tobin
65cad93b1b
Merge branch 'liam-fitzgerald/lf/chat-input-line-height' (#2743)
* liam-fitzgerald/lf/chat-input-line-height:
  chat-js: adjust line height in chat input

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-04-15 20:18:14 +04:00
Fang
084ce356a8
chat-hook: on %remove, try our best to pull subs
Previously, we were removing the relevant entry from the `synced` map
before calling `+pull-wire`, which requires an entry to still be there.
This lead to subscriptions not actually being pulled, commonly leading
to "subscribe wire not unique" errors on re-join.

In addition to fixing that, `%remove` actions now try to pull the
subscription regardless of whether they have an entry in the `synced`
map or not. `%leave` is always safe, and we might want to clean up
subscriptions that shouldn't be there anymore in the first place.
2020-04-15 16:29:26 +02:00
Liam Fitzgerald
8b48f3fa0f chat-js: adjust line height in chat input
Set the line height of the input to be the same as a sent message.
Additionally fixes an issue that would cause unnecessary scrollbars to
be shown.
2020-04-15 15:08:42 +10:00
Liam Fitzgerald
536e3121b6 link-js: fix pages disappearing on small screens
The rightPanelHide prop was being improperly set on the home, settings
and members screens, causing them to be blank on small screen sizes

Fixes #2727
2020-04-15 14:27:29 +10:00
Liam Fitzgerald
50dca97b07 publish: increase legibility for code in dark mode
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
2020-04-15 13:45:22 +10:00
Liam Fitzgerald
ba18737b5e chat-fe: move cancel button below comment edit 2020-04-15 10:59:56 +10:00
Liam Fitzgerald
b538cfd3ea chat-fe: address review comments 2020-04-15 10:48:46 +10:00
Liam Fitzgerald
963d04831d Merge branch 'master' into lf/publish-del-edit 2020-04-15 10:07:29 +10:00
Liam Fitzgerald
595acd17ff publish-js: lift editing state to comment list 2020-04-15 09:57:43 +10:00
Liam Fitzgerald
c46642af8d publish: fix check on edit-comment delta
An incorrect check caused comment editing to never be propagated.
2020-04-15 09:57:07 +10:00
ixv
b978d4f824
Merge pull request #2736 from urbit/ixv/fix-comment-grow
publish: fix bug in comment mark
2020-04-14 15:53:26 -07:00
Logan Allen
0145981542 contact-js: made channel handle onChannelError 2020-04-14 18:16:44 -04:00
Logan Allen
bfcaf6468e contact-hook: tested it, got /synced path working, and subscriptions loading 2020-04-14 18:05:32 -04:00
Logan Allen
b6e4566e61 contacts: fix group deletion and do some quality of life fixes 2020-04-14 21:33:01 +00:00
ixv
5bb9776b70
Merge pull request #2730 from liam-fitzgerald/lf/chat-synced-fix
chat-fe: resubscribe message iff chatSynced is populated
2020-04-14 11:40:45 -07:00
ixv
e5cf4fb813
Merge pull request #2720 from urbit/la-channel-err
channel.js: added way to handle event source errors more smoothly, and implemented in chat
2020-04-14 11:40:02 -07:00
Isaac Visintainer
113c86037c publish: fix bug in comment mark 2020-04-14 11:23:06 -07:00
Fang
7b5f7cde6b
link-listen-hook: partially revert 05e6519
We still want to auto-opt-in to new collections for _unmanaged groups_,
because we have no other way to join them.
2020-04-14 16:12:09 +02:00
Liam Fitzgerald
a3fed45af1 publish-js: avoid unnecessary scrollbars on note view
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.
2020-04-14 20:38:35 +10:00
Liam Fitzgerald
d63cc0d7de publish-js: allow deletion and editing of comments
Adds interface affordances for the addition and removal of comments.
2020-04-14 20:20:59 +10:00
Liam Fitzgerald
fa92d1cb7f publish: use @tas for comment ref in marks
Comment references in publish actions are @tas of a rendered @da. The
mark expected @da, causing a mismatch.
2020-04-14 20:15:57 +10:00
Liam Fitzgerald
9ddf06d2a1 chat-fe: correct FF scroll behaviour
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.
2020-04-14 16:34:10 +10:00
Isaac Visintainer
d8cdbfdeb8 release: urbit-os-v1.0.13 2020-04-13 19:26:13 -07:00
ixv
2c56937f0d
Merge pull request #2701 from lukechampine/syntax-error-src
ford: print source line on syntax error
2020-04-13 19:03:05 -07:00
Liam Fitzgerald
a6c5e96902 chat-fe: don't redirect if creating group 2020-04-14 11:50:47 +10:00
Liam Fitzgerald
786f2518e7 chat-fe: resubscribe message iff chatSynced is populated
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.
2020-04-14 11:41:38 +10:00
Matilde Park
a4d37c0313 Merge branch 'master' into mp/chat/firefox-take-2 2020-04-13 21:38:27 -04:00
Liam Fitzgerald
1d81107d72 Merge branch 'master' into lf/profile-overlay 2020-04-14 11:04:52 +10:00
Liam Fitzgerald
a2998bdc41 chat-fe: redirect to DMs on trivial new group case
Create or view a DM upon trying to create an invite-only group with one invitee.
2020-04-14 11:01:31 +10:00
ixv
a7f20c37c1
Merge pull request #2700 from liam-fitzgerald/lf/invite-search-short
invite-search: handle suggestions for short searches
2020-04-13 16:56:26 -07:00
ixv
2d30886b65
Merge pull request #2724 from urbit/ixv/install-mousetrap
publish: install mousetrap before we use it....
2020-04-13 16:55:40 -07:00
ixv
228bee42e4
Merge pull request #2707 from urbit/ixv/cache-posts
publish: eagerly store your own changes
2020-04-13 16:54:41 -07:00
ixv
3526cfa4e6
Merge pull request #2618 from urbit/chat-reverse-messages
chat: reversed order that messages are stored in for faster performance
2020-04-13 16:54:16 -07:00
Isaac Visintainer
78023b8eff publish: ignore edit updates if they originated with us 2020-04-13 13:34:50 -07:00
Isaac Visintainer
7edcd65699 publish: add facilities for managing limbo state 2020-04-13 13:33:34 -07:00
Fang
7aebcad25b
link fe: refactor message display into component 2020-04-13 21:54:50 +02:00
Fang
0d73b391b4
link fe: more informative "empty list" display
Displays "Loading..." if the links haven't loaded yet. If there are no
links, tells the user they can save one.
2020-04-13 21:37:42 +02:00
Fang
4da0d636d3
link-view: in pagination logic, only +lent once
Also just use +swag instead of chaining +scag and +slag manually.
2020-04-13 21:26:44 +02:00
Fang
8f3d174c94
link: minimal initial view result
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.
2020-04-13 21:26:09 +02:00
Fang
bf42afbd56
link-view: add some hints to aid profiling 2020-04-13 21:15:51 +02:00
Jared Tobin
cc16e905af
Merge branch 'yosoyubik/apt-dup' (#2417)
* yosoyubik/apt-dup:
  hoon: +apt:by check for duplicate keys
2020-04-13 17:43:41 +04:00
Jared Tobin
bf78e71479
Merge branch 'courajs/json-unit-tests' (#1769)
* courajs/json-unit-tests:
  Change at:dejs-soft:format to reject too-long json arrays
  Add unit tests for json de/serialization.
2020-04-13 16:38:42 +04:00
Isaac Visintainer
2608dea563 publish: style changes and comments 2020-04-13 00:04:33 -07:00
Isaac Visintainer
d3ab26e57c publish: restore OS0 -> OS1 transition logic 2020-04-12 23:38:54 -07:00
Isaac Visintainer
277bc8d465 publish: make reducers able to handle duplicate updates now that we send updates both pre and post confirmation 2020-04-12 23:21:43 -07:00
Isaac Visintainer
a40d292bb7 publish: remove or add posts/comments from limbo depending on whether they succeeded or failed 2020-04-12 23:21:42 -07:00
Isaac Visintainer
d2fdae4d4b publish: immediately store post and comment changes 2020-04-12 23:21:42 -07:00
Isaac Visintainer
f9e17e61a2 publish: update state with limbo field 2020-04-12 23:21:42 -07:00
Isaac Visintainer
20d3c4105d publish: install mousetrap before we use it.... 2020-04-12 23:05:32 -07:00
Liam Fitzgerald
2c870cdfc0 chat-fe: resuscitate scrollback
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.
2020-04-11 20:07:01 +10:00
Liam Fitzgerald
d2d9158ea3 chat-fe: hide profile overlay on click outside
Hides the profile overlay when the users clicks outside the overlay.
2020-04-11 19:34:11 +10:00
Liam Fitzgerald
966155088c chat-fe: move new DMs to ship select popover
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.
2020-04-11 17:47:11 +10:00
Liam Fitzgerald
803c7b4816 chat-fe: edit group identity if own profile overlay
Shows an "Edit Group Identity" button instead of "Send Message" if the
profile overlay being shown is the user's own.
2020-04-11 10:44:57 +10:00
Liam Fitzgerald
e5634a913d invite-search: always add search query if valid patp 2020-04-11 10:17:49 +10:00
Logan Allen
fb3111e88a channel.js: added way to handle event source errors more smoothly, and implemented in chat 2020-04-10 19:38:13 -04:00
Logan Allen
98f4df14a4 chat-js: made scrollback work for new message indexing 2020-04-10 22:22:14 +00:00
Logan Allen
8ffca926e7 chat-js: reverted built files 2020-04-10 17:34:23 -04:00
Logan Allen
6d1efde884 chat-js: fixed scrollback for reverse message chatrooms 2020-04-10 17:29:23 -04:00
Matilde Park
948dbe85e7 chat: scrollToBottom on mount for FF 2020-04-10 16:55:23 -04:00
Matilde Park
a212a5dc69 Merge branch 'master' into mp/chat/firefox-take-2 2020-04-10 16:44:15 -04:00
Matilde Park
1ddbc77157 chat: only scrolltobottom if first backlog grab 2020-04-10 16:42:05 -04:00
Matilde Park
3dc6a0bc9a chat: add firefox-specific chat window 2020-04-10 16:34:27 -04:00
ixv
e253ec1860
Merge pull request #2562 from nijynot/chore/interface-lint
interface: add eslint to interface and lint `launch` and `chat`
2020-04-10 13:04:58 -07:00
Logan Allen
b85697cbec chat-hook: respect backlog index, no longer truncate 2020-04-10 15:25:58 -04:00
Logan Allen
be1d5cee56 chat-store: flop envelopes in handle-messages so backlog comes in correct order 2020-04-10 15:25:58 -04:00
Logan Allen
8cdfb559f6 chat-view and hook: style pass and backlog truncation 2020-04-10 15:25:58 -04:00