Commit Graph

998 Commits

Author SHA1 Message Date
Philip Monk
41fd367bff
ames: make routing simpler 2020-02-10 17:49:18 -08:00
Logan Allen
2cae31783e chat-js: on selecting a group from search, set id of chat to that name and disable form 2020-02-10 16:24:05 -08:00
Logan
41f1cb67ca
Merge pull request #2262 from urbit/dupe-invite-os1
contact-hook: fix invite to group being sent back to owner upon accep…
2020-02-10 15:29:13 -08:00
Logan Allen
2d0e7c76c5 contact-hook: fix invite to group being sent back to owner upon acceptance 2020-02-10 15:25:48 -08:00
Isaac Visintainer
d98aed183f add ourselves to the notebook groups we create 2020-02-10 12:44:10 -08:00
Fang
5eab689d0a
Merge pull request #2259 from urbit/m/link-unreader
link: unread counters in sidebar
2020-02-10 20:53:07 +01:00
Fang
9c9b1fcaec
link fe: display unseen link counts in sidebar 2020-02-10 20:52:47 +01:00
Fang
fcf1255b7d
link-store: add scry endpoint for getting unseen urls 2020-02-10 20:18:42 +01:00
Fang
b876716f0d
chat-hook: evaluate result-less %code messages
Prior to sending them out to the messaging target.
2020-02-10 16:34:37 +01:00
Logan Allen
c38641c182 chat: gray out and disable the security toggle when create group is selected 2020-02-07 17:27:01 -08:00
Logan
86893ab645
Merge pull request #2253 from urbit/chat-auto-add
chat: auto-invite on addition to group
2020-02-07 16:18:36 -08:00
Logan Allen
3e94033196 chat: auto-invite on addition to group 2020-02-07 15:52:55 -08:00
ixv
fbe9882888
Merge pull request #2252 from urbit/ixv/publish-multiple-fixes
OS1: publish, multiple fixes
2020-02-07 15:23:14 -08:00
Fang
789d9719a4
Merge pull request #2246 from urbit/mp/os1/link-previews
links: link previews for images and youtube
2020-02-08 00:22:35 +01:00
Fang
7a5b79b020
link fe: ensure we don't visually truncate titles 2020-02-08 00:21:49 +01:00
Isaac Visintainer
3e308fe15b handle inviting/kicking when ship is added/removed from group 2020-02-07 14:06:19 -08:00
Fang
b8ffebcb9d
link: support marking urls as seen 2020-02-07 21:49:16 +01:00
Fang
b08a4ef605
link-store: touch up interface path docs 2020-02-07 21:43:11 +01:00
Fang
2df646bd0a
link-store: reject pokes without content 2020-02-07 21:42:33 +01:00
Matilde Park
f4faef2b6c link: link previews for images and youtube 2020-02-06 20:48:30 -05:00
Matilde Park
83a7e45e74 link: add "groupPath" to link-submit.js 2020-02-06 19:42:26 -05:00
matildepark
140e1b4d9d
Merge pull request #2243 from urbit/la-chat-sig-path
chat + contacts: finished integration for managed groups
2020-02-06 19:29:18 -05:00
matildepark
6f65a65d85
Merge pull request #2244 from urbit/m/link-fe-path
link fe: use base64url
2020-02-06 19:20:02 -05:00
Fang
5443a3ec7b
link fe: be consistent about groupPath (vs path)
Prefer "groupPath" name over just "path" consistently to avoid
ambiguity.
2020-02-07 01:07:36 +01:00
Logan Allen
ea93dd3af8 chat + contacts: finished integration for managed groups
Specifically, this commit removes the add action from the contact-view
and replaces it with a listener within contact-hook for additions
to groups. This means that when a ship is added to a group that the
contact-hook is watching, the ship is automatically sent an invite to
join that "managed group" from the contacts application. This also
includes the UI integration work on the management screen and settings
screen for working with the new group / permission structure.
2020-02-06 16:02:45 -08:00
Logan Allen
64ff95d27c chat: backend work to support ~ paths 2020-02-06 16:01:00 -08:00
Isaac Visintainer
93b9c6d5d9 added invites to sidebar in publish 2020-02-06 14:31:51 -08:00
Fang
1490e415c4
Merge branch 'os1-rc' into m/link-fe 2020-02-06 21:38:11 +01:00
Isaac Visintainer
45b82e04f0 updated notebook creation logic to be in line with groups/contacts
added invite reducer
fixed page transition on new notebook creation
2020-02-06 11:42:48 -08:00
Matilde Park
ccdb4b0259 publish: new.js, contact-view + group-store 2020-02-06 11:42:46 -08:00
Logan Allen
69fbf7f13f Merge branch 'mp/os1/publish-sidebar' into os1-rc 2020-02-06 11:37:50 -08:00
Fang
2f1f9b9c56
link fe: remove unused link-initial logic
Also includes up-to-date index.js.
2020-02-06 17:33:34 +01:00
Fang
4222ebbfb3
link fe: always render up-to-date comment counts 2020-02-06 15:04:47 +01:00
Fang
ab21f67ba6
link: support loading individual submissions
On the frontend, updates the route path to include the (base64-encoded)
url. Uses that and the load-single functionality to support loading
directly into a submission page, which fetches just the requested
submission.

Also ensures we don't open duplicate comment subscriptions.
2020-02-06 14:50:39 +01:00
Matilde Park
052fbc34de launch: rebuilt all apps, add mobile flexbox 2020-02-05 23:34:17 -05:00
Gavin Atkinson
c93d026a70 get geolocation from weather app, revise clock appearance to match new
launch page
2020-02-05 18:08:22 -08:00
Matilde Park
6b06367cc4 publish: sidebar defensive checks and style fixes 2020-02-05 20:53:17 -05:00
Matilde Park
21f6be96a1 launch, various: new tiles and launch (but clock) 2020-02-05 18:16:56 -05:00
matildepark
9727fab259
Merge pull request #2233 from urbit/m/uplink-os1
link: subscriptions for the frontend
2020-02-05 15:30:53 -05:00
Matilde Park
ae007f7b96 links-fe: rebuild link.js 2020-02-05 15:30:34 -05:00
Fang
3bbff696b5
link frontend: fix loading into submission page 2020-02-05 21:17:47 +01:00
Fang
469f7e04d1
link-view: launch tile on-boot
Also fills out the eyre %connect wire for clarity.
2020-02-05 20:48:48 +01:00
Fang
37c943d34d
link-view: serve png files 2020-02-05 18:43:28 +01:00
Fang
26116ee990
link-view: handle eyre bind acks 2020-02-05 18:43:27 +01:00
Fang
83ed16fcb7
link: remove /app/link-server-hook
Use link-view instead.
2020-02-05 18:43:27 +01:00
Fang
4e4f005689
link: update frontend ui logic to match api changes
Updates the frontend display & data fetching logic to match the changes
made in e7eef19d7.
2020-02-05 18:43:20 +01:00
Fang
e3a4de4d31
link: encode urls in paths using +wood (vs base64)
Base64 encoding isn't actually @ta-safe, since it contains capitals and
=. +wood escapes all such characters explicitly. The result is more
readable and more hoon-native paths, but does mean clients will have to
re-implement +wood locally.
2020-02-05 17:39:08 +01:00
Fang
23db1d3be1
link: implement link-view 2020-02-05 17:35:24 +01:00
Matilde Park
bc4dd57896 publish: sortable sidebar 2020-02-04 21:14:44 -05:00
Logan Allen
a7f9e98f85 js: rebuilt chat and contacts 2020-02-04 15:36:49 -08:00
Logan Allen
b51ae958ec chat: fix issues with [ship path] to path change and support contacts 2020-02-04 15:31:06 -08:00
Logan Allen
543420b68e chat: cleanup to change api to accept path instead of ship, path 2020-02-04 15:30:02 -08:00
A Arroyo
6fb731b5c1 remove ship-based path building 2020-02-04 15:28:44 -08:00
A Arroyo
c8f72996b4 only create group if doesn't exist 2020-02-04 15:28:44 -08:00
A Arroyo
5c8a53dcaa remove /read and /write dual group usage 2020-02-04 15:28:44 -08:00
Anthony Arroyo
a59e0a9ec7 remove chat prepending from groups 2020-02-04 15:28:44 -08:00
Logan
f4b3dc501f
Merge pull request #2226 from urbit/mp/os1/chat-create-new
chat: add create group toggle to new.js
2020-02-04 15:18:11 -08:00
Fang
4a337fa633
link: update subscription model
Better subscription path API support. Should support us better moving
forward.

Note that this kills the server-hook. It will be replaced with a
link-view shortly.
2020-02-04 21:35:33 +01:00
Fang
4951d6ba45
link: support higher-level paths for broader subscriptions
Also re-orders the comment paths to have URL first, which is easier to
handle and also seems more correct wrt the behavior you might want in
the web extension and similar use cases.
2020-02-04 20:35:10 +01:00
Isaac Visintainer
9b260e081d change publish api to pass though group paths from frontend 2020-02-04 11:14:06 -08:00
Matilde Park
df30a777a8 chat: add create group toggle to new.js 2020-02-04 14:06:54 -05:00
Logan
41d5b28195
Merge pull request #2224 from urbit/mp/os1/links-new-comment-bug
links: fix comments reducer to post new comment locally
2020-02-03 16:58:17 -08:00
Logan
90d6fa4727
Merge pull request #2225 from urbit/ga/clock
Ga/clock
2020-02-03 16:55:53 -08:00
Gavin Atkinson
728ef7fc16 clock 2020-02-03 16:48:54 -08:00
Logan
a90fc46fb1
Merge branch 'os1-rc' into mp/os1/chat-new-component 2020-02-03 16:44:40 -08:00
Matilde Park
fb9c775649 links: amend reducer to add new comments locally 2020-02-03 17:52:39 -05:00
Matilde Park
a158e1c651 chat: refactor invite search component functions 2020-02-03 17:24:42 -05:00
Jared Tobin
769996d09f
Merge branch 'liam-fitzgerald/langserver-doc-autocomplete' (#2204)
* liam-fitzgerald/langserver-doc-autocomplete:
  language-server: magic-spoon hover, autocomplete
  language-server: build ford prelude
  language-server: dynamically compute subject
  language-server: revive rune/symbol completion
  language-server: add completion JSON parsers

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-02-02 19:11:04 +04:00
Isaac Visintainer
fd300aa025 made fetching more robust on notebook page
added infinite scroll and fetching to note page
2020-02-01 12:54:37 -08:00
Isaac Visintainer
919db6a3be pass snippet and about field from backend
wire up routing for notebook page
add infinite scroll and note fetching logic to notebook page
2020-01-31 15:04:24 -08:00
ixv
3a1a23e3d8
Merge pull request #2202 from urbit/post-view
Publish Post View
2020-01-31 14:38:41 -08:00
Logan
b9ebb97ad1
Merge pull request #2216 from urbit/mp/os1/contacts-chrome
contacts: add os1 chrome
2020-01-31 13:23:32 -08:00
Matilde Park
761d71cfee chat: add group and peer search, new.js rework 2020-01-31 01:34:53 -05:00
Liam Fitzgerald
8428f0ab14 language-server: magic-spoon hover, autocomplete
Uses magic-spoon to properly trace the subject to the cursor position.
2020-01-31 14:21:17 +10:00
Liam Fitzgerald
07d66413b2 language-server: build ford prelude 2020-01-31 13:19:19 +10:00
Matilde Park
be448ec54c contacts: add os1 chrome 2020-01-30 20:13:07 -05:00
Logan Allen
61709260a8 chat-js: added contacts metadata to chat 2020-01-30 13:37:52 -08:00
Logan
a9434743a0
Merge pull request #2201 from urbit/mp/os1/soto-chrome
soto: os1 updates
2020-01-29 16:50:33 -08:00
Logan
c23146dd14
Merge pull request #2210 from urbit/contact-delete-os1
Contact delete os1
2020-01-29 16:49:22 -08:00
Matilde Park
9a67d24d11 soto: style fix
Refactoring long class string.
2020-01-29 19:48:58 -05:00
Logan Allen
1279019cdd contacts: delete groups/contacts properly and mirror to foreign 2020-01-29 16:48:58 -08:00
Logan
8055ff5472
Merge pull request #2205 from urbit/mp/os1/chat-chrome
chat: os1 chrome and styling updates
2020-01-29 16:46:11 -08:00
Matilde Park
15bc1da3ba chat: style fix -- collapse ternary operators 2020-01-29 19:34:37 -05:00
Jimmy
65b65d75f3 basic style and layout of post view, missing comments 2020-01-29 16:30:47 -08:00
Fang
a26ec1db12
Merge pull request #2209 from urbit/m/link-bugfix
link: listening & comments
2020-01-30 00:51:22 +01:00
Logan Allen
4c5ecb51bd contact: remove extraneous ~& 2020-01-29 15:09:24 -08:00
Fang
8723dc61ae
link-listen-hook: if subscription rejected, retry
Group definitions are not guaranteed to be instantly in sync between
ships, so our subscription may get rejected if we open it "prematurely".
This adds retry logic with exponential backoff to account for that case.
2020-01-29 20:59:32 +01:00
Fang
63c4764dc9
link-listen-hook: actually sync comments 2020-01-29 20:56:22 +01:00
Fang
2e8fb88a26
link: hotfix "all comments in group" support
This is an obvious hack, and should be replaced with the m/uplink-broad
work as soon as possible.
2020-01-29 20:40:20 +01:00
Fang
69c86d7382
link-listen-hook: pass full subscription target
Containing the target data in addition to the ship and path.

This is in preparation for supporting %annotations subscriptions.
2020-01-29 19:47:45 +01:00
Logan Allen
77f702b38c contacts: working on remove from group behavior 2020-01-29 10:42:33 -08:00
Fang
a6877cea62
link: augment with /lib/dbug 2020-01-29 19:21:40 +01:00
Matilde Park
9eca995eeb chat: add os1 styles, window borders 2020-01-28 22:58:06 -05:00
Liam Fitzgerald
a1a77990fc language-server: dynamically compute subject
Dynamically compute subject so that language server can see arms
from imports. Fall back to -:!>(..zuse) if the build is an app,
because of opaque payloads.
2020-01-29 10:35:27 +10:00
Matilde Park
82462c9007 soto: add os1 chrome and styles, popout 2020-01-28 17:11:06 -05:00
Jared Tobin
f19fd5c1a9
Merge branch 'liam-fitzgerald/langserver-rpc-rewrite' (#2181)
* liam-fitzgerald/langserver-rpc-rewrite:
  language-server: align kingside hoon
  language-server: address review issues
  language-server: fixup tests
  language-server: prevent breach being required
  langauge-server: cleanup debug artifacts
  language-server: refactor RPC marks
  language-server: dynamic error highlighting
  language-server: basic request/response cycle
  language-server: first pass at JSON parsers

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 17:20:07 +04:00
Liam Fitzgerald
97e5570fc7 language-server: revive rune/symbol completion 2020-01-28 12:24:39 +10:00
Matilde Park
0ef3d9f7fa chat: smoothen dark theme
Lowers contrast in dark theme; raises the opacity of images in chat.

In general, creates a smoother dark variant of our default Chat look.
2020-01-27 20:33:15 -05:00
Matilde Park
e7035ebc4c publish: add ship, notebook params, update routes 2020-01-27 19:32:57 -05:00
Liam Fitzgerald
6912c4753a language-server: align kingside hoon 2020-01-28 09:23:27 +10:00
Matilde Park
45f9adc10c Merge branch 'publish-remix-fe-encore' into os1-rc 2020-01-27 16:24:21 -05:00
Matilde Park
389def3479 chat: [embed] link doesn't break word on mobile
It's a UI, not a word -- it should be treated like a button.

This commit preserves it as its own block and pushes it
to the next line when it's overflowing.
2020-01-27 14:16:38 -05:00
Matilde Park
35aab5c8ab chat: youtube embeds responsively expand
The declaration was being stomped out in all viewports because
it wasn't being declared in the initial element.

This adds the XL's padding-bottom to the element's declarations, which
scales it accordingly.
2020-01-27 14:09:18 -05:00
Matilde Park
f0c4a63f99 publish: add scaffolding for all expected components with todos 2020-01-27 12:26:47 -05:00
Matilde Park
df5d6c76d1 publish: pass active prop to sidebar 2020-01-27 12:26:47 -05:00
Matilde Park
02d2378796 publish: sidebar hides mobile-specific header 2020-01-27 12:26:47 -05:00
Matilde Park
0d732e4092 publish: initial fe scaffold 2020-01-27 12:26:47 -05:00
Isaac Visintainer
b4e99b7f04 fix group creation in the case of notebook import 2020-01-27 09:23:20 -08:00
Jared Tobin
865a1cec90
Merge branch 'm/dbug' (#2179)
* origin/m/dbug:
  dbug: support app state printing
  dbug: augment various apps with /lib/dbug
  dbug: add agent wrapper for debugging pokes

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-27 10:21:28 +04:00
Liam Fitzgerald
4f9245cb45 language-server: address review issues 2020-01-27 12:18:48 +10:00
Liam Fitzgerald
3c74888c9d Merge branch 'master' into langserver-rpc-rewrite 2020-01-27 12:11:19 +10:00
A Arroyo
0912b28fc4 Merge branch 'os1-rc' of github.com:urbit/urbit into os1-rc 2020-01-24 16:22:10 -08:00
A Arroyo
757b4ffcbe merged links fe into os-rc 2020-01-24 16:21:25 -08:00
Logan Allen
3244862eaa contacts: update apps to work with updated %gall gifts 2020-01-24 15:57:29 -08:00
Isaac Visintainer
7c057099d5 thread state through properly in the case of importing many files 2020-01-24 13:42:47 -08:00
Isaac Visintainer
3c4933690f added new url routes
added subscriber data to notebooks
2020-01-24 10:58:18 -08:00
Logan Allen
bb4acfc1e8 contacts: color edits transmit properly 2020-01-23 13:15:17 -08:00
Logan Allen
aac3bd9678 contacts: adding yourself to group works 2020-01-23 13:15:17 -08:00
Logan Allen
8de18e4d4c contact hook / group hook is hooked up to ui 2020-01-23 13:15:17 -08:00
Logan Allen
0db2663587 contacts: add member interface works 2020-01-23 13:14:44 -08:00
Logan Allen
8b03fd90c6 Share sheet renders properly in group 2020-01-23 13:14:44 -08:00
Logan Allen
78b829186d display entities in groups even when they haven't shared contact yet 2020-01-23 13:14:44 -08:00
Logan Allen
de7cd1389d style fixes, relative to absolute paths, renames, additional contact view features 2020-01-23 13:14:44 -08:00
Logan Allen
41c05dac6e contact-js: code styling and defensiveness 2020-01-23 13:13:53 -08:00
Logan Allen
ed0ddfb97e contact card: code style 2020-01-23 13:13:52 -08:00
Matilde Park
9ea67c20c9 card display, edit (all fields) 2020-01-23 13:13:52 -08:00
Matilde Park
a10ac18e67 clean up some leftover TODO comments 2020-01-23 13:13:52 -08:00
Matilde Park
b57fdccd23 add nickname editing, display, remove contact ... 2020-01-23 13:13:52 -08:00
Matilde Park
ec33a4a4f8 edit your sigil color now functional 2020-01-23 13:13:52 -08:00
Matilde Park
b5e9162657 add TODO markers for next-up features 2020-01-23 13:13:52 -08:00
Matilde Park
9e4a192fa5 responsive additions 2020-01-23 13:13:52 -08:00
Logan Allen
56a1c3400a contact-hook: added first complete and compiling version 2020-01-23 13:13:52 -08:00
Logan Allen
ad64763a8c contacts: ported to static gall 2020-01-23 13:13:52 -08:00
Matilde Park
c8020691f8 beginning of contact card 2020-01-23 13:13:51 -08:00
Matilde Park
1faf3828e3 high contrast, don't return null as class 2020-01-23 13:13:51 -08:00
Matilde Park
aadeab65b4 responsive contacts drawer 2020-01-23 13:13:51 -08:00
Matilde Park
27201cc2f4 add contact list for group, member count 2020-01-23 13:13:51 -08:00
Matilde Park
c59f222443 basic responsive drawer stuff 2020-01-23 13:13:51 -08:00
Matilde Park
92e1970651 /me, /group views, render sigil, render root ident 2020-01-23 13:13:51 -08:00
Matilde Park
c17bec49af prepping contact add 2020-01-23 13:13:51 -08:00
Logan Allen
ed481d89a5 contacts: end to end tested apis with working reducers 2020-01-23 13:13:51 -08:00
Matilde Park
082a44a7f8 iterate all groups with relative links 2020-01-23 13:13:51 -08:00
Matilde Park
74c17a3851 passing props, scrolling long layouts
(figuring out data manipulation)
2020-01-23 13:13:50 -08:00
Logan Allen
924d9996ab finished hooking up initial data setup to contacts store and view to front-end. still need to do updates and reducer 2020-01-23 13:13:50 -08:00
Matilde Park
df4c07d67e new.js -> padding and search icon 2020-01-23 13:12:27 -08:00
Matilde Park
1ea0e59e64 root -> new navigation 2020-01-23 13:12:27 -08:00
Matilde Park
23858fc6d7 mannequin newScreen entry fields 2020-01-23 13:12:26 -08:00
Matilde Park
99a73e981c newscreen scaffold 2020-01-23 13:12:26 -08:00
Matilde Park
462b14bf58 subscribe to contact-store, fill groups headers 2020-01-23 13:12:26 -08:00
Matilde Park
2aefc02112 checkpoint (removing chat api calls, adding contacts) 2020-01-23 13:12:26 -08:00
Matilde Park
cc50ca3668 left panel, responsively 2020-01-23 13:12:26 -08:00
Matilde Park
8de846c60d removing chat cruft, adding header + libs 2020-01-23 13:12:26 -08:00
Matilde Park
1299e26940 tachyons -> indigo-static 2020-01-23 13:12:26 -08:00
Matilde Park
7dfe151f15 contacts: tile graphic, fixing mount point 2020-01-23 13:12:26 -08:00
Logan Allen
47c1745074 contacts: added store, view, marks, ui 2020-01-23 13:12:26 -08:00
Matilde Park
22f1a52e08 link: amend "channels" copy on landing
It should be "collections," as per OS1 discussions.
2020-01-22 22:20:14 -05:00
Matilde Park
200d7548f6 links: add links landscape application to arvo 2020-01-22 18:16:27 -05:00
Matilde Park
34b9c445e3 link-server-hook: add tile serving, %png mounts
Front-end work necessitates images being mounted, and the tile served on
Landscape. This commit adds it to link-server-hook.
2020-01-22 18:14:57 -05:00
Isaac Visintainer
e9452bfa72 don't send null kick if subscribers list is empty
scry old files into the correct structure
2020-01-22 12:47:00 -08:00
Jared Tobin
267081424b
Merge branch 'yt-preview' (#2055)
* origin/yt-preview:
  chat: add expandable youtube embed messages

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-22 15:14:37 +04:00
Anthony Arroyo
b96d6c5b5f
chat: add expandable youtube embed messages
YouTube links now have a [embed] link that expands an inline embed of
the video. Embeds don't load until clicked, so don't fear the tracker.
2020-01-22 15:01:01 +04:00
Liam Fitzgerald
3187d6725b language-server: fixup tests 2020-01-22 12:35:41 +10:00
Liam Fitzgerald
04225dff73 language-server: prevent breach being required 2020-01-22 11:30:07 +10:00
Liam Fitzgerald
0acc71f103 langauge-server: cleanup debug artifacts 2020-01-22 11:30:07 +10:00
Liam Fitzgerald
1e3fa28735 language-server: refactor RPC marks 2020-01-22 11:30:07 +10:00
Liam Fitzgerald
680e60b2a5 language-server: dynamic error highlighting 2020-01-22 11:30:05 +10:00
Liam Fitzgerald
8822097cd2 language-server: basic request/response cycle 2020-01-22 11:25:19 +10:00
Liam Fitzgerald
ed3fc3f54c language-server: first pass at JSON parsers 2020-01-22 11:25:05 +10:00
Fang
da6f27c55c
dbug: augment various apps with /lib/dbug
Also includes lib/verb where it wasn't being used yet.
2020-01-21 12:36:03 -08:00
Isaac Visintainer
1fde0913cb wrote on-load arm for state transitions &c 2020-01-21 10:49:35 -08:00
Isaac Visintainer
366772c559 store, update, send tile notification number 2020-01-21 10:49:35 -08:00
Isaac Visintainer
041900dc26 handle marking posts as read 2020-01-21 10:49:35 -08:00
Isaac Visintainer
97f820a2c6 fixed group and invite bugs 2020-01-21 10:49:35 -08:00
Isaac Visintainer
d4ae9dbcc8 added js reducers 2020-01-21 10:49:35 -08:00
Isaac Visintainer
e807e6c223 paginated frontend api 2020-01-21 10:49:35 -08:00
Isaac Visintainer
dcec0315ae sending updates to subscribers 2020-01-21 10:49:35 -08:00
Isaac Visintainer
504b9b289c group and permissions creation on %new-book action 2020-01-21 10:49:35 -08:00
Isaac Visintainer
2836cf3f08 reworked file ingestion to not use ford 2020-01-21 10:49:35 -08:00
Fang
ade8e205ec
link-server-hook: support writing notes
Also cleans up the POST interface in general. No more paths in the URL,
all relevant details go into the json now.

Renames /~link/add to /~link/save to match the +action tag.

As such, format for /~link/save is:
{path: '/some/group', title: 'Some title', url: 'https://urbit.org/'}

Format for /~link/note is:
{path: '/some/group', url: 'https://urbit.org', udon: 'This is cool.'}
2020-01-14 15:32:32 -08:00
Jared Tobin
a0cb74b658
Merge branch 'matilde/chat-dark-mode' (#2144)
* origin/matilde/chat-dark-mode:
  chat: fade images on dark mode
  chat: add dark mode

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-14 11:09:18 -08:00
Fang
a3fbd7a25d
link-server-hook: refactor scries 2020-01-10 14:51:14 -08:00
Fang
5ec9aea139
link-server-hook: include comment count with submissions 2020-01-10 14:46:38 -08:00
Fang
df2ed4b5a6
link-server-hook: include item count with page count 2020-01-10 14:25:17 -08:00
Isaac Visintainer
2cd9fc75a4 lens: don't prematurely flush state 2020-01-10 12:55:58 -08:00
Fang
740836348d
link-server-hook: fall back to serving index.html 2020-01-10 12:08:13 -08:00
Isaac Visintainer
a07a3747d1 invite-hook: fixed incorrect assertion about outgoing invites 2020-01-09 16:16:39 -08:00
Jared Tobin
754fba30e3
Merge branch 'matilde/meta-morgue' (#2159)
* origin/matilde/meta-morgue:
  soto: add "dead" alt keys to ignored list

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-08 10:12:10 +08:00
Jared Tobin
795b811aca
Merge branch 'matilde/chat-timestamp' (#2146)
* origin/matilde/chat-timestamp:
  chat: correct datestamp to match @da

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-08 10:11:33 +08:00
Fang
00a4c91f92
link: encode urls in paths in base64 2020-01-07 17:38:39 -08:00
Fang
d806209b7f
link-server-hook: include total page count 2020-01-07 17:23:30 -08:00
Matilde Park
a5e68f280d soto: add "dead" alt keys to ignored list
alt+n produces a ~, on top of a key called "Dead". This ignores "dead"
to send the ~ and function as normal.
2020-01-07 20:14:39 -05:00
Fang
879e45c377
Merge branch 'master' into m/uplink 2020-01-07 13:30:55 -08:00
Jared Tobin
8afad66138
Merge branch 'm/chat-cli-reconnect' (#2147)
* m/chat-cli-reconnect:
  chat-cli: reconnect with actual bowl

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-07 04:25:14 +08:00
Fang
0ff2f44f31
chat-cli: reconnect with actual bowl
Fixes a bug introduced in 4798b9d.

This, uh, fell into the same old case of using an arm from a |_ without
initializing that core with a sample first. In this case, that resulted
in the bowl in connect being the default bowl here. This is fine for
~zod, since it's the default ship, but gives incorrect behavior for
anyone else.
2020-01-07 04:21:49 +08:00
Jared Tobin
01afc2a143
Merge branch 'm/gall-gift-paths' (#2134)
* origin/m/gall-gift-paths:
  gall: (list path) in %fact and %kick

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-07 04:17:32 +08:00
Matilde Park
4143b0060f chat: fade images on dark mode
Adds 60% opacity to dim images within messages in dark mode.
2020-01-06 08:09:53 -05:00
Jared Tobin
cd9624e097
Merge branch 'm/whitespace' (#2149)
* origin/m/whitespace:
  various: remove trailing whitespace
  ci: reject trailing whitespace

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-06 10:55:13 +08:00
Jared Tobin
836142ad0d
Merge branch 'rcrdlbl/chat-sidebar-margin-fix' (#2137)
* rcrdlbl/chat-sidebar-margin-fix:
  chat: add bottom padding to sidebar items

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-06 07:45:25 +08:00
Fang
fcf1846b6f
various: remove trailing whitespace 2020-01-03 22:06:42 +01:00
Matilde Park
271e594f61 chat: correct datestamp to match @da
The datestamp in webchat currently leftpads the month numeral.
This commit amends it so that the month numeral doesn't pad with zeroes.
2020-01-01 08:54:36 +01:00
Matilde Park
d45be05c26 chat: add dark mode
Adds custom classes and declarations for dark mode color scheme.
Uses prefers-color-scheme media query to check preference.
2019-12-27 12:15:03 +01:00
Matilde Park
b6120ac9fc interface: use production build of react 2019-12-23 23:13:26 -05:00
Przemyslaw Dabrowski
f8c305b65b chat: add bottom padding to sidebar items
Pretty simple really, fixes issue #2131.
Decided to use padding instead of margin because the underflow is nice,
but not at the detriment of being able to see the last chat preview
2019-12-23 22:24:24 -05:00
Fang
b8a336c607
webchat: render "me" messages in italics 2019-12-23 23:11:04 +01:00
Fang
ae8a57ca25
gall: (list path) in %fact and %kick
Instead of providing a (unit path), allows for (list path), which better
supports the "update to path and subpath cases".

For example, if /things wants updates about everything, and
/things/specific wants updates about the specific thing, they'll both
need to receive a %fact when the specific thing changes.
Previously, these would have been two separate moves. Now, gall handles
the multi-targeting for you.
2019-12-23 13:37:32 +01:00
Fang
ea7c1db61c
various: use =/ in place of =+ ^-
Also faceless =; where appropriate.
2019-12-21 14:29:14 -03:30
Fang
4798b9df1f
chat-cli: reconnect to chat-store on-kick
Also reconnects on-load, if no chat-store subscription appears to be
open. This should resolve any current disconnects.
2019-12-21 13:02:33 +01:00
Fang
c814114d93
chat-cli: add trace printf for tuba crashes 2019-12-21 12:59:45 +01:00
Fang
5cd8d98dd6
chat-cli: don't pass mark into +poke-noun 2019-12-21 12:58:22 +01:00
Fang
9f18877c0a
link: rudimentary comments
As of yet largely untested. The "urls in paths" might bring trouble.
2019-12-21 00:52:09 +01:00
Fang
beb783808c
link-proxy-hook: correctly use wire vs path 2019-12-20 16:02:09 +01:00
Fang
8a0baed192
link: %add -> %save 2019-12-20 15:58:32 +01:00
Jared Tobin
e1df5545e5
Merge branch 'matilde/chat-name-validation' (#2116)
* origin/matilde/chat-name-validation:
  chat: validate chat names

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-20 10:44:30 -03:30
Jared Tobin
eee651042c
Merge branch 'm/eth-sending' (#2094)
* origin/m/eth-sending:
  eth-sender: do proper nonce reading
  zuse: implement eth rlp decoding
  zuse: correctly encode leading zeroes in rlp data
  zuse: lightly restructure encode:rlp:ethereum
  static gall: update send-txs
  ethio: implement +request-batch-rpc-loose

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-19 11:20:06 -03:30
Fang
626f6abfce
link-server-hook: serve static app files from clay
Any requests that aren't explicitly defined endpoints try to load
content from clay instead, but only for html, css and js files.

Depends on #2119.
2019-12-18 20:35:50 +01:00
Fang
b6f97da2d7
link-server-hook: expose submissions json endpoint 2019-12-18 16:19:03 +01:00
Philip Monk
de2d0f3014
gaze: reflect changes to eth-watcher 2019-12-18 11:38:56 -03:30
Philip Monk
16d98e5eda
jael: stop ship-to-ship 2019-12-18 11:19:41 -03:30
Philip Monk
18c3e7253b
jael: add "eager" mode to avoid hitting nodes as much 2019-12-18 10:58:00 -03:30
Matilde Park
e2cfcafc92 chat: validate chat names
Add a regex check for non-lowercase, non-slash, non-hyphen characters,
or numerals, and a quick check for starts-with-slashes, double-slashes,
to a boolean before creating a chat at that path.
2019-12-18 00:53:18 -05:00
Philip Monk
e5ac690fd3
jael: re-enable ship-to-ship communication
Also fix bug in eth-watcher that didn't cancel outstanding threads when
config changes.

And set default rift for ourselves to 0.
2019-12-17 16:14:07 -08:00
Philip Monk
e88f91f3b2
eth-watcher: actually stop pending thread when restarting 2019-12-17 16:14:02 -08:00
Fang
9f47874760
link-server-hook: remove obsolete workaround
The "no-data bug" in eyre was fixed prior to the 0.10.0 release.
2019-12-17 23:32:41 +01:00
Fang
bdc7fb81e0
eth-sender: do proper nonce reading 2019-12-14 21:50:07 +01:00
Philip Monk
bfd2e533a1
goad: make startup resilient to errors
By not running the risky %goad card in on-init.  Also includes some qol
fixes.
2019-12-13 18:50:26 -08:00
Philip Monk
b14606660a
goad: recompile apps after changes to /sys
OTAs commonly end up in an inconsistent state if apps depend on changes
to /sys.  For example, the %sift changes break on OTA because %spider
needs to be reloaded so that it's aware of the new thread type.  This
adds a %goad app, which reloads all apps after every change to /sys.

Getting this to start OTA is nontrivial, but this pattern should work
for apps in the future.  The changes to clock shouldn't generally be
necessary; they are only necessary here because we can't rely on hood to
start goad, since hood fails to compile if it's run before zuse is
reloaded.  Once goad is active, this will cease to be a problem.
2019-12-13 17:14:51 -08:00
Fang
fc1d852faf
static gall: update send-txs
Renamed to eth-sender. Can still sign eth-txs at multiple gas prices,
fan transactions to multiple nodes, wait for confirmation between
transaction batches (now of user-specified size).

The previous nonce reading implementation was broken beyond belief and
has been taken out. Can be reimplemented once RLP decoding is in the
stdlib.
2019-12-14 00:18:30 +01:00
Jared Tobin
aff97bf150
Merge branch 'm/eth-apps' (#2084)
* origin/m/eth-apps:
  claz: clean up head of app file
  static gall: update claz
  ethio: add +get-next-nonce
  zuse: update %eth-get-transaction-count
  zuse: include all relevant azimuth addresses
  ethio: implement +batch-read-contract-strict
  ethio: fail request-rpc more properly
  static gall: update gaze

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-12 16:27:04 +08:00
Fang
8857213000
claz: clean up head of app file 2019-12-11 23:00:49 +01:00
Fang
864b19e075
link-server-hook: disable verb by default 2019-12-11 21:16:20 +01:00
Fang
2048f7ab9e
link: make network comms work
This resolves a number of issues that were keeping communications with
foreign ships from working.

- there was no link-update mark
- there was no +on-arvo handling in link-listen-hook
- link-listen-hook was subscribing to the non-existent "link-hook"
- link-proxy-hook permission check was looking at a wrong path

Also makes link-listen-hook aware that subscriptions might get rejected
because of permissions, so that it ignores failed subscriptions instead
of being loud about it.
2019-12-11 20:49:50 +01:00
Fang
3a859ef585
link: add minimal link-server-hook and link-webext
link-server-hook exposes (parts of) the link-store over eyre, on the
condition that the client is authenticated as the host ship.

link-webext as committed is a very minimal web extension. When its
toolbar button is clicked, it saves the current webpage to /private
in the link-store.
In the future, this should support choosing a target to save to,
highlighting already-saved pages, and many other features.
2019-12-11 20:49:50 +01:00
Fang
a95449cc64
link: social bookmarking core implementation
Stores URLs and their titles for the local ship. Can listen to
"submissions" on foreign ships.

Has a primitive perspective on groups, treating them as
always-interesting. Auto-subscribes to all ships in all groups.

Foreign communications untested.
2019-12-11 20:49:49 +01:00
Fang
fab9097110
static gall: update claz
Largely one-to-one port feature-wise.

Support for document polls was added.

Command preparation and verification got split out into
/ted/claz/prep-command, and got a dedicated +prep-result type to
facilitate future support for more complex preparation steps.
2019-12-11 17:32:33 +01:00
Fang
67825a08d1
static gall: update gaze
Noteworthy changes:
- split block timestamp requests into smaller batches
- track invite events
- improved debug pokes
2019-12-11 17:11:46 +01:00
Jared Tobin
d21310ace8
Merge branch 'la-unread' (#2064)
* origin/la-unread:
  chat-js: fix unread counts and indentation

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-10 17:05:43 +08:00
Jared Tobin
3f50a11e48
Merge branch 'philip/drum' (#2063)
* origin/philip/drum:
  drum: revert tang ordering change

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-10 16:26:49 +08:00
Logan Allen
30264bbc93 chat-js: fix unread counts and indentation 2019-12-09 13:05:56 -08:00
Philip Monk
5ff9e04204
drum: revert tang ordering change
Turns out this wasn't a regression, it was intended behavior.  I
continue to believe it's the wrong behavior, but that will require a
longer discussion.
2019-12-09 11:47:48 -08:00
Fang
6722f789a9
chat-hook: no-op on /backlog kick if not synced
This matches the behavior that's used for +kick on /mailbox, among other flows.
2019-12-08 20:08:23 +01:00
Jared Tobin
fa4544406e
Merge branch 'chat-safe-tab' (#2053)
* origin/chat-safe-tab:
  chat: give terminal bell on tab in an empty buffer
  chat: don't crash on tab in an empty buffer

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 17:03:44 +08:00
Jared Tobin
dc45806e99
Merge branch 'mp/chat-design-tweak' (#2049)
* mp/chat-design-tweak:
  chat: chat tab bar re-aligned and resized

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 16:55:29 +08:00
Jared Tobin
63bd7c62db
Merge branch 'mp/soto-catch-unidentified' (#2018)
* mp/soto-catch-unidentified:
  soto: mutate cursor for tab complete inserts
  soto: click sets cursor
  soto: catch 'unidentified' key

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-07 16:51:52 +08:00
Matilde Park
f5faf6eb11 chat: chat tab bar re-aligned and resized
The placement of the buttons and chat title on Landscape were slightly
off-line with each other. This commit lines them up
and changes font size to f8 to match the mockup closely.
2019-12-06 16:44:45 -05:00
Philip Monk
abde1d8aa9
ames: reduce load by increasing timer delays 2019-12-06 12:11:06 -08:00
Joe Bryan
c8958a2553 chat: give terminal bell on tab in an empty buffer 2019-12-06 12:03:32 -08:00
Joe Bryan
706d25ba79 chat: don't crash on tab in an empty buffer 2019-12-06 12:02:59 -08:00
Jared Tobin
d5f1efc7bc
Merge branch 'permisson-group-hook-fix' (#2044)
* permisson-group-hook-fix:
  permission-group-hook: fixed permission associate flow

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:24:07 +08:00
Jared Tobin
16b81727d2
Merge branch 'la-scrollback' (#2037)
* la-scrollback:
  chat-store: fix scrollback issue due to malformattedd peek

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:22:20 +08:00
Jared Tobin
4251b13d0e
Merge branch 'matilde/chat-feedback' (#2027)
* matilde/chat-feedback:
  chat: Fix chat join link - %ask-history error
  chat: join channel on enter
  chat: wrap long links, join button uses pointer

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:10:55 +08:00
Jared Tobin
3fc349d995
Merge branch 'philip/eth-watcher-silence' (#2022)
* philip/eth-watcher-silence:
  eth-watcher: be quieter about parse errors

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-06 12:10:12 +08:00
Isaac Visintainer
5a7c0b1181 permission-group-hook: fixed permission associate flow 2019-12-05 15:45:30 -08:00
Logan Allen
14dc580c06 chat-store: fix scrollback issue due to malformattedd peek 2019-12-05 12:18:21 -08:00
Jared Tobin
5eec015343
chat-store: fix errant 'this'
6c938e1 resolved a merge conflict, but retained a reference to 'this'
from the wrong parent.
2019-12-05 21:18:11 +08:00
Jared Tobin
6c938e188d
Merge branch 'm/chat-store-eval' (#2010)
* m/chat-store-eval:
  chat-store: only evaluate our own %code

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-12-05 20:59:13 +08:00
Matilde Park
d1def489cc chat: Fix chat join link - %ask-history error
Without this third boolean argument, direct join links wouldn't work.

This commit adds it.
2019-12-05 01:08:16 -05:00
Matilde Park
8a2b3d1822 chat: join channel on enter
Adds quick keypress handler for joining chats.
2019-12-04 23:41:07 -05:00
Matilde Park
8d98348233 chat: wrap long links, join button uses pointer
What it says on the tin.
2019-12-04 22:37:12 -05:00
Philip Monk
b51eda4f1e
eth-watcher: be quieter about parse errors 2019-12-04 17:58:00 -08:00
Liam Fitzgerald
3f31904595 chat-cli: update tab-complete to static gall 2019-12-05 08:54:18 +10:00
Liam Fitzgerald
bcd94868cb Merge branch 'master' into tab-complete-chat 2019-12-05 08:40:41 +10:00
Matilde Park
3c541ca567 soto: mutate cursor for tab complete inserts
This changes sole.js to handle cursor behaviour for tabbing.

It does so by overriding the cursor position in transpose if it's greater
than it expects. This could produce errant results if other sole apps
use insert behind text, but that seems like an edge case. Flagged for
future with a comment.
2019-12-04 17:17:47 -05:00
Matilde Park
5e42e796e7 soto: click sets cursor
If you clicked in the input field, the cursor would stay where it was.

This adds the cursor as a way of controlling the component, fixing the behaviour.
2019-12-04 12:07:09 -05:00
Matilde Park
2a2126ad7a soto: catch 'unidentified' key
Some Android devices have keys that register as, well,
"unidentified," so this just catches them in Soto.
2019-12-04 11:50:59 -05:00
Jared Tobin
d310cb68bd
release: v0.10.0.rc-1
* Remove testnet configuration from %zuse
* Bump URBIT_VERSION
* Update Landscape builds
* Update all pills
2019-12-04 19:41:43 +08:00
Philip Monk
ebec1eb54f
ping: delay kick until after ames processes breach 2019-12-04 02:27:35 -08:00
Philip Monk
51f9b2e269
aqua: make faster so moon-az can finish 2019-12-03 23:53:42 -08:00
Philip Monk
67ff3e07c0
ping: fix comments 2019-12-03 21:13:18 -08:00
Philip Monk
3e6769ea88
ping: avoid fragile state transitions 2019-12-03 20:53:55 -08:00
Philip Monk
dd85ca6051
Merge remote-tracking branch 'origin/mp-chat-sidebar' into rc 2019-12-03 19:13:55 -08:00
Philip Monk
fe41c31965
eth-watcher; don't start timer if already started 2019-12-03 19:13:41 -08:00
Matilde Park
318e38ffa3 chat: hotfixing a class name
This fixes a quick typo that completely breaks the medium viewport
layout.
2019-12-03 22:00:57 -05:00
Matilde Park
7188a3933a chat: fix sidebar toggle on chat update
Creates a local reducer to mutate the state in one place.
Fixes an issue where chat updates would pop the sidebar open.
2019-12-03 21:48:44 -05:00
Philip Monk
ba5e7d9090
dojo: set prompt on watch 2019-12-03 17:18:09 -08:00
Philip Monk
f3e9126d89
Merge remote-tracking branch 'origin/m/chat-cli-self-init' into rc 2019-12-03 16:56:06 -08:00
Philip Monk
38197fc79d
gen: add comments on new generators 2019-12-03 16:41:29 -08:00
Fang
e882cd1346
chat-cli: our-self with bowl set
We were calling it directly, rather than through the (initialized) tc core,
causing the bowl in its context to be the *bowl, resulting in [~zod /] audience.
2019-12-04 01:09:39 +01:00
Philip Monk
dc3c848ed7
chat-hook: remove printfs 2019-12-02 22:44:32 -08:00
Philip Monk
17db094d61
publish: set permissions on %serve 2019-12-02 22:29:12 -08:00
Philip Monk
6d648fcba6
ping: rewrite to handle sponsor breaches/changes
The old version of ping hung when your sponsor breached while you had an
outstanding poke.  I believe it would do the same if your sponsor
changed and the old sponsor didn't respond to you.

This explicitly subscribes to Jael for updates to our sponsorship tree,
and kicks the pings of any ships that change rift and any changed
sponsors.
2019-12-02 20:09:36 -08:00
Fang
8ead7f87f6
chat-store: only evaluate our own %code
Sending a %code letter without output would cause its code to be evaluated on
the recipients' ships. While that shouldn't naturally occur post-#2009, and
evaluation of %code letters remains virtualized, it's still remote code
execution, and worth fixing as such.
2019-12-03 00:51:01 +01:00
Philip Monk
096273cf4a
gall: add state upgrade for %pack 2019-12-02 03:20:34 -08:00
Philip Monk
0431c3c073
Merge remote-tracking branch 'origin/jam-cue-rock' into rc 2019-12-02 02:08:37 -08:00
Philip Monk
d0d1805263
ping: comment 2019-12-02 01:28:58 -08:00
Philip Monk
1872316003
ping: don't make new pings on-load 2019-12-01 00:07:15 -08:00
Philip Monk
09d2c70884
chat-hook: only get new backlog on resubscribe 2019-11-30 22:08:06 -08:00
Philip Monk
689b829a1d
Merge remote-tracking branch 'origin/master' into rc 2019-11-30 21:54:36 -08:00
Philip Monk
7d68a2e811
chat-hook: get backlog on resubscribe 2019-11-30 21:26:47 -08:00
Philip Monk
0f9ca132dd
eth-watcher: errant upgrade 2019-11-30 19:57:56 -08:00
Philip Monk
0eaad536a0
eth-watcher: keep timers going 2019-11-30 19:38:43 -08:00
Philip Monk
f30daf5af2
azimuth-tracker: send new-style eth-watcher poke 2019-11-30 17:39:31 -08:00
Philip Monk
c7c42225e2
Merge commit 'fbc81b59'; remote-tracking branch 'origin/mp-chat-redesign' into rc 2019-11-30 16:17:28 -08:00
Philip Monk
fbc81b59f1
eth-watcher: add state adapter to avoid breaching continuity 2019-11-30 16:14:16 -08:00
Philip Monk
eee435f9f4
ames: ping all ancestors 2019-11-30 14:57:35 -08:00
Fang
bc08e8a09f
eth-watcher: support client-specified refresh rate
Configuration now includes a refresh-rate=@dr, which is used to
determine how long to wait between polling requests.
2019-11-28 16:46:07 +01:00
Liam Fitzgerald
9e6b08bbf1 chat-cli: autocomplete on empty command 2019-11-28 15:44:02 +10:00
Liam Fitzgerald
4acc1fe948 chat-cli: use tall-form cencab 2019-11-28 15:23:18 +10:00
Liam Fitzgerald
a53b4861a9 chat-cli: clarify tab completion suggestions 2019-11-28 15:21:51 +10:00
Liam Fitzgerald
6a17812ecc chat-cli: address style issues 2019-11-28 15:15:58 +10:00
Matilde Park
b8a2d06c5b chat: style fixes
Changes to the structure stylistically during code review.

Using fake API calls instead of directly calling store;
fixing a 'delete' crash';
making common code a component;
autofocusing responsively.
2019-11-27 23:22:16 -05:00