Commit Graph

1937 Commits

Author SHA1 Message Date
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
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
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
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
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
Logan Allen
ecc8942eaf chat: reversed order that messages are stored in for faster performance 2020-04-10 15:25:58 -04:00
Isaac Visintainer
eef6e56dca release: urbit-os-v1.0.12 2020-04-09 17:47:55 -07:00
ixv
12b6a5ccc5
Merge pull request #2600 from urbit/dk-help-generator
completed +help comments for places they were missing
2020-04-09 16:51:22 -07:00
ixv
f0d702002a
Merge pull request #2708 from urbit/m/link-opt-in
link: require explicit opt-in for new collections
2020-04-09 15:54:41 -07:00
Isaac Visintainer
1fdf8a9789 Merge branch 'gall-hack-new-deal' 2020-04-09 15:39:49 -07:00
Logan Allen
a5d6403f39 gall: updated to soft properly 2020-04-09 14:53:12 -04:00
Fang
05e651970e
link: require explicit opt-in for new collections
Instead of auto-watching a new collection when it gets added to group
associations, require that the user explicitly choose to view it.

Of course, creation counts as opting in, so watch the collections we
create by default.
2020-04-09 19:01:58 +02:00
Logan Allen
7edc183ded gall: soft cast chat-action, and remove the chat-update hack 2020-04-09 02:09:51 -04:00
lukechampine
cb4cae01c8 ford: print source line on syntax error 2020-04-08 21:11:15 -04:00
Fang
c570def06a
Merge pull request #2680 from mhartl/master
Fix spelling of "existent"
2020-04-09 00:32:34 +02:00
Fang
9f47cbd568
dbug: document "all subscriptions" option in gen 2020-04-07 11:21:17 +02:00
Logan Allen
4d8e0cf26b gall: added hack to reduce processing time for chat messages by 30% 2020-04-06 22:58:06 -04:00
Aaron Sikes
eb0ce2daba Change at:dejs-soft:format to reject too-long json arrays
`at` is for when you expect an array of a certain exact structure. If it
has extra elements, that indicates you were mistaken about the strucutre,
so it should fail to match.
2020-04-06 14:05:35 -04:00
Aaron Sikes
ecc8d0ee29 Add unit tests for json de/serialization.
This tests enjs:format, dejs:format, dejs-soft:format,
en-json:html, and de-json:html.
2020-04-06 13:35:21 -04:00
Michael Hartl
3e203634e3 Fix spelling of "existent" 2020-04-06 08:18:22 -07:00
ixv
482e87f8fc
Merge pull request #2662 from urbit/la-app-hints
apps: added hints to the top of many networked apps
2020-04-03 10:22:23 -07:00
Isaac Visintainer
b5b19adb8c launch: handle change in url parsing 2020-04-02 19:01:36 -07:00
Fang
f494854dc0
Merge pull request #2641 from urbit/m/eth-watcher-timeout
eth-watcher: separate timeout from refresh-rate
2020-04-03 02:00:07 +02:00
Isaac Visintainer
5faaa6c710 release: urbit-os-v1.0.10 2020-04-02 15:54:24 -07:00
Isaac Visintainer
2ad8264c52 Merge branch 'philip/gall-clear' 2020-04-02 15:32:43 -07:00
ixv
35fa913113
Merge pull request #2661 from urbit/ed/groups-add-channel-icons
groups: add channel type icons
2020-04-02 15:30:13 -07:00
Matilde Park
c873c4d01b chat: add spinner component and behaviours 2020-04-02 18:19:50 -04:00
Matilde Park
afec74cb2e groups: add componentised spinner and behaviours 2020-04-02 18:19:48 -04:00
Matilde Park
d49ace002d soto: add componentised spinner 2020-04-02 18:18:14 -04:00
Matilde Park
1bc973c520 link: reimplement spinner as component 2020-04-02 18:18:10 -04:00
Matilde Park
48c9bdc702 publish: componentise spinner as part of layout
This commit pulls the spinner out of the header bar -- and
reincorporates it as a component that hooks into local state when
awaiting a new prop, or disabling an input.
2020-04-02 18:17:11 -04:00
édouard
4cd7c77ad3 groups: add channel type icons
Adding three new icons for group channels (as seen in the groups view)
2020-04-02 18:15:51 -04:00
Logan Allen
99878eb65d apps: added hints to the top of many networked apps 2020-04-02 17:49:46 -04:00
Logan Allen
717b02ad6f chat: added jet hints 2020-04-02 17:43:03 -04:00
Fang
ca4a5af4e3
Merge pull request #2656 from urbit/m/url-segments
zuse: allow empty segments in de-purl url parsing
2020-04-02 20:47:30 +02:00
ixv
f6954e6a55
Merge pull request #2644 from urbit/mp/group-typing
groups: show tile icon, not full color; alphabetically sort group channels
2020-04-02 07:18:05 -07:00
ixv
d1a440fab9
Merge pull request #2636 from liam-fitzgerald/lf/dojo-gen-autocomplete
dojo: add autocomplete for various dojo syntaxes
2020-04-02 07:17:02 -07:00
ixv
e2022ed3a6
Merge pull request #2619 from liam-fitzgerald/lf/who-endpoint
/who JSON endpoint
2020-04-02 07:16:50 -07:00
Fang
d1894cdbe6
zuse: allow empty segments in de-purl url parsing
RFC 2396 specifies that segments must be zero or more pchars.[1] We were
deviating from this by requiring at least one pchar per segment.

With this change, we support /some//path, and no longer lose the
trailing slash in /some/path/.

[1]: https://tools.ietf.org/html/rfc2396#section-3.3
2020-04-02 14:44:45 +02:00
Logan
0ce28806a9
Merge branch 'master' into matilde/interface-prod 2020-04-01 22:24:33 -04:00
Liam Fitzgerald
0115177eea launch: create new state-version for %serve 2020-04-02 09:12:39 +10:00
Liam Fitzgerald
ed7d9fb164 launch: move %serve card to types core 2020-04-02 08:52:59 +10:00
Liam Fitzgerald
eeebfc0114 launch: address review comments for /who endpoint 2020-04-02 08:50:01 +10:00
Liam Fitzgerald
253187001b launch: add CORS headers to /who endpoint
Necessary to allow bridge to make a cross-origin request via
javascript.
2020-04-02 08:16:10 +10:00
Liam Fitzgerald
e16c999c76 launch: add /who endpoint
The /who endpoint responds with the name of the ship in JSON
2020-04-02 08:16:08 +10:00
Fang
809befb6fc
clock: ensure launch is listening correctly
In the wild, ships that were live pre-OS1 still had launch subscriptions
open to the clock on the /tile path, instead of the currently-used
/clocktile path. Additionally, launch state for the clock tile seemed
incomplete.

Here, we simply re-%add the clock to launch.

Note that launch currently does not clean up old subscriptions on
path change. For the pre-OS1 case, the old path is no longer in use,
rendering the subscription harmless. For cases where the correct
subscription was already in place, it'll print a %watch-wire-not-unique,
but doesn't do any harm besides that.
2020-04-01 23:13:57 +02:00
Fang
b62105cce4
clock: add dbug 2020-04-01 22:26:07 +02:00
Fang
6fef6a996a
weather: add verb 2020-04-01 22:25:54 +02:00
Matilde Park
e1af036f1c groups: show tile icon, not full color 2020-04-01 15:26:47 -04:00
Fang
2223a85666
eth-watcher: separate timeout from refresh-rate
Previously, when the refresh-rate timer activated, and the thread from
the previous activation was still running, we would kill it and start
a new one. For low refresh rates, on slower machines, nodes, or network
connections, this could cause the update to never conclude.

Here we add a timeout-time to eth-watcher's config. If the refresh-rate
timer activates, and a thread exists, but hasn't been running for at
least the specified timeout-time yet, we simply take no action, and wait
for the next refresh timer.

Note that we opted for "at least timeout-time", instead of killing &
restarting directly after the specified timeout-time has passed, to
avoid having to handle an extra timer flow.

In the +on-load logic, we configure the timeout-time for existing
watchdogs as six times the refresh-rate. We want to set
azimuth-tracker's timeout-time to ~m30, and don't care much about other,
less-likely-to-be-active use cases of eth-watcher.
2020-04-01 12:47:38 +02:00
Liam Fitzgerald
4433b99011 dojo: change autocomplete to use sell
Change autocomplete to prettyprint variables with sell instead of
xsell
2020-04-01 14:22:04 +10:00
Liam Fitzgerald
ff8c7a61d5 dojo: fix hood shortcut 2020-04-01 12:29:14 +10:00
Liam Fitzgerald
ed7f8be424 dojo: add autocomplete for various dojo syntaxes
Adds autocomplete for
- :app poke syntax
- :app|gen poke generator syntax
- +gen naked generator syntax
- =var variable syntax
2020-04-01 11:28:27 +10:00
Isaac Visintainer
93c881cec9 release: urbit-os-v1.0.9 2020-03-31 16:45:40 -07:00
ixv
e76fe83ea1
Merge pull request #2615 from urbit/mp/grouping-take-2
os1: reintegrating groups into all Landscape applications
2020-03-31 15:17:57 -07:00
ixv
a14fbc1eb8
Merge pull request #2633 from urbit/philip/clay-dec
clay: don't underflow when patch produces empty file
2020-03-31 14:17:42 -07:00
Isaac Visintainer
64a6e89be6 launch: remove groups tile here rather than in contact-view 2020-03-31 11:49:57 -07:00
Philip Monk
5a4786169d
clay: don't underflow when patch produces empty file
Fixes #2602

I haven't been able to reproduce this bug, but I can see how it could
happen in theory.  This should resolve the issue.
2020-03-31 11:37:58 -07:00
Fang
56df6dc94f
link-listen-hook: recover neglected collections
During the #2607 upgrade, strictly local collections got left out of the
listening set. (Because they did not have any outgoing subscriptions.)
This led to personal collections not being available on the frontend.

Here, we add upgrade logic for adding those back to our listening set again.
If a user had explicitly left a personal collection (instead of deleted it, for
whatever reason), they will have to leave it again. This case seems much more
rare than the "my collection is gone" one.
2020-03-31 19:10:07 +02:00
Isaac Visintainer
12f150659b release: urbit-os-v1.0.8 2020-03-30 20:28:35 -07:00
ixv
31794ebacf
Merge pull request #2609 from urbit/m/group-kick-fix
group-hook: fix resubscribe bug
2020-03-30 17:59:51 -07:00
ixv
8f1655171d
Merge pull request #2616 from urbit/two-round
chat-js: improve subscription speed by doing two rounds of subscriptions and no longer subscribing to groups
2020-03-30 17:48:39 -07:00
ixv
d27329c45d
Merge pull request #2626 from lukechampine/patch-1
eyre: Remove leading sig from password placeholder
2020-03-30 17:48:13 -07:00
ixv
f98557aba9
Merge pull request #2617 from urbit/channel-caching
apps: added a duplicate channel.js for caching, updated script tags to point to it
2020-03-30 17:47:52 -07:00
Logan Allen
49476aac66 chat-js: refactored subscriptions to auto-resubscribe 2020-03-30 18:07:33 -04:00
Logan Allen
c2070dbcc6 chat-js: pass in groups property, convert from permissions 2020-03-30 17:59:52 -04:00
matildepark
2f3d681975
launch, link: apply @Fang- suggestions to #2615 review
Co-Authored-By: Fang <git@fang.io>
2020-03-30 15:50:16 -04:00
Luke Champine
b3d78b5d71
eyre: Remove leading sig from password placeholder 2020-03-30 13:32:21 -04:00
Fang
87e61da99a
lib: !. on dbug and verb wrapper agent cores
Events always pass through these, adding to the stack trace on-crash.
This information is practically never useful, however. Adding !. leaves
these cores out of the traces.
2020-03-28 13:26:56 +01:00
Logan Allen
f1a0b30c1f apps: added a duplicate channel.js for caching, updated script tags to point to it 2020-03-27 20:08:44 -04:00
Isaac Visintainer
6443424012 contact-view: remove tile 2020-03-27 14:18:03 -07:00
Matilde Park
003089bf11 soto: add %add launch-action 2020-03-27 15:30:55 -04:00
David Kerschner
eeacf4543f removed gen/ph per @philipcmonk 2020-03-27 10:06:27 -07:00
David Kerschner
12662675f4
Update pkg/arvo/gen/azimuth-tracker/watch.hoon
Co-Authored-By: Philip Monk <phil@pcmonk.me>
2020-03-27 10:04:31 -07:00
David Kerschner
290ce453eb
Update pkg/arvo/gen/aqua/pill.hoon
Co-Authored-By: Philip Monk <phil@pcmonk.me>
2020-03-27 10:04:25 -07:00
Matilde Park
891018159a launch: add group filter dropdown, header redesign 2020-03-27 12:45:51 -04:00
Matilde Park
5516d2ebdb launch: add %remove launch-action 2020-03-27 12:44:49 -04:00
Fang
058dcdf100
contact-hook: less destructive catch-up on-sub
(Re)subscribing gets us a %contacts update, containing the full set of
contacts as it currently exists.

Previously, we would fully delete our local state, only to recreate it
using the data from the update.

Now, we never delete existing data, instead only creating if we don't
have it yet, and adding, removing or recreating contacts if they
changed.

In the future, we'll want an easy way to turn two contacts into an %edit
diff, to let us apply correct semantics to individual contacts, too.
2020-03-27 14:21:03 +01:00
Fang
4551c74e3a
group-hook: on %path group-update, don't %unbundle
Instead, %bundle and %add if we don't have the group locally yet,
or %add and %remove whatever the difference is between the local group
and the group as specified in the %path update.
2020-03-27 12:38:08 +01:00
Fang
4220b91fae
metadata-hook: use dbug agent wrapper 2020-03-27 01:30:30 +01:00
Fang
4940501f3b
group-hook: use actual synced data in +on-load
It's gonna be ~ if we pull it from the app core during +on-load.
2020-03-26 23:58:15 +01:00
Logan Allen
221238c0fa chat-js: improve subscription speed by doing two rounds of subscriptions and no longer subscribing to groups 2020-03-26 17:41:11 -04:00
Fang
22bb2a0d86
group-hook: on-load, re-establish subscriptions
For every item in the synced map that doesn't have a matching outgoing
subscription, re-establish the subscription we expect to have.
2020-03-26 20:19:18 +01:00
Fang
ea48161334
group-hook: touch up watch-nack and kick logic
In both, we make clear that the wire is always of the /@/group/^ form,
and alias the "group path" portion of the wire for clarity.

For kick, more obviously reuse the same wire, don't reconstruct it.

For watch-nack, only delete from the synced map if the source of the
watch-nack is still relevant. While we don't expect this to be relevant
considering current mode of operation, this does protect us against
strange cases.
2020-03-26 20:18:45 +01:00
Fang
bf912f6aac
group-hook: fix incorrect on-kick logic
It was checking and resubscribing on the full wire, instead of the
part of the wire that represents the group path.
2020-03-26 20:06:31 +01:00
Isaac Visintainer
0d3e409f7c release: urbit-os-v1.0.7 2020-03-26 09:25:02 -07:00
ixv
b5e3b4ceac
Merge pull request #2608 from urbit/philip/verb
arvo: add wire to %give verb message
2020-03-26 09:02:51 -07:00
ixv
b8a222ea75
Merge pull request #2606 from urbit/la-scrollback
Scrollback fixed and tested in Brave, Safari, and Chrome
2020-03-26 09:02:24 -07:00
Philip Monk
0349cf3818
arvo: add wire to %give verb message
This must have been removed on accident recently.
2020-03-25 20:13:24 -07:00
Logan Allen
2719a24dcc chat: decreased message limit to 20, now asking for more messages upon navigating to a chat channel when we have < 100 messages for that channel 2020-03-25 19:48:35 -04:00