Commit Graph

160 Commits

Author SHA1 Message Date
Logan Allen
d34045f190 graph-store: fewer allocations in +validate-graph 2021-03-31 16:08:31 -05:00
Logan Allen
d939c91e78 graph-store: speed up +validate-graph by using +turn and no longer virtualizing 2021-03-31 16:08:23 -05:00
Liam Fitzgerald
c186bad1c1
graph-store: +on-load 2021-03-24 13:09:58 +10:00
Liam Fitzgerald
54b3982b42
graph-store: upgrade reference content
This commit changes the type of update:graph-store and as such, a new
mark has been created. graph-store now consumes and produces
%graph-update-1. This new mark type is backwards incompatible with the
previous mark.
2021-03-24 13:06:26 +10:00
Liam Fitzgerald
4b305b5450
graph-hooks: upgrade for versioning 2021-03-19 10:05:07 +10:00
Logan Allen
0f7ff055df graph-store: only calculate hash when necessary, only check signatures if necessary 2021-02-25 13:06:26 -06:00
Logan Allen
83edfd67ba graph-push-hook: fixed bunted bowl issue 2021-02-03 13:08:53 -06:00
Isaac Visintainer
59e070e46e graph-store: updated tree type in import flow 2021-01-26 14:32:38 -08:00
Liam Fitzgerald
69a5675a86
graph-store: log %add-graph
When a graph is joined, the subscriber receives an %add-graph update
that corresponds to the current state of the graph. This was not logged,
so if the graph did not recieve any updates before the subscription was
kicked, the whole graph would be have to be sent again. This would be
largely asymptomatic, however hark-store assumes that %add-graph will
only be emitted when a new graph is joined or created. As such, we log
this initial update, so that the push-hook can correctly ascertain the
backlog it needs to send and so %add-graph is only emitted once per
graph. This also opens the door for time-varying scries into
graph-store.

Fixes #4290
2021-01-20 10:52:19 +10:00
Liam Fitzgerald
9c7ac3773a
hark, graph-store: address L review 2021-01-12 08:15:14 +10:00
Liam Fitzgerald
1ed0477663
graph-store: emit affected descended nodes in %remove-nodes
When %remove-nodes is sent as an update, it may refer to a parent node,
in which case the deletion of all the parent's children is implied. If
we hold onto references to nodes outside of graph-store, we are unable
to tell which of our references were affected, other than iterating over
every reference to check if one of the deleted indices is a prefix of
the reference. This is obviously undesirable, so we emit all of the
nodes we deleted, including the nodes deleted implicitly.
2021-01-11 17:44:25 +10:00
Liam Fitzgerald
7e0af9cfca
graph-store: add node existence query 2021-01-11 17:44:25 +10:00
Liam Fitzgerald
44ac3130f8
graph-store: use +bap for update-log listification 2021-01-05 08:23:12 +10:00
Liam Fitzgerald
fa7c347870
graph-store: add TODO comment for backwards tap 2020-12-16 09:42:01 +10:00
Liam Fitzgerald
2c915af179
graph-store: run update log in correct order
tapping an ordered map returns a list with the smallest keys first.
However, graph-store's update-log is defined backwards, such that the
list will have the most recent updates in the front of the list. We
therefore flop the update log before iterating over it, in order to
process the updates in the order they occurred
2020-12-15 21:37:50 +10:00
Logan Allen
504e02a6c8 graph-store: turn back on noisy duplicates 2020-12-12 18:06:44 -06:00
Logan Allen
35c2ccd54c graph-store: silence duplicate message assertion temporarily 2020-12-12 14:46:59 -06:00
Logan Allen
386997475b graph-store: no need to iterate through whole list if we find a single duplicate 2020-12-11 18:13:47 -06:00
Logan Allen
78cf4443c2 graph-store: address ted and mark's comments 2020-12-11 18:10:10 -06:00
Logan Allen
e845860e5e graph-store: no-op if we already have *any* of the indexes in an %add-nodes event 2020-12-11 23:05:54 +00:00
Logan Allen
26b9c5a66f graph-store: remove unnecessary clay write upon clobber 2020-12-11 14:53:02 -06:00
Liam Fitzgerald
bce1b3e65e
group-pull-hook: remove group on nack 2020-12-11 14:57:20 +10:00
Liam Fitzgerald
82b668cf3a
graph-store: %node-siblings fixed 2020-12-11 13:05:40 +10:00
Liam Fitzgerald
2b95b308b8
graph-store: simplify node-siblings scries 2020-12-11 12:21:47 +10:00
Liam Fitzgerald
37bb4e9bfe
graph-store: backup overwritten graphs to clay 2020-12-11 11:38:12 +10:00
Liam Fitzgerald
fc189a7c13
graph-store: on overwrite, archive existing graph 2020-12-10 12:36:59 +10:00
Logan Allen
7802a7f8d9 Merge branch 'release/next-userspace' into lf/chat-graph 2020-12-09 15:45:26 -06:00
Joe Bryan
17736990ed arvo: full vane names in $sign 2020-12-07 16:30:22 -08:00
Joe Bryan
5a82f1d4c0 Merge branch 'na-release/candidate' into jb/motion
* na-release/candidate: (36 commits)
  ames: don't crash on forward-lane scry
  jael: cleanup per review
  jael: don't signal breach if first hearing of ship
  pill: update
  vere: compile
  lens: don't de-base64
  vere: make import flow not use base64 encoding
  version: strip trailing newline
  pill: mainnet
  Revert "zuse: change to ropsten"
  chat-hook: fix another poke-import issue
  chat-hook: fix poke-import issue
  apps: reorder maps, sets, and jugs
  apps: reorder maps, sets, and jugs
  kiln: add base-hash and our scries
  lens: fix change lost in merge
  graph-store: leave try-rejoin wire when subscription succeeds
  graphs: import-export
  chat: import/export
  invites: import/export
  ...
2020-12-07 00:27:58 -08:00
Joe Bryan
958bb5acf7 arvo: removes +is and all references to it 2020-12-05 00:51:49 -08:00
Isaac Visintainer
0c3edb1ca9 apps: reorder maps, sets, and jugs 2020-12-02 00:00:03 -08:00
Liam Fitzgerald
3d21dcd19f
Merge branch 'release/next-userspace' into lf/chat-graph 2020-12-02 13:42:02 +10:00
Isaac Visintainer
9ea43121a5 graph-store: leave try-rejoin wire when subscription succeeds 2020-12-01 17:52:24 -08:00
Isaac Visintainer
2f53524e2f graphs: import-export 2020-12-01 17:38:51 -08:00
Liam Fitzgerald
9ee62a2e55
hark: rework unread tracking, again 2020-12-01 15:46:28 +10:00
Liam Fitzgerald
88adb0033a
graph-store: safely peek update-log
Safely returns a null when either the update-log does not exists, or it
is empty

Fixes #3976
2020-11-25 14:41:19 +10:00
Liam Fitzgerald
360d24e11c
hark: add scries for chat 2020-11-24 15:39:53 +10:00
Logan Allen
e7b0ff2c66 graph-store: change atom to %1 for all migrated comments 2020-11-18 20:02:42 -06:00
L
c3c9218083
Merge pull request #3927 from urbit/la/revisions
graph-store: amend %publish and %link validators to allow editing comments
2020-11-18 18:01:13 -06:00
Liam Fitzgerald
5615c10c2b
graph-store: correctly subset in scries 2020-11-17 18:00:29 +10:00
Logan Allen
4f7ca0a0dc graph-store: add overwrite field to %add-graph 2020-11-12 20:40:12 +00:00
Logan Allen
cb990242e8 graph-store: added debugging tool to %validate-graph 2020-11-12 20:19:36 +00:00
Logan Allen
9c9e1160ad graph-store: update %publish and %link schemas, wipe update-logs 2020-11-12 13:47:42 -06:00
matildepark
565fc46660
Merge pull request #3910 from urbit/lf/graph-cleanup
graph-store: run-updates no longer pokes itself
2020-11-10 23:24:24 -05:00
Liam Fitzgerald
5354aae5fa
graph-store: run-updates no longer pokes itself 2020-11-10 15:43:35 +10:00
Liam Fitzgerald
e9d9bb839f Merge branch 'release/next-userspace' into lf/hark-redux 2020-11-03 10:58:52 +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
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
Logan Allen
0eb0ef9479 graph-store: if null timestamp, replace with now 2020-10-28 14:37:26 -05:00
Liam Fitzgerald
e336ad1c77 graph-store: add graph-mark scry 2020-10-21 15:59:39 +10:00
Liam Fitzgerald
fdbf225c66 graph-store: restore @ud encoding 2020-10-05 15:27:26 +10:00
Liam Fitzgerald
ef7bb37f8f Merge branch 'release/next-userspace' into lf/graph-publish-fe 2020-10-01 09:43:34 +10:00
L
f00d476fcb
Merge pull request #3521 from urbit/ted/link
graph import/export generators
2020-09-24 20:06:46 -05:00
Logan Allen
bc9b508d77 Merge branch 'release/next-userspace' into release/link 2020-09-22 15:52:42 -05:00
Ted Blackman
9ee1a1751c :graph-store: remove stray printf 2020-09-21 10:50:03 -04:00
Ted Blackman
d6899857f4 +graph-store/import-graph 2020-09-18 16:50:34 -04:00
Ted Blackman
3c03d61038 +graph-store/export-graph and associated scry handler 2020-09-18 16:21:00 -04:00
Ted Blackman
f334854318 WIP: +graph-export 2020-09-18 15:50:54 -04:00
L
3bf91ddebe
Merge pull request #3458 from urbit/lf/graph-fixes
graph-store: fix signatures & marks
2020-09-16 11:48:54 -05:00
Logan Allen
6c0589e32f Merge branch 'release/next-userspace' into lt/link-migration 2020-09-15 12:42:36 -05:00
Liam Fitzgerald
dd3fd3b6a9 graph-store: allow recursive add-nodes from JSON 2020-09-15 15:32:04 +10:00
Matilde Park
c7f8af1fd2 Merge branch 'release/next-userspace' 2020-09-08 20:32:02 -04:00
Liam Fitzgerald
2c2a61746b graph-store: fix signatures & marks 2020-09-04 15:37:39 +10:00
Matilde Park
ef3b9282c2 various: add [landscape] marker to apps in arvo 2020-08-31 21:54:39 -04:00
Logan Allen
bbf854d956 graph-store: updated scry interface to return %graph-store marks so as to properly do %json conversion 2020-08-27 17:31:36 -05:00
Logan Allen
928e5f7362 graph-hooks: initial sketch 2020-08-19 12:22:20 -07:00
Logan Allen
d7b31680f4 graph-store: moved ~| to within var declarations so crashes don't affect anything else 2020-07-30 15:06:48 -07:00
Logan Allen
871818b241 graph-store: if there is no hash in added node, replace signatures with ~, otherwise check validity of signatures 2020-07-30 15:02:04 -07:00
Logan Allen
7fb50a3f97 graph-store: respond to phil's comments, request %next for clay, and compare +tear to hash 2020-07-30 14:43:40 -07:00
Logan Allen
77bdc63899 graph-store: null scry results are now [~ ~] 2020-07-28 12:32:18 -07:00
Logan Allen
452d6ea4e1 graph-store: fully tested mark validation system 2020-07-28 12:03:09 -07:00
Logan Allen
0a2e721d7f graph-store: move over to +sham from +mug 2020-07-22 13:32:47 -07:00
Logan Allen
c06eb4d8c0 graph-store: removed +mop from sur and added test validator for chat 2020-07-21 17:38:06 -07:00
Logan Allen
6dddcd98e8 graph-store: style fix and fixed mark validation 2020-07-21 16:01:46 -07:00
Logan Allen
65eb56785c graph-store: prevent crashes in %add-nodes based on mug-ordering by making sure smaller indices are added first 2020-07-21 15:57:44 -07:00
Logan Allen
85d086e6d6 graph-store: respond to ted's review 2020-07-21 11:04:18 -07:00
Logan Allen
233b61199d graph: improved type naming 2020-07-07 17:53:18 -04:00
Logan Allen
39933ca848 graph: hooks compile and higher-order mark implementation first-pass 2020-07-06 19:31:57 -04:00
Logan Allen
299b54baa1 graph-view: fix front-end 2020-07-01 12:40:33 -04:00
Logan Allen
ee5e80cf44 graph-store: enforce that only logged-updates may be sent via %run-updates, and enforce that they only affect the intended resource 2020-06-30 14:08:22 -04:00
Logan Allen
849556491c graph-store: updated action-log to update-log and added timestamp to +update 2020-06-29 21:14:55 -04:00
Logan Allen
e4110c4d77 graph-hooks: stubbed out resubscribe on kick case 2020-06-26 20:29:22 -04:00
Logan Allen
e055ba98ae graph-store+view: added a variety of query types for subset fetching, individual post fetching, child fetching, etc 2020-06-26 14:38:11 -04:00
Logan Allen
7443ba6bcb graph-view: accept %json mark and convert to graph-action 2020-06-23 14:09:31 -04:00
Logan Allen
a245a1b095 graph-store: added archiving functionality 2020-06-23 14:01:04 -04:00
Logan Allen
634b0d1175 graph-store: added jet hints and a json conversion path 2020-06-23 14:01:04 -04:00
Logan Allen
f5be1389ef graph-store: fixed nested node scry 2020-06-23 14:01:04 -04:00
Logan Allen
e6e4e370d3 graph-store/view: move all signing out to %graph-view 2020-06-23 14:01:04 -04:00
Logan Allen
d4ff1cf7bc graph-store: turned off signatures for now 2020-06-23 14:01:04 -04:00
Logan Allen
71fda84056 graph: remove extraneous prints 2020-06-23 14:01:04 -04:00
Logan Allen
ec432a5b10 graph: got some things working and fixed an issue introduced by rebase 2020-06-23 14:01:04 -04:00
Logan Allen
90a8df104b graph-store: wrote basic queries 2020-06-23 14:00:15 -04:00
Logan Allen
07cf374462 graph-store: all json encoders/decoders work 2020-06-23 14:00:15 -04:00
Logan Allen
6493c75463 wip: all JSON decoders but %add-graph work 2020-06-23 14:00:15 -04:00
Logan Allen
b0fa0668b3 wip: json decoding 2020-06-23 14:00:15 -04:00