Commit Graph

3178 Commits

Author SHA1 Message Date
Liam Fitzgerald
caa12c1e09
hark: fix JSON conversions 2020-11-05 15:33:52 +10:00
matildepark
628b031252
Merge pull request #3865 from urbit/lf/graph-author-delete
graph-push-hook: allow for node removal by author
2020-11-04 23:20:45 -05:00
Liam Fitzgerald
974a02e63a
hark-chat-hook: poke hark-store for watching channels 2020-11-05 12:51:46 +10:00
Liam Fitzgerald
cd11d994a4
hark-store: add %chat types 2020-11-05 12:50:56 +10:00
Liam Fitzgerald
a3a8f72672
hark-chat-hook: add marks 2020-11-05 12:28:04 +10:00
Liam Fitzgerald
b705b91577
hark-chat-hook: add first sketch 2020-11-05 12:27:45 +10:00
Liam Fitzgerald
fd149da592
ted/groupify: fix %remove-group poke 2020-11-05 12:02:59 +10:00
Logan Allen
63a0bb00c0 thread-watch-hook: edge cases tested and fixed 2020-11-04 18:42:52 -06:00
Logan Allen
ed81e2304d thread-watch-hook: compiles 2020-11-04 15:14:18 -06:00
Logan Allen
06062757db thread-watch-hook: add +on-init to watch graph invitatory, and remove ~& 2020-11-04 14:55:46 -06:00
fang
83d46dae88
dill: fall back to default session
This lets us support the "random userspace app sending dill belts".
Ultimately, we'll want to be able to specify a session identifier
alongside the belt, instead of strictly relying on the duct.
2020-11-04 20:12:01 +01:00
fang
eb824f1866
dill: allow watching output of arbitrary sessions
Adds a %view task, which opens a subscription on the output sent to the
specified session. %flee closes the same.
Whenever dill sends a blit to the session, any subscribers get the
output also.

The structures here will become more reasonable once we replace ducts
with proper dill session identifiers.
2020-11-04 20:11:42 +01:00
Logan Allen
65291863a0 thread-watch-hook: successfully sends facts to %invite-accepted-graph
thread
2020-11-04 12:12:24 -06:00
fang
18494f8a9d
dill: if styled prompt has no style, emit as plain
People using older runtimes might not support the %klr blit. It's not
uncommon for prompts without style to get passed in as %pom though, so
here we catch that case and turn it into a %pro, which gets rendered as
a traditional %lin.
2020-11-04 17:28:05 +01:00
fang
b96e071eb2
Merge branch 'release/next-sys' into release/next-dill 2020-11-04 17:25:35 +01:00
fang
c992e4ce9d
eyre: forego <atom> in favor of (scow %aura atom)
Pretty-printing is expensive, yet we do it whenever we construct the cookie
string, at least once (but usually twice) per authenticated request.

Here we call out the the specific to-tape functions we need, instead of relying
on the pretty-printer for converting... tapes to tapes, among other things.  
The primary gains come from the cookie-related instances, we update the others
mostly for good style.

For the "receive request and immediately send response" case, that is processed
synchronously within eyre (ie, client sends channel ack), speeds thing up by
roughly 55%.
2020-11-04 01:02:11 +01:00
fang
3d610448af
ren: remove the last renderer files from /ren
No longer in use.
2020-11-03 23:11:18 +01:00
Matilde Park
f7d59985d2 glob: update to 0v4.cf9m1.t0ofg.dtig4.av3jh.2f2db 2020-11-03 16:04:41 -05:00
fang
37c0383a79
Merge pull request #3864 from urbit/m/ream-to-zapcom
clay: replace ream with nouns and !, zapcom
2020-11-03 21:55:49 +01:00
fang
a94c63d412
verb: improve code style in +print 2020-11-03 20:15:58 +01:00
fang
0c10e237d3
verb: render printouts lazily
Instead of passing in a tape to print in case we need in, pass in a trap that
can be called to generate the tape on-demand.

Eagerly rendering printouts was costing us a lot of time when we didn't actually
need them, because the pretty-printer is slow.
2020-11-03 19:17:13 +01:00
Liam Fitzgerald
ebb15a4fc3 lib/graph: address L review 2020-11-04 04:10:57 +10:00
Matilde Park
b107bf16e9 glob: update to 0v2.76bkn.nvb2c.j2704.jqhct.la06e 2020-11-03 12:34:17 -05:00
fang
acf0f8d0e1
clay: %limb instead of %wing 2020-11-03 16:35:28 +01:00
pkova
b114956870 zuse: improve url extension parsing
Previously extensions ending with numbers such as .woff2 were not recognized.
2020-11-03 15:54:10 +02:00
Liam Fitzgerald
e04d9f2dba graph-pull-hook: only archive graph if we already have it 2020-11-03 17:20:46 +10:00
Liam Fitzgerald
4213543e35 lib/graph: add +get-keys 2020-11-03 17:20:01 +10:00
Liam Fitzgerald
5f1f98f746 lib-push-hook: fix behaviour of %remove
%remove did not properly iterate over the paths and as such did not
return a complete list of paths to kick.

Fixes #3868
2020-11-03 16:32:53 +10:00
Liam Fitzgerald
26f2e9e951 graph-store: loosen link comment validation 2020-11-03 16:12:07 +10:00
Liam Fitzgerald
6c150279ac hark-graph-hook: use %mention type for +is-mention 2020-11-03 15:03:02 +10:00
Liam Fitzgerald
92fec34658 graph-store: add %mention type 2020-11-03 15:03:02 +10:00
Liam Fitzgerald
04c1ad6653 hark: add publish support 2020-11-03 14:55:32 +10:00
Liam Fitzgerald
13fe6c3ad1 hark: address L review 2020-11-03 14:55:01 +10:00
Liam Fitzgerald
e9d9bb839f Merge branch 'release/next-userspace' into lf/hark-redux 2020-11-03 10:58:52 +10:00
Liam Fitzgerald
515a9a1f54 hark-store, hark-graph-hook: address L review comments 2020-11-03 10:36:00 +10:00
Liam Fitzgerald
9702c5a86c graph-push-hook: allow for node removal by post author 2020-11-03 10:22:12 +10:00
Liam Fitzgerald
5c0d175998 lib/graph: add +get-node 2020-11-03 10:19:58 +10:00
fang
e7afc51018
clay: replace ream with nouns and !, zapcom
Motivation for the change is performance improvements on the un-`^~`d uses of
ream. Parsing turns out to be slow, making ream slow in turn. So we construct
the hoon ast manually instead.

!, is arguably better style than ream, since it doesn't require a ^~ for static
input, and lets syntax highlighting function properly.

For the investigated case, in +get-cast's +grow flow, improves performance by
over 80%.
2020-11-03 00:27:10 +01:00
Logan Allen
697d23f83a thread-watch-hook: made %invite-accepted-graph thread 2020-11-02 15:22:50 -06:00
Logan Allen
1b8af7d78c hood: start %thread-watch-hook 2020-11-02 15:22:50 -06:00
Logan Allen
353d328340 thread-watch-hook: moved to marks and slopped vases 2020-11-02 15:22:50 -06:00
Logan Allen
ce43ea0765 thread-watch-hook: compiles properly 2020-11-02 15:22:50 -06:00
Logan Allen
1c0777e0a7 thread-watcher: first sketch 2020-11-02 15:22:50 -06:00
fang
a35cad457a
Merge pull request #3830 from urbit/m/respect-forwarded-more
eyre: respect protocol from Forwarded header
2020-10-31 00:38:41 +01:00
Liam Fitzgerald
625dda87fc glob: update to 0vptpd9.7fcod.53cag.tfca7.grfkf 2020-10-30 13:13:47 +10:00
Matilde Park
cc7c96461f glob: update to 0v6.e9uhe.am6af.kd2sf.7qvdc.cilkh 2020-10-29 21:29:47 -04:00
Matilde Park
60fc870ec0 glob: update to 0v5.97qv3.kke6t.jn8tc.oe2fe.78c8n 2020-10-29 20:47:35 -04:00
Liam Fitzgerald
34771ba30f publish: clarify stack trace in +on-agent 2020-10-30 10:41:06 +10:00
Liam Fitzgerald
f4483fdecb graph-store: update indices of leaf posts 2020-10-30 10:23:08 +10:00
Liam Fitzgerald
5f0855d278 graph-store: update indices in post on migrate 2020-10-30 10:20:35 +10:00
Logan Allen
c0bb44175d Merge branch 'lf/graph-publish-fe' of github.com:urbit/urbit into lf/graph-publish-fe 2020-10-30 00:09:10 +00:00
Logan Allen
27cc2c435d graph-store: indentation fix 2020-10-30 00:09:00 +00:00
Liam Fitzgerald
9c8e1bab2d graph-store: prevent infinite loop 2020-10-30 10:05:59 +10:00
Matilde Park
bdaa56d681 glob: update to 0v1.el225.9dbhq.381at.4pfta.bl8da 2020-10-29 19:13:42 -04:00
fang
f8a2235d6e
Merge pull request #3835 from urbit/m/silent-subs
eyre: ignore facts directly after clog
2020-10-29 22:13:04 +01:00
fang
42229657ca
eyre: respect protocol from Forwarded header
If the Forwarded header specifies the original connection is secure,
update the flag to reflect that, regardless of whether the connection
directly to the urbit was made securely.
2020-10-29 14:24:24 +01:00
fang
82dcad4c59
zuse: if empty, unpack header into empty list
Previously, would give a ~[{}] for the '' header. This makes it parse
that as "no entries" rather than "one entry without data".
2020-10-29 14:19:57 +01:00
Liam Fitzgerald
b768cd3dd0 graph-store: normalize @da in indices
As links is the only application currently using graph-store, we migrate
all indices to @da instead of a @da or a unix timestamp. Rolls over
current graphs and update log to rectify this. Additionally, applies the
link validator mark to graphs, as this was missing. Fixes a latent bug
in graph-store where the removal of a graph that triggered a mark build
would prevent the mark from being rebuilt. Fixes mark input and index
formatting from the frontend as well.
2020-10-29 14:11:55 +10:00
Liam Fitzgerald
fbf505c0d9 graph-store: mark unmarked graphs 2020-10-29 13:11:18 +10:00
Liam Fitzgerald
829cd509b4 publish: migrate note body correctly 2020-10-29 12:56:41 +10:00
Liam Fitzgerald
225718b8cf metadata-store: fix path handling in migration 2020-10-29 10:25:16 +10:00
Liam Fitzgerald
d5683fb631 publish: fix time handling in publish 2020-10-29 09:49:05 +10:00
Liam Fitzgerald
410d193f5a publish: loosen comment validation 2020-10-29 09:37:47 +10:00
Liam Fitzgerald
ec1c4339c5 publish: loosen validator 2020-10-29 09:35:43 +10:00
Liam Fitzgerald
aabd890b6d publish: fix backoff 2020-10-29 09:34:15 +10:00
Liam Fitzgerald
4079de05f6 publish: fix graph-validator mark 2020-10-29 09:32:15 +10:00
Matilde Park
7e61bb9a6d glob: update to 0v5.d2ut4.t1kqo.2mdr9.mnc4i.vgb53 2020-10-28 19:25:57 -04:00
Logan Allen
358af000ec invite-store: fix %graph %create 2020-10-28 21:54:02 +00:00
Logan Allen
0eb0ef9479 graph-store: if null timestamp, replace with now 2020-10-28 14:37:26 -05:00
Logan Allen
e357a36577 graph-create: fix creation in edge cases 2020-10-28 14:06:34 -05:00
Liam Fitzgerald
39d538f9bc Merge branch 'release/next-userspace' into lf/graph-publish-fe 2020-10-28 16:40:02 +10:00
Liam Fitzgerald
2de45c53ef Merge branch 'release/next-userspace' into lf/hark-redux 2020-10-28 16:34:55 +10:00
Liam Fitzgerald
cf4f0f302e hark: final pass for bugs 2020-10-28 15:52:59 +10:00
L
210a9f968c
Merge pull request #3721 from urbit/la/modernize-invites
invite-store/hook: modernize the code style to match other new apps
2020-10-27 19:37:44 -05:00
Logan Allen
ef67bdea8b invite-store: move to de-path-soft 2020-10-27 19:18:56 -05:00
Ted Blackman
56db7cdcda ames/zuse: require >64-bit comet addresses 2020-10-27 17:28:07 -04:00
Ted Blackman
fcf9cfbcdb ames/zuse: require >64-bit comet addresses 2020-10-27 17:20:25 -04:00
Logan Allen
870a6f635f invites: indentation fixes 2020-10-27 15:45:26 -05:00
Logan Allen
7083979628 invite: initialize state for %graph invites and fix mark 2020-10-27 12:48:50 -05:00
Logan Allen
795e4a4509 invite-store: updated comments 2020-10-27 12:33:28 -05:00
Liam Fitzgerald
8b090400f1 hark-store: add subscriptions, cache unread count 2020-10-27 15:07:13 +10:00
Liam Fitzgerald
136faf581f hark-group-hook: add subscriptions 2020-10-27 15:06:32 +10:00
Liam Fitzgerald
df2755b485 hark-graph-hook: add subscriptions, preferences 2020-10-27 15:05:00 +10:00
Liam Fitzgerald
9b19e30d23 hark-hooks: add JSON conversion, marks 2020-10-27 15:04:39 +10:00
Liam Fitzgerald
a16a1cafcc graph-store: expose post:enjs 2020-10-27 15:01:24 +10:00
Philip Monk
f548deaff6
Merge pull request #3787 from urbit/philip/symbols
hoon: update glyph names
2020-10-26 18:06:53 -07:00
Joe Bryan
aa200cf25a
Merge pull request #3786 from urbit/jb/ames-peek-forward-lane
ames: updates forward-lane scry-handling to prevent routing loops
2020-10-26 11:56:23 -07:00
fang
93475aa756
eyre: remove fact-without-subscription printf 2020-10-26 15:52:39 +01:00
fang
26049a3da0
eyre: ignore facts directly after clog
When an application would send multiple facts during a single event, it
was possible for the first fact to trigger a clog, removing the
subscription and sending a quit, but then the second fact still getting
sent out at normal.

Here, we drop any facts for subscriptions we don't have registered in
state, which should only happen in the described case.
2020-10-24 11:45:21 +02:00
fang
b92cfdb242
eyre: produce moves in correct order
Because storing in reverse order means producing in reverse reverse
order.

The tests didn't catch this because they, too, were infected with the
"reverse moves" meme.
2020-10-24 01:48:51 +02:00
Philip Monk
fc15f0d735
Merge branch 'pr' into HEAD 2020-10-22 20:47:53 -07:00
Matilde Park
6a97ebb54f Merge branch 'release/next-userspace' 2020-10-22 22:21:18 -04:00
Matilde Park
1930a75d73 glob: update to 0v2.1vtfh.0l23v.30s7f.n57l9.dpjvi 2020-10-22 22:19:58 -04:00
Joe Bryan
da928bed10 ames: updates forward-lane scry-handling to match +send-blob 2020-10-22 17:37:46 -07:00
Logan Allen
c8068e8fcb agents: all agents compile with new invites types and import patterns 2020-10-22 12:17:15 -05:00
Liam Fitzgerald
582b4b15ff hark-store: address review comments 2020-10-22 11:30:37 +10:00
Liam Fitzgerald
f3fec6ac74 hark-group-hook: address review comments 2020-10-22 11:30:18 +10:00
Liam Fitzgerald
4237d2caf6 hark-graph-hook: address review comments 2020-10-22 11:30:02 +10:00
Liam Fitzgerald
6dae330bb6 metadata: add arms to helper core 2020-10-22 11:29:35 +10:00
Liam Fitzgerald
5b8087b72a publish: refine backoff behaviour 2020-10-22 10:30:04 +10:00
Logan Allen
3304613127 interface/chat-view: updated group invites and chat invites to work properly 2020-10-21 18:11:31 -05:00
matildepark
0c87a44e97
Merge pull request #3747 from urbit/lf/remove-channel-generator
metadata-store: add |remove generator
2020-10-21 17:18:54 -04:00
fang
e3dcfc6372
release: urbit-os-v1.0.61 2020-10-21 12:43:40 +02:00
Liam Fitzgerald
b1fb130103 hark-group-hook: add %hark-group-hook 2020-10-21 16:09:22 +10:00
Liam Fitzgerald
def6cfd535 hark-graph-hook: add %hark-graph-hook 2020-10-21 16:09:18 +10:00
Liam Fitzgerald
1c1e2f60b0 graph-validator-link: add notification-kind conversion 2020-10-21 16:01:14 +10:00
Liam Fitzgerald
e336ad1c77 graph-store: add graph-mark scry 2020-10-21 15:59:39 +10:00
Liam Fitzgerald
560b663eb0 graph-create: correctly pass mark to poke 2020-10-21 15:58:51 +10:00
Liam Fitzgerald
2aed5baa25 hark-store: add working hark-store 2020-10-21 15:55:39 +10:00
Logan Allen
44f1ed6d03 invite-json: first pass 2020-10-20 17:27:44 -05:00
Logan Allen
52d7837420 agents: updated all references to invites 2020-10-20 17:23:07 -05:00
Logan Allen
cbfa820ee3 graph-threads: delete thread gets rid of metadata properly 2020-10-20 15:15:58 -05:00
Logan Allen
79ac6eb8cd Merge branch 'release/next-userspace' into lf/graph-publish-fe 2020-10-20 15:08:40 -05:00
L
c187c591ba
Merge pull request #3738 from urbit/la/spider-http
threads: make spider HTTP threads compatible with dojo threads, and fix the %graph-leave thread
2020-10-20 12:55:32 -05:00
Liam Fitzgerald
f8fcc161a1 publish: fix graph-store migration
Previously, if a subscriber received the OTA migration before the host,
then it would attempt to subscribe to a non-existent resource, and
receive a nack, thus unsubscribing the ship from the notebook. To
rectify this, the tombstoned publish has been changed to resubscribe in
a loop with exponential back off. Once it receives a positive watch-ack
(i.e. the host completed the OTA), it will then migrate the notebook to
graph-store by adding it to graph-pull-hook
2020-10-20 10:39:14 +10:00
fang
5bebff3c38
eyre: kick subscriptions if fact conversion fails
This matches the behavior that gall uses for %watch-as subscriptions,
which eyre was using previously.
2020-10-19 19:17:58 +02:00
fang
1d4ee5a7b5
eyre: kick busy subscriptions if client not acking
In order to curb event queue growth when a client for whatever reason
isn't acking the events we send out, we implement a mechanism for
detecting such "clogging", and proactively kick subscriptions which are
adding too many events to the queue.

If the client hasn't sent an ack for ~s30, any subscription that accrues
more than 50 unacked %facts gets closed to prevent further buildup.

Upon reconnecting, the client will see %kick for the relevant
subscriptions and can open a new subscription as appropriate.

Includes a simple test for this behavior, and updates /app/dbug to be
able to display the newly tracked statistics.
2020-10-19 15:56:05 +02:00
Liam Fitzgerald
3ee0f13e41 publish: tombstone 2020-10-19 16:15:55 +10:00
Liam Fitzgerald
b610153b24 publish: address comments 2020-10-19 15:39:36 +10:00
Liam Fitzgerald
b94941f0a2 Merge branch 'release/next-userspace' into lf/graph-publish-fe 2020-10-19 13:18:25 +10:00
Liam Fitzgerald
2ca8f41288 metadata-store: add |remove generator 2020-10-19 12:45:20 +10:00
fang
63b4fb3e19
eyre: simplify channel subscription storage
Instead of storing by "channel wire", store by request-id instead.
The channel wire was just the channel-id, request-id, and some cruft.
2020-10-19 00:48:18 +02:00
fang
0b331a2ca9
eyre: update tests to match recent changes 2020-10-18 17:00:02 +02:00
fang
7e5f29cfd2
eyre: convert facts to json manually
By doing a %watch instead of %watch-as %json for channel subscriptions,
we can hopefully make better use of noun deduplication, when storing
events in a channel's event queue until they get acked.
2020-10-18 16:31:35 +02:00
fang
8def1dbea8
eyre: store unacked events unserialized
Store the gall events from channel subscriptions as (vaseless) signs,
instead of serialized events. This should be smaller in memory, and
makes it more likely for noun deduplication to happen.

The cost is needing to reserialize upon channel reconnect, but this is
the less common case, and we don't expect it to be particularly slow.
2020-10-18 16:04:19 +02:00
matildepark
782ea1a6e7
Merge pull request #3696 from urbit/lf/bundle-cleanup
interface: various bundle size optimisations
2020-10-16 18:32:07 -04:00
Logan Allen
769c50dd25 invite-store: converted from paths to resources. wip 2020-10-16 13:22:57 -05:00
Philip Monk
8cd72daf20
clay: speed up +find-merge-points
In certain cases +find-merge-points was very slow.  Specifically, the
`done` set was meant to avoid checking the same commit repeatedly, but
it didn't catch the case where a commit was added to the worklist that
was already in that worklist.

Secondly, the worklist was stored as a list but used as a queue, which
resulted in a lot of unnecessary welding.  We change it to a qeu.

Fixes #3735
2020-10-16 11:21:02 -07:00
Logan Allen
926c9975c2 graph-leave: fixed leave thread to function properly 2020-10-16 12:10:07 -05:00
Logan Allen
ace6a41e9e graph-threads: update to work with dojo and http 2020-10-16 10:42:31 -05:00
Logan Allen
c9cb97d476 spider: update http handler to be compatible with dojo 2020-10-16 10:42:06 -05:00
Philip Monk
8d0cfd13b7
glob: update to 0v1.hc18i.ms0ac.qi9qj.geopu.sutri 2020-10-15 16:10:02 -07:00
Philip Monk
7e5c722c8f
Merge branch 'philip/link-upgrade' into release/next-sys 2020-10-15 14:34:05 -07:00
Philip Monk
ff0214e8ed
Merge remote-tracking branch 'origin/release/next-userspace' into philip/link-upgrade 2020-10-15 14:32:42 -07:00
Philip Monk
d948d22a78
Merge remote-tracking branch 'origin/release/next-hoon' into philip/link-upgrade 2020-10-15 14:32:34 -07:00
Logan Allen
b43a5f5534 invite-hook: modernized the style and removed inline %json conversion 2020-10-15 10:46:12 -05:00
Logan Allen
8e81bcb12a invite-store: modernize the style of %invite-store 2020-10-15 10:38:42 -05:00
pkova
75205466fe hoon: fix mis-compilation in wet gate subject access
Fixes #3600
2020-10-15 16:47:25 +03:00
Joe Bryan
45038ad7b1
Merge pull request #3689 from urbit/jb/clay-cancel-correct
clay: refactors +cancel-request, consistently accounting for TMI
2020-10-14 22:56:49 -07:00
Philip Monk
bfa94b6c3b
link-store: throw away state if it's stale cards
It's burdensome to upgrade cards and vases, and in practice they will be
stale anyway, so we throw them away.
2020-10-14 21:59:37 -07:00
Philip Monk
f295cd714f
Merge remote-tracking branch 'origin/la/hack-to-move-scry' into release/next-sys 2020-10-14 19:30:54 -07:00
Philip Monk
77b33632a6
Merge remote-tracking branch 'origin/master' into release/next-sys 2020-10-14 19:26:33 -07:00
Joe Bryan
efac8d6133
Merge pull request #3644 from urbit/jb/retime
arvo: restore :time app
2020-10-14 12:55:21 -07:00
Logan Allen
2f9a7c9c68 chat-hook: hack to move scry to a new event to fix +on-load 2020-10-14 14:20:48 -05:00
Liam Fitzgerald
f14c0ee19e interface, glob: serve source maps externally 2020-10-14 13:26:40 +10:00
Joe Bryan
9d5119b33f hoon: adds hints for likely-to-be-jetted list/treap/parser arms 2020-10-13 18:38:09 -07:00
Joe Bryan
5edaf634bc
Merge pull request #3691 from urbit/jb/need-have
hoon: enables need/have type printfs on nest-fail
2020-10-13 18:33:26 -07:00
Matilde Park
65bb8a0fb5 glob: update to 0v1.bn7am.9sl00.vfh1o.uvsuf.dn9b7 2020-10-13 21:07:18 -04:00
matildepark
5861e38392
Merge pull request #3671 from urbit/lf/channel-js-fixes
channel.js: eagerly ack subscription updates
2020-10-13 18:54:10 -04:00
L
0d2a0bae14
Merge pull request #3632 from urbit/la/remove-hall-sur
acme: remove last %hall import and remove sur file
2020-10-13 15:05:37 -05:00