Commit Graph

2743 Commits

Author SHA1 Message Date
Fang
a53e462be8
Merge branch 'master' into ipc-redux 2020-07-03 14:58:49 +02:00
Fang
777bf76a13
chat-store: don't trim on %messages, either 2020-07-03 11:22:16 +02:00
Philip Monk
935ffaaf23
eyre: give scry function to generators
In Ford Fusion, Clay builds generators but Dojo and Eyre run them.  Dojo
is already virtualized with a scry function, so +mule is fine, but Eyre
is not, so Eyre needs to use +mock and explicitly supply the scry
function.  This does that.  Fortunately, the produced result is simple
and easily clammable.

Fixes #3089
2020-07-02 23:30:17 -07:00
Philip Monk
38095d525d
release: urbit-os-v1.0.26 2020-07-02 18:56:25 -07:00
Philip Monk
37b9f854fd
eyre: give all args to generators
fixes #3082
2020-07-02 14:42:26 -07:00
Philip Monk
c5711ef77c
Merge branch 'release/next-userspace' into release/next-sys 2020-07-02 14:25:56 -07:00
Logan Allen
0995cf00f7 chat-store: trim on demand, not automatically 2020-07-02 15:54:52 -04:00
Liam Fitzgerald
8d308b2458 groups: cleanup merge errors 2020-07-02 13:08:47 +10:00
Liam Fitzgerald
93cf40a604 Merge branch 'release/next-userspace' into lf/groups-refactor 2020-07-02 12:38:12 +10:00
Liam Fitzgerald
bd2fbc2f9c groups: address review comments 2020-07-02 12:20:23 +10:00
Liam Fitzgerald
26c610f8d2 interface: update store + api + subscriptions for new groups 2020-07-02 12:19:32 +10:00
Logan Allen
299b54baa1 graph-view: fix front-end 2020-07-01 12:40:33 -04:00
Philip Monk
f3dede23d1
Merge pull request #3076 from urbit/philip/clay-print
kiln: Small fixes
2020-06-30 18:08:01 -07:00
Philip Monk
bead3ab081
Merge remote-tracking branch 'origin/master' into release/next-sys 2020-06-30 16:14:31 -07:00
Philip Monk
ba9e894580
trouble: report source of OTA instead of parent 2020-06-30 16:10:12 -07:00
Philip Monk
f4f1d0ab4b
clay: print conflicts 2020-06-30 15:24:42 -07:00
Matilde Park
1adca22298 release: urbit-os-v1.0.25 2020-06-30 16:21:01 -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
Philip Monk
51c5a74360
Merge remote-tracking branch 'origin/philip/jael-breach-restart' into release/next-sys 2020-06-29 19:25:13 -07: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
Philip Monk
e7e2c07d6f
clay: remove scaffolding 2020-06-29 14:30:33 -07:00
Philip Monk
40db8ea580
kiln: make otas continue even if they failed to apply 2020-06-29 13:25:10 -07:00
Isaac Visintainer
a958cb9288 metadata-store: add cleanup utility, use on-poke:def instead of no-op 2020-06-29 11:07:26 -04:00
Ted Blackman
ede7105820 clay: flop syntax error trace 2020-06-29 11:01:23 -04:00
Ted Blackman
7611c2fc08 landscape/img/codeeval.png: typo in filename 2020-06-29 05:26:41 -04:00
Ted Blackman
29a6234633 invite-view: reinstate as potato 2020-06-29 05:15:25 -04:00
Ted Blackman
043b8a4cc0 goad: don't crash on pre-OTA sign 2020-06-29 02:43:52 -04:00
Logan Allen
3b8790cc04 chat-store: responded to comments, cleaned up 2020-06-29 00:24:18 -04:00
Fang
0ecd108f98
zuse: make +drop-pole produce a unit
Both +drop-list and +drop-map produce units instead of crashing. This makes
+drop-pole match that behavior, producing a unit of the resulting tuple.
2020-06-28 21:33:17 +02:00
Ted Blackman
d7b9889b4a -test: support other desks (full beams in args) 2020-06-28 05:06:16 -04:00
Ted Blackman
f6171042ae arvo: use date instead of kelvin 2020-06-28 01:13:42 -04:00
Ted Blackman
7266b3f5c3 hoon: re-fix +slab; /tests: fix clay tests 2020-06-28 00:59:02 -04:00
Philip Monk
42de999024
kiln: don't implicitly create syncs
Also silence some spurious errors.
2020-06-26 19:21:09 -07:00
Philip Monk
0301838f25
Merge remote-tracking branch 'origin/release/next-sys' into ford-fusion 2020-06-26 17:46:25 -07:00
Liam Fitzgerald
9b61c5571b Merge branch 'ford-fusion' into lf/groups-refactor 2020-06-27 10:42:16 +10:00
Logan Allen
e4110c4d77 graph-hooks: stubbed out resubscribe on kick case 2020-06-26 20:29:22 -04:00
Joe Bryan
7f61b5a491 Revert "Merge pull request #3050 from urbit/m/behn-improvements"
This reverts commit ed808614aa, reversing
changes made to a6db3add83.
2020-06-26 16:24:43 -07:00
Fang
523acf2eaf behn: optimize bounded timers scry 2020-06-26 15:17:20 -07:00
Fang
fe87d69ad1 behn: improve scry interface
No longer abuse the desk field, instead making use of the path. Reject
any scries outside of the local ship, empty desk and current time as
invalid.

Expose ducts only under a debug endpoint, nothing else should care about
being able to inspect them.

Add scry endpoints for the very next timer (if any), and all timers up
to and including a specified timestamp.
2020-06-26 15:17:12 -07:00
Fang
b824d5bd70 arvo: allow the empty desk (%$) in scries
+slaw fails to parse empty strings as %tas, so we special-case it here.
2020-06-26 15:17:03 -07:00
Logan Allen
df982177e5 graph-hooks: added initial sketch 2020-06-26 17:13:12 -04:00
Joe Bryan
6fa194d527 Merge branch 'master' into jb/ipc-redux
* master: (147 commits)
  vere: bump version to 0.10.7
  libsigsegv: disable stack vma check
  vere: bump version to 0.10.6
  ci: add travis as trusted user
  jets: use appropriate macro
  noun: add -C to control memo cache size
  jets: restore fond/play/peek hooks
  jam: add commented-out functionality to count size of atom
  jets: cap memo cache and remove peek, play, and fond jets
  noun: add functions to count size of noun
  release: urbit-os-v1.0.23
  interface/config: fix production build
  soto: run +on-load migration once
  publish, links: restore full height
  sh/build-interface: amend for SPA
  interface/CONTRIBUTING: amend for SPA / webpack
  solid: update pill
  hood + apps: fix OTA process for feat/SPA
  hood: add version %6 for %file-server upgrade
  chat: equally size both code + s3 buttons
  ...
2020-06-26 13:33:00 -07: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
Philip Monk
77df80d603
gall: don't make large stack trace 2020-06-26 09:20:17 -07:00
Liam Fitzgerald
846fe8c048 groups: convert JSON encodings to camelcase 2020-06-26 17:02:51 +10:00
Ted Blackman
ef138bb007 ames: use +cut in +encrypt 2020-06-25 22:54:37 -04:00
Liam Fitzgerald
ad6efe44ff groups: update generators and marks for ford-fusion 2020-06-26 12:45:02 +10:00
Ted Blackman
26ff47b93d Merge remote-tracking branch 'origin/release/next-userspace' into ford-fusion 2020-06-25 22:24:30 -04:00
Ted Blackman
3daecd8c1b Merge remote-tracking branch 'origin/fix-slab' into ford-fusion 2020-06-25 21:58:21 -04:00
Ted Blackman
c0e5bd8d9b Merge remote-tracking branch 'origin/la/chat-space-leak' into ford-fusion 2020-06-25 21:52:04 -04:00
Ted Blackman
68802ea041 dojo: print generator type errors 2020-06-25 15:38:15 -04:00
Fang
7cc1b4f3ca
behn: optimize bounded timers scry 2020-06-25 19:25:44 +02:00
Philip Monk
51c6faaa31
ford,kiln: nicer errors 2020-06-24 21:24:58 -07:00
Philip Monk
7044f1fae6
dojo: too many nouns 2020-06-24 21:24:58 -07:00
Philip Monk
3a662881be
clay: don't be evil 2020-06-24 21:24:27 -07:00
Philip Monk
fc42bf6039
clay: special-case +run-pact for %hoon 2020-06-24 20:26:04 -07:00
Logan Allen
f1b10f2a07 graph-store: sort graph with most recent at left of graph (gth) 2020-06-24 14:13:15 -04:00
matildepark
77925b06be
Merge pull request #3048 from urbit/mp/spa-debug-debug
dbug: init new channel on start
2020-06-24 12:01:20 -04:00
Logan Allen
c1f4834f4e graph-view: serve at /~post path and show launch icon 2020-06-24 11:58:17 -04:00
Fang
a94285208a
behn: improve scry interface
No longer abuse the desk field, instead making use of the path. Reject
any scries outside of the local ship, empty desk and current time as
invalid.

Expose ducts only under a debug endpoint, nothing else should care about
being able to inspect them.

Add scry endpoints for the very next timer (if any), and all timers up
to and including a specified timestamp.
2020-06-24 17:09:29 +02:00
Fang
f714d90b15
arvo: allow the empty desk (%$) in scries
+slaw fails to parse empty strings as %tas, so we special-case it here.
2020-06-24 16:26:32 +02:00
Matilde Park
67a09d7d19 dbug: init new channel on start 2020-06-23 21:46:20 -04:00
Liam Fitzgerald
47352a06ba groups: finalize state adapters 2020-06-24 10:28:57 +10: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
a2484f9538 graph-view: fixed issues with scrying for parent hash 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
6766e1818d graph-js: recursive js reducer 2020-06-23 14:01:04 -04:00
Logan Allen
7cb9ac4b62 graph-store: made lib add-graph and add-nodes consistent 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
8d5fb16685 graph-view: working json parsing for fetches 2020-06-23 14:01:04 -04:00
Logan Allen
59a4c52232 graph-view: first sketch 2020-06-23 14:01:03 -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
37f332dcb6 or-map: fix specific assertion that should have been general 2020-06-23 14:00:15 -04:00
Logan Allen
b0fa0668b3 wip: json decoding 2020-06-23 14:00:15 -04:00
Logan Allen
877138a464 graph-store: stubbed out a currently non-compiling json decoding 2020-06-23 14:00:15 -04:00
Logan Allen
31a6ec5d1c graph-store: finished json encoding 2020-06-23 14:00:15 -04:00
Logan Allen
81deb6247f graph-store: stubbed out json encoding 2020-06-23 14:00:15 -04:00
Logan Allen
c9ccbdabef graph-store: added action generators 2020-06-23 14:00:15 -04:00
Logan Allen
3ce10fe01e graph-store: finished first draft of all actions 2020-06-23 14:00:15 -04:00
Logan Allen
d44e7eb9ca graph-store: first pass at signing, hashing, and verifying nodes 2020-06-23 14:00:15 -04:00
Logan Allen
f8d860c0ef graph-store: added %add-signatures, action-log, stubbed signature verification 2020-06-23 14:00:15 -04:00
Logan Allen
bc0c1e7245 graph-store: remove-nodes compiles 2020-06-23 14:00:15 -04:00
Logan Allen
8c2d9127f3 graph-store: add-nodes compiles 2020-06-23 14:00:15 -04:00
Logan Allen
e52779a356 graph-store: first pass at writing %add-nodes poke 2020-06-23 14:00:15 -04:00
Logan Allen
83ec7eae24 graph-store: cleaned up structures 2020-06-23 14:00:15 -04:00
Logan Allen
fcfcf95aed graph-store: structure compiles 2020-06-23 14:00:15 -04:00
Liam Fitzgerald
8cf81002ec Merge branch 'ford-fusion' into lf/groups-refactor 2020-06-23 12:13:03 +10:00
Ted Blackman
154f153801 gall: fix routes in +ap-yoke 2020-06-22 21:37:17 -04:00
Liam Fitzgerald
7be0831f39 Merge branch 'release/next-userspace' into lf/ts-global-store 2020-06-23 09:33:47 +10:00
Ted Blackman
70ce1d6d5f -test: fixed clay tests 2020-06-22 18:05:55 -04:00
Matilde Park
5ad03868b2 Merge branch 'master' into release/next-userspace 2020-06-22 10:24:34 -04:00
Liam Fitzgerald
60ff310422 interface: make store global 2020-06-22 14:59:02 +10:00
Ted Blackman
652dc70304 clay,dojo: clean up stack traces 2020-06-20 03:46:22 -04:00
Philip Monk
6ff9f75bb7
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-19 14:52:18 -07:00
Logan Allen
ac864bd42a chat-store: added %trim command as a hack that runs once +on-load and again every 5.000 messages 2020-06-19 14:45:08 -04:00
Ted Blackman
d1b4af89fe sys: s/mure/road 2020-06-19 00:44:17 -04:00
Philip Monk
7494bf57c6
clay: make reachable-takos linear instead of exponential
When merging, +reachable-takos is called roughly once per merge commit
in the ancestry of the new commit.  +reachable-takos was exponential in
the number of merge commits in the ancestry of the commit it's looking
at, due to mishandling of the accumulator.  This makes it linear.

Of course, linear x linear is still quadratic, which is not great.  I
doubt +reachable-takos can be made asymptotically better, but
+reduce-merge-points/+find-merge-points probably can.  50 merge commits
already gives about 14.000 iterations through the loop in
+reachable-takos.  Another option is to try to memoize this somehow, but
a simple ~+ is insufficient since `s` is usually different.

In local tests on macOS with a -L copy of ~wicdev-wisryt, this speeds up
OTAs significantly.  The majority of time was spent on this.
2020-06-18 18:56:31 -07:00
Philip Monk
7206ab6c98
Merge remote-tracking branch 'origin/master' into release/next-sys 2020-06-18 18:50:10 -07:00
Isaac Visintainer
4fded00005 release: urbit-os-v1.0.23 2020-06-18 17:51:16 -06:00
Fang
3ecb6f7154
Merge branch 'release/next-sys' into m/eyre-kill-channels 2020-06-18 22:34:22 +02:00
Fang
b2600f553c
Merge branch 'master' into m/eyre-kill-channels 2020-06-18 22:23:47 +02:00
Fang
8cb81370bb
Merge ford-fusion into m/eyre-scries 2020-06-18 20:23:06 +02:00
Liam Fitzgerald
0ac7a75896 soto: run +on-load migration once 2020-06-18 21:47:44 +10:00
Ted Blackman
f2ee0a1380 drum: fix +on-load resubscribes 2020-06-18 00:58:47 -04:00
Ted Blackman
3914c0c0dd ota: works on my machine 2020-06-17 23:31:37 -04:00
Matilde Park
a65edb52cd Merge branch 'master' into feat/spa 2020-06-17 17:12:13 -04:00
Logan Allen
08e1abb139 hood + apps: fix OTA process for feat/SPA 2020-06-17 15:51:13 -04:00
Logan Allen
eaf523e3c2 hood: add version %6 for %file-server upgrade 2020-06-17 14:27:30 -04:00
Ted Blackman
d395c2711d hood: WIP compiles but +on-load crashes 2020-06-17 03:54:27 -04:00
Ted Blackman
bcf79e38a1 Merge branch 'ota-ford-fusion' into ted/kiln-fusion 2020-06-17 02:37:45 -04:00
Ted Blackman
ac77d0a3ec hood: uncompiled first try at state as tuple 2020-06-17 02:36:09 -04:00
Fang
c9db959c2d
Merge pull request #3018 from urbit/m/softer-tab
shoe: print tab options less eagerly
2020-06-16 14:57:43 +02:00
Ted Blackman
01eee03340 kiln: WIP state as tuple 2020-06-16 03:29:17 -04:00
Philip Monk
1acd8fe6d6
Merge branch 'ixv/fix-chat-hook' (#3020)
* origin/ixv/fix-chat-hook:
  chat-hook: pull on store path when removing

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-06-15 19:58:29 -07:00
Philip Monk
4e3aace970
Merge branch 'jb/aes-siv-fix' (#3013)
* origin/jb/aes-siv-fix:
  tests: updates aes-siv regression test comment
  pill: updates solid
  zuse: propagates fix to aes-128-siv and aes-192-siv as well
  Revert "test: disable aes-siv jets to demonstrate test failure"
  pill: updates solid
  zuse: fixes bug in aes-256-siv iv calculation (+s2vc:aes:crypto)
  test: disable aes-siv jets to demonstrate test failure
  test: add test case for aes-256-siv jet mismatch, observed in the wild

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-06-15 19:57:01 -07:00
Philip Monk
9410b4f66d
arvo: +mure is taken 2020-06-15 19:34:30 -07:00
Isaac Visintainer
f0d36f6a52 chat-hook: pull on store path when removing 2020-06-15 16:01:46 -06:00
Liam Fitzgerald
dea59807a7 publish: fix remaining bugs with new groups 2020-06-15 18:10:09 +10:00
Liam Fitzgerald
0d80e4cf19 links: update to new groups 2020-06-15 18:09:49 +10:00
Liam Fitzgerald
d5466ff31a groups: fix remaining bugs in new implementation 2020-06-15 18:09:03 +10:00
Liam Fitzgerald
9123cabed7 chat: fix remaining issues with new groups 2020-06-15 18:07:21 +10:00
Fang
d4b4fe67f3
shoe: print tab options less eagerly
Turns out that having these pop up on every tab-press is really annoying,
and you usually only want them when it didn't manage to autocomplete anything.
2020-06-14 23:36:03 +02:00
Fang
8f8ec8bcc5
language-server: parse commands permissively
Parses commands as arbitrary strings, instead of strictly symbols.
2020-06-14 18:48:27 +02:00
Joe Bryan
6d56a95837 tests: updates aes-siv regression test comment 2020-06-12 23:26:10 -07:00
Ted Blackman
1b1d7c9512 Merge remote-tracking branch 'origin/m/clay-fusion-markers' into ota-ford-fusion 2020-06-13 02:09:31 -04:00
Ted Blackman
879d846487 arvo: spam %vega on kernel reload 2020-06-13 01:50:12 -04:00
Joe Bryan
faa4956969 zuse: propagates fix to aes-128-siv and aes-192-siv as well 2020-06-12 22:21:19 -07:00
Philip Monk
90f3c7d2a1
clay: build reef to prime reef-cache on inital OTA 2020-06-12 21:40:32 -07:00
Philip Monk
0447ac1ee1
arvo: add dummy ford and fix whey scry 2020-06-12 21:40:13 -07:00
Philip Monk
21c0f77321
arvo: add +mure for compiling hoon/arvo
Also use +mure in clay for building cores
2020-06-12 21:38:50 -07:00
Joe Bryan
0ddeb6526b zuse: fixes bug in aes-256-siv iv calculation (+s2vc:aes:crypto) 2020-06-12 21:34:04 -07:00
Joe Bryan
2d66e596cd test: add test case for aes-256-siv jet mismatch, observed in the wild 2020-06-12 21:26:48 -07:00
Philip Monk
3c5541432a
chat-hook: upgrade state to stop storing cards
The card type has changed, so we need a state upgrade.  As I understand
it, these existed for a particular upgrade to get around the fact that
Ford Turbo updates apps in random order.  In Ford Fusion, all apps are
started in parallel before any of their moves are emitted, so this is
no longer a problem.

Since these will no longer be needed and they don't load properly when
+card changes, we deleted them.  While trying to find a bug that I
introduced, I refactored +on-load a little bit -- I can revert this if
it's confusing.
2020-06-12 21:17:10 -07:00
Ted Blackman
8cf4e4bb38 gall: retry if agent fails first build 2020-06-13 00:16:09 -04:00
Philip Monk
4e466214e3
arvo: compile hoon/arvo in separate roads
Adds +mure to run a trap in a separate road.  This should eventually be
just a hint.

Vega was running inside a mule, but since +load was called within vega,
the new kernel was all run within the same mule, so it didn't actually
get to reclaim the space after hoon compiled.

We verified this with printfs in u3m_fall.  On the test ship (from
mainnet) which had 800MB used, vega was taking interior free space from
950MB to 450 over the course of compiling hoon, then each vane would go
from about 450 to 350 and then back to 450 once it finished (which
proves they were correctly isolated).  With this change, after hoon
compiles the free space goes back up to 950MB.  This gives us a lot more
space to compile OTAs.

We had to slightly refactor the logic for doubly-recompiling hoon, since
+mure as written produces a ?(!! _trap), and you can't find faces in the
result of the trap.  We could bake mure, but that's rather awkward.  I
wonder if there's a way to fix this as a wet gate.
2020-06-12 20:51:23 -07:00
Fang
ed09418f7f
Merge pull request #3000 from urbit/m/eyre-login-redirect
eyre: don't lose redirect upon failing login
2020-06-12 21:32:57 +02:00
Fang
dcbdf28cd1
Merge branch 'master' into m/eyre-scries 2020-06-12 15:29:10 +02:00
Philip Monk
05f0e47f68
ames: fix larval +load for fusion 2020-06-11 22:55:08 -07:00
Philip Monk
e34a1a2e61
arvo: filter old-arvo effects for %veer 2020-06-11 22:54:19 -07:00
Philip Monk
a3e15cd64c
clay: send notifications on vega 2020-06-11 19:41:22 -07:00
Joe Bryan
c3557e0836 Merge branch 'master' into ipc-redux-kh
* master: (25 commits)
  travis: Fix resource exhaustion error in test build.
  travis: Separate job for Haskell on Linux + bump nix version
  gall: properly handle empty outstanding ack queue
  vere: bump version to 0.10.5
  dawn: switch default eth node
  jets: patch cleanup
  Update os1-bug-report.md
  jets: switch openssl to the loom allocator.
  serf: disable automatic |pack
  release: urbit-os-v1.0.20
  behn: fix +unset-timer
  jael: send breach notifications in order
  jael: don't notify breach on initial update to ship
  jael: look for correct wire
  vere: handle failed cue of private key file
  u3: switches GMP import assert to conditional
  u3: fixes rock:load size printf
  vere: bypass terminal logging on lmdb worker thread
  vere: prevents term.c from retrying tcsetattr() indefinitely
  jets: jet decryption of aes-siv mode.
  ...
2020-06-11 19:07:13 -07:00
Logan Allen
3d3ab7e178 weather: better error printing 2020-06-11 20:15:32 -04:00
Fang
4ab55893bc
eyre: slightly better error pages 2020-06-12 02:13:13 +02:00
Fang
3c168eddb4
gall: do mark conversion in +ap-peek
Attempt to convert the scry result to the mark that was asked for,
failing the scry (with ~) if the conversion fails.

Eyre's scry logic, then, can pass the requested mark directly into gall.
2020-06-12 02:11:08 +02:00
Fang
b870466977
eyre: only allow authenticated GET scry requests
Lacking any other permissioning mechanism, we must simply reject
unauthenticated HTTP-scry requests for now.
2020-06-12 00:57:25 +02:00
Ted Blackman
8c6fd1406f gall: clean up state adapter using +any-agent 2020-06-11 18:21:52 -04:00
Logan Allen
3ba4c14deb landscape-js: make clock and weather load data properly 2020-06-11 16:44:59 -04:00
Philip Monk
895542b93e
Merge remote-tracking branch 'origin/master' into release/next-sys 2020-06-11 13:14:59 -07:00
Ted Blackman
d87d246232 gall: +load runs, +molt still fails 2020-06-11 16:07:54 -04:00
Fang
d20877e414
eyre: support %gx scries
Exposes a scry endpoint. Any requests made to the /app/scry.mark url
under the endpoint will scry into %app using a %gx scry, at the
/scry/noun path, and attempt to convert the scry result into the %mark,
before converting that into the %mime mark, and sending that as an http
response.
2020-06-11 01:45:05 +02:00
Fang
f1fab71d59
eyre: find sub-path for binding
In addition to producing the action bound for a given request, now also
produces the subset of the request url that comes _after_ the path at
which the binding has been established.

Will allow some bindings to more easily dispatch off the relevant part
of the url.
2020-06-11 01:42:21 +02:00
Fang
a4785458d1
eyre: don't lose redirect upon failing login
If we failed the password check, the login page served to us would never
include any redirect details, even if they were there in the original request.

Now we simply (attempt to) parse out the redirect field a little earlier.
2020-06-10 20:37:12 +02:00
matildepark
60b5fe658f
Merge pull request #2995 from urbit/lf/drum-file-server-order
drum: add %file-server to boot priority
2020-06-10 13:45:47 -04:00
matildepark
deda6722a0
Merge pull request #2998 from urbit/lf/eyre-chat-view
chat-view: bind eyre in ++on-init
2020-06-10 13:45:34 -04:00
Ted Blackman
db21fad4dd gall: WIP load-lost 2020-06-10 04:16:25 -04:00
Liam Fitzgerald
ef20a4d08a Merge branch 'feat/spa' into lf/groups-refactor 2020-06-10 14:41:17 +10:00
Liam Fitzgerald
daaf9201ae contact-hook: fix /~/default poke
We don't maintain a synced entry in the state for /~/default, so ignore
the synced check if modifying the /~/default contacts.
2020-06-10 13:14:25 +10:00
Liam Fitzgerald
4f1711a02f chat-view: bind eyre in ++on-init
chat-view bound to eyre in ++on-load but not in ++on-init, causing
freshly booted ships to be unable to access chat backlog
2020-06-10 12:54:10 +10:00
Ted Blackman
a2b1b16f60 Merge branch 'ford-fusion' into ota-ford-fusion 2020-06-09 21:34:16 -04:00
Philip Monk
11fa48f57b
kiln: ota logic compiles 2020-06-09 16:21:30 -07:00
Fang
0a32bcda35
Merge branch 'release/next-sys' into ford-fusion 2020-06-09 20:10:28 +02:00
Liam Fitzgerald
900da34fa9 drum: add %file-server to boot priority
File server needs to be started with priority in order to ensure the
-view apps can poke it, regardless of set ordering.
2020-06-09 13:02:24 +10:00
Fang
6e8822ffb5
clay: resurrect ':' for file-change notifications
Instead of printing '+' for both additions and modifications.
2020-06-08 23:24:23 +02:00
Liam Fitzgerald
d66dbff61e groups: migrate to push-pull hooks and resources 2020-06-08 17:53:16 +10:00
Fang
f720c346e6
shoe: respect insta-run flag when false 2020-06-07 18:06:46 +02:00
Fang
61de7d5603
shoe: provide usable default for +tab-list
It hadn't been updated to account for the sole-id argument.
2020-06-07 15:39:03 +02:00
Fang
8341d99ce0
shoe: optionally auto-run commands on entry
The +command-parser must now produce both a flag and a command noun.
If the flag is true, instantly runs the command from the noun.
If false, maintains standard behavior and only runs it on-return.
2020-06-06 19:10:08 +02:00
Philip Monk
6344a8441d
jael: always restart subscription to breached ship 2020-06-05 17:59:31 -07:00
Philip Monk
c68b0e817a
gall: properly handle empty outstanding ack queue
Fixes #2977
2020-06-05 17:05:22 -07:00
Fang
90ef268a32
Merge branch 'release/next-sys' into m/eyre-kill-channels 2020-06-05 22:25:18 +02:00
matildepark
c9986074b7
Merge pull request #2979 from urbit/lf/publish-alignment
publish: fix store reducers
2020-06-05 14:19:00 -04:00
Matilde Park
c7717fdcc5 groups: group detail tiles use ~landscape imgs 2020-06-05 13:11:13 -04:00
Liam Fitzgerald
335e4479a1 publish: fix store reducers 2020-06-05 12:12:11 +10:00
Liam Fitzgerald
976da56ced Merge branch 'origin/lf/get-eyre-redirect' into feat/spa 2020-06-05 11:11:37 +10:00
Philip Monk
80ead610ea
Merge remote-tracking branch 'origin/master' into release/next-sys 2020-06-04 17:52:42 -07:00
Liam Fitzgerald
3ff99b0d7f Merge branch 'origin/lf/get-eyre-redirect' into release/next-sys 2020-06-05 10:41:15 +10:00
Fang
b54dc7cd34
eyre, zuse: expire channels with their sessions
Associates channels with the authentication sessions that opened them,
and deletes the channel when its associated session expires.

Also updates the debug dashboard to display channel counts per session.
2020-06-05 00:22:39 +02:00
Fang
68491420d2
eyre: refactor %delete to reuse timeout logic
Turns +on-channel-timeout into +discard-channel, which cleans up the
entirety of the channel, based on its current state. This allows us to
simplify the %delete channel request into a simple function call.
2020-06-05 00:20:06 +02:00
Matilde Park
9440392777 drum: remove 'invite-view' 2020-06-04 17:48:48 -04:00
Logan Allen
8e1aeefdbb invites: fixed %initial 2020-06-04 17:39:53 -04:00
Logan Allen
7fc2d39029 chat: fix %initial response and metadata reducer 2020-06-04 17:24:28 -04:00
Liam Fitzgerald
b553d57c29 eyre: 303 redirect on successful login
Changes the HTTP status code of the redirect that occurs upon a
successful login from 307 to 303. 307 preserves the method of the
original request, so the redirected request is a POST. With the new SPA,
this causes a 404 as app/file-server validates the method of the
request, something that did not happen in earlier versions of landscape.
303 instead changes the method to always produce a GET request.
2020-06-04 15:09:00 +10:00
Ted Blackman
4d97aaf553 :publish: fix merge syntax errors 2020-06-03 16:52:04 -04:00
Fang
a66cfc31da
eyre: fake duct for on-load logout binding
Empty duct is considered not good.
2020-06-03 14:29:13 +02:00
Fang
6e3284feac
eyre: use 303 to redirect to login post-logout
This ensures the client sends a GET request, which is more appropriate.
2020-06-03 14:28:30 +02:00
Ted Blackman
3834860410 clay: state adapter, still needs :goad 2020-06-03 03:00:45 -04:00
Ted Blackman
8d330626f0 /app: fix merge bugs 2020-06-03 01:48:57 -04:00
Philip Monk
8b78f04dd3
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-02 21:50:20 -07:00
Liam Fitzgerald
f392e861ee groups: add prototype state adapters and cleanup 2020-06-03 12:21:00 +10:00
Fang
4d93349402
eyre: provide logout endpoint
Set up, by default, on /~/logout.

Sending a POST request to this expires the current session and redirects
to the login page. If the "all" key is set in the request body, expires
all open sessions.
2020-06-03 01:40:32 +02:00
Philip Monk
818d2231f6
ames: remove jumbo packets 2020-06-02 14:13:28 -07:00
Fang
30924609e0
Merge pull request #2882 from urbit/lf/links-refactors
links: namespace types
2020-06-02 17:16:37 +02:00
Liam Fitzgerald
9b36beeb7a groups: cleanup rebase artifacts 2020-06-02 16:25:36 +10:00
Liam Fitzgerald
2bafd3eb57 groups: fix race condition in joining flow
Attempting to sync a group that a ship is not in causes the subscription
to fail. Because the %add-members action and the sync used to be sent in
one invocation, ames does not guaranteed the order of these remote
actions and so we wait for the %add-members poke to be acked before
adding the group and associated resources.
2020-06-02 15:28:34 +10:00
Liam Fitzgerald
5016e84c0a groups: namespace tags 2020-06-02 15:24:08 +10:00
Liam Fitzgerald
e2aa8af220 groups: add .hidden flag on group 2020-06-02 15:24:08 +10:00
Liam Fitzgerald
b5d9fcf390 groups: use rank:title for %open policy 2020-06-02 15:24:08 +10:00
Liam Fitzgerald
51d2c32170 chat: revive groupify 2020-06-02 15:24:05 +10:00
Liam Fitzgerald
8a2e325fe0 publish: update to new groups 2020-06-02 15:22:43 +10:00
Liam Fitzgerald
e4d51ef327 links: update to new groups 2020-06-02 15:21:06 +10:00
Liam Fitzgerald
841ba72bd9 chat: update to new groups 2020-06-02 15:20:14 +10:00
Liam Fitzgerald
f60181871a groups: finish rewrite 2020-06-02 15:11:02 +10:00
Liam Fitzgerald
d2de8d72eb groups: begin rewrite 2020-06-02 15:07:09 +10:00
Liam Fitzgerald
aa033708bf links: cleanup debugging artifacts 2020-06-02 14:36:56 +10:00
Philip Monk
84b8a67e47
clay: handle reefs for non-home desks
We build a reef for each desk but use the compiler from our kernel.  At
some point we should use the compiler from the desk, but then we need to
validate any results we get from it.
2020-06-01 20:52:20 -07:00
Philip Monk
62889d78d1
txt: don't conflict if identical changes 2020-06-01 20:46:43 -07:00
Fang
574b05a88a
Merge pull request #2959 from urbit/m/eyre-cookies
eyre: augmented cookie handling
2020-06-01 22:11:57 +02:00
Fang
2c02a91633
tests: update eyre tests
To account for recent cookie-related changes.
2020-06-01 21:42:32 +02:00
Logan Allen
d1d417fb22 chat-view: fix issues from merge 2020-06-01 14:34:32 -04:00
Logan Allen
b8525c7915 file-server: fix issues from merge 2020-06-01 14:28:05 -04:00
Logan Allen
b863dca773 apps: more merge fixes for chat and publish 2020-06-01 14:17:14 -04:00
Logan Allen
8a3d0adb57 publish / chat-store: fix merge issues 2020-06-01 14:07:28 -04:00
Logan Allen
d46b4d57a5 contact-view: remove unnecessary state 2020-06-01 14:02:13 -04:00
Logan Allen
11bc29111c apps: made sure on-init case was covered in all apps, improved on-load 2020-06-01 14:02:13 -04:00
Logan Allen
3cdc47b02a file-server: updated style 2020-06-01 14:02:13 -04:00
Logan Allen
71d0b1a6c0 apps: individual apps send their %serve-dir poke 2020-06-01 14:02:13 -04:00
Logan Allen
9b5c93d2f1 file-server: renamed to file-server 2020-06-01 14:02:12 -04:00
Logan Allen
c4d3fa41d9 launch and http-server-store: protect on-poke and on-watch 2020-06-01 14:01:39 -04:00
Logan Allen
f13b174f16 landscape: renamed to http-server-store, finished subscribable configuration 2020-06-01 14:01:38 -04:00
Logan Allen
34d70d4d55 channel.js: properly close event source 2020-06-01 14:00:47 -04:00
Logan Allen
e2fad4bdd7 landscape: updated code to bind to all used prefixes 2020-06-01 14:00:47 -04:00
Isaac Visintainer
7b0a587c4a landscape: don't special case os1 app paths 2020-06-01 14:00:47 -04:00
Isaac Visintainer
ae58a62fad landscape: added static serving to landscape.hoon 2020-06-01 14:00:47 -04:00
Logan Allen
1fc59a9c97 publish: removed commented out code 2020-06-01 14:00:47 -04:00
Logan Allen
deb7c3445b apps: finish mark and http cleanup 2020-06-01 14:00:46 -04:00
Logan Allen
4550bc6dc1 apps: updated apps to use consistent %initial update 2020-06-01 14:00:46 -04:00
Logan Allen
056cd51478 apps: removed unused resources 2020-06-01 13:57:32 -04:00
Logan Allen
34fc7b7f30 launch: fixed mark conversions and added files 2020-06-01 13:57:06 -04:00
Logan Allen
0c2b770411 launch: added json marks 2020-06-01 13:57:06 -04:00
Logan Allen
9a008155c7 launch: finished the structure of the rewrite, supports tile hiding and tile reordering 2020-06-01 13:57:06 -04:00
Matilde Park
82c6bc3589 publish: change index.hoon for spa 2020-06-01 13:57:06 -04:00
Matilde Park
cff36857b1 spa: add links 2020-06-01 13:57:05 -04:00
Logan Allen
a0da7610ab landscape-js: integrate with new ~landscape paths 2020-06-01 13:57:05 -04:00
Logan Allen
d727b95770 hood: start landscape app automatically and upon OTA 2020-06-01 13:57:04 -04:00
Logan Allen
1bbeb8d2a4 landscape: moved chat files to landscape directory and updated to use landscape SPA 2020-06-01 13:55:49 -04:00
Logan Allen
23cdb8f07e launch: wip 2020-06-01 13:55:28 -04:00
Logan Allen
e3adb94c83 landscape: added landscape.hoon that serves all HTTP urls but the publish-related ones 2020-06-01 13:55:27 -04:00
Logan Allen
4fa2378e67 apps: stop serving webpages from all apps except publish 2020-06-01 13:55:04 -04:00
Matilde Park
f9865bdd2c spa: add groups 2020-06-01 13:54:08 -04:00
Matilde Park
9b4c51776d soto: fix to use latest channel.js 2020-06-01 13:54:08 -04:00
Matilde Park
27406fe029 spa: componentise spinner, migrate all global css 2020-06-01 13:54:08 -04:00
Ted Blackman
b191636276 clay: WIP reef building 2020-06-01 12:56:21 -04:00
Fang
750ff6e5e1
eyre: respect "forwarded" header from localhost
For request transparency, HTTP proxies may set the Forwarded header to
specify who the original requester is.

For requests from localhost only, we make Eyre respect the Forwarded
header, and adjust the handled ip address accordingly.

Note that we do not support X-Forwarded or other non-standard variants.
The header remains in the request, so server applications can handle
them as desired.

Fixes #2723.
2020-05-31 17:45:22 +02:00
Fang
a87000149d
zuse: add parsers for http header field values
Multi-value format as used by some headers.

Also updates pill with recent zuse changes.
2020-05-31 17:45:20 +02:00
Fang
b1daaec7bf
zuse: add parsers for ip addresses
Parses into +address:eyre.
2020-05-31 17:45:18 +02:00
Fang
63c26151a3
eyre: extend session duration on-use
When sending a response to an authenticated request, update the session
to last for +session-timeout again, and send an updated cookie to match.

Assuming the user makes an actual HTTP request at least once a week,
this will make sure they don't get logged out automatically. Simply
keeping a channel open, unfortunately, doesn't count.
2020-05-30 02:29:20 +02:00
Benjamin Summers
47247d86d2 Merge branch 'khrc' of github.com:urbit/urbit into ipc-redux-kh 2020-05-29 17:15:16 -07:00
Fang
a51d93326a
eyre: clean up old +load code
Removes pre-breach state adapter logic and touches up code style.
2020-05-29 15:33:22 +02:00
Fang
00e3159287
eyre: clear expired sessions/cookies from state
Instead of setting a timer for every session, we set a single expiry
timer when the first session is created. On the subsequent wake event,
we clear all cookies that have expired at that time, then set a timer
for when the next session expires.

This approach gives us flexibility wrt sessions going forward, allowing
extending or early deleting of sessions without having to care about the
related timers.

Note that in +load, we clear all existing sessions. We would start the
expiry timer flow there, but can't. Forcing the user to login again
post-ota once isn't the end of the world.
2020-05-29 15:28:44 +02:00
Fang
f54c5066d4
Merge pull request #2956 from urbit/master
Merge master into release/next-userspace
2020-05-29 13:24:44 +02:00
Philip Monk
18e396cf53
release: urbit-os-v1.0.20
Previous urbit-os-v1.0.20 was not released
2020-05-28 18:43:20 -07:00
Philip Monk
d49e8adc08
Merge remote-tracking branch 'origin/philip/behn-fix' into release/hotfix
behn: fix +unset-timer
2020-05-28 18:37:39 -07:00
Philip Monk
3ab618e234
behn: fix +unset-timer
It was throwing away timers sometimes if you cancelled a timer at the
same date as other timers.
2020-05-28 17:09:25 -07:00
Philip Monk
0cfee46fa8
jael: send breach notifications in order
See #2952 for details
2020-05-28 15:24:19 -07:00
Philip Monk
1be5411c75
jael: don't notify breach on initial update to ship
See #2952 for details
2020-05-28 14:38:07 -07:00
Philip Monk
c20cd29932
jael: look for correct wire
We inspect the wire of our subscriber to see if we need to produce the
result as a %public-keys or a %boon.  This is bad -- we should proxy the
subscription to avoid this need, but this doesn't make that change yet.

%pubs is an old name that doesn't exist anymore (last existed around
September 2019).  The new version is /public-keys, but it's worked so
far because /public-keys has only one item in the path, so it missed the
conditional.  This commit makes the intent more clear.

The [%a @ @ *] could be just [%a @ *], but I leave it to reduce the
chance of breaking stuff.
2020-05-28 14:27:08 -07:00
ixv
28dbe9b9e5
Merge pull request #2940 from urbit/ixv/publish-kick-resub
publish: send less data on kick/resubscribe
2020-05-28 11:45:56 -07:00
Philip Monk
a362e4b3cb
gen: add |ames-wake
forgot to add this file
2020-05-28 10:50:32 -07:00
Philip Monk
0642cc5861
ames: add |ames-wake
Somehow we ended up with flows which expected to awaken but did not wake
up.  This was likely caused by the error in r920j OTA, urbit-os-v1.0.18.

This adds a command which ensures that every flow has an active timer.
I expect this to be needed only once, but it's a pretty general tool, so
it's worth keeping.

I've included an unused @t parameter to more easily add simple debug
commands to ames without having to add a new task
2020-05-28 10:28:31 -07:00
Philip Monk
3eb28e2f61
hood: update on-save 2020-05-28 07:38:40 -07:00
Philip Monk
c417e594e3
hood: update on-save 2020-05-27 19:35:22 -07:00
Philip Monk
472ad18c90
behn: already deleted, don't need to do it again 2020-05-27 18:47:50 -07:00
Philip Monk
86fb78d933
Merge remote-tracking branch 'origin/ted/behn-same-date' into release/hotfix 2020-05-27 18:36:10 -07:00
Philip Monk
ff01a1ea04
ames: don't set new timer if we woke up too early
Otherwise if we end up having multple outstanding timers, they never
coalesce to a single timer.
2020-05-27 17:38:18 -07:00
Isaac Visintainer
e9b7360335 publish: address review comments 2020-05-27 16:27:51 -06:00
Ted Blackman
8ed07dfc7e behn: fix bug with timers at same date 2020-05-27 02:59:07 -04:00
Philip Monk
d0b4d5a02e
release: urbit-os-v1.0.18 2020-05-26 17:41:42 -07:00
Fang
049cacfa51
Merge pull request #2932 from urbit/m/shoe
shoe: console application library
2020-05-27 00:39:27 +02:00
Fang
4b9ec0c9a4
shoe: include example usage of %klr sole-effect
Seems worthwhile to signal the existence of richer console output.

Also adds a brief description of what the example app does.
2020-05-26 23:45:45 +02:00
Fang
127355c381
shoe: simplify default +can-connect
This belongs in /app/shoe (and indeed already is there).
2020-05-26 23:14:51 +02:00
Fang
509fec7f7c
shoe: improve +on-load logic
Turns out that if we use a tag we can just check the value without
needing vase operations.
2020-05-26 23:10:54 +02:00
Isaac Visintainer
33b534e8f8 publish: send less data on kick/resubscribe 2020-05-26 14:55:27 -06:00
Fang
36b7fc2e4f
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-26 20:36:27 +02:00
pkova
28cd252ce7 zuse: improve json to rn parsing
Allow the exponent token to be 'e' or 'E', allow the explicit sign of '+'.
Following the spec at https://json.org. Fixes #2935.
2020-05-26 19:29:24 +03:00
pilfer-pandex
78729f4f87 hoon: better comment for +slab 2020-05-25 22:42:49 -04:00
pilfer-pandex
831206d4fe hoon: comment and syn mod for +slab 2020-05-25 22:35:54 -04:00
Fang
41448d5b05
chat-cli: use /lib/shoe 2020-05-24 17:57:54 +02:00
Fang
f103c65051
shoe: console application library
Deals with sole events, deferring to the underlying app only for higher-
level sole-handling logic.

Currently doesn't offer fancy printing logic, but can easily be extended
to do so.

Passes sole-ids on to the underlying app in all arms so that it may run
session-specific logic wherever it desires.
2020-05-24 17:57:18 +02:00
Fang
2fddfea082
sole: include details in stack trace 2020-05-24 17:57:09 +02:00
Fang
1238047b48
Merge branch 'master' into release/next-sys 2020-05-24 17:51:48 +02:00
Fang
58e85fa661
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-23 01:00:45 +02:00
Fang
309d30a0c8
dbug: support more eyre scries 2020-05-22 23:57:41 +02:00
Fang
52ef23ccca
eyre, zuse: add scry interfaces for eyre state
Scries for getting out open connections, cookie sessions, and existing
channels.

Moves the involved types from eyre into zuse.
2020-05-22 23:55:17 +02:00
Philip Monk
a4a44f1e21
kiln: cleanup 2020-05-22 14:32:32 -07:00
Philip Monk
25bd1340f6
ph: update breach-sync now that %base is gone 2020-05-22 00:30:15 -07:00
Philip Monk
096149713a
drum: relink to chat-cli
The subscription changes in drum broke existing subscriptions.  This
worked alright (though loud) for dojo, but it left chat-cli "frozen"
unless you manually unlinked/relinked.  This does that automatically.

It also includes a refactoring of +on-load in drum, to avoid vain
repetition.
2020-05-22 00:17:56 -07:00
Philip Monk
4aff4d74e2
kiln: get updates into %home, remove %base
We need to get updates directly into %home in case the marks depend on
changes to hoon.hoon.  %base has no reason to exist.

Our ota strategy is now to merge from parent/kids to home, then
parent/kids to kids.
2020-05-21 23:45:17 -07:00
Philip Monk
cce32194c1
pill: update 2020-05-21 23:15:23 -07:00
Ted Blackman
13f6b84b76 /gen/timers: stop using parser path 2020-05-22 01:53:33 -04:00
Ted Blackman
8bd1ed7a2c dojo: fix keyword arguments 2020-05-22 01:53:04 -04:00
Philip Monk
4fcd9f23c0
Merge branch 'release/behn-fast' (#2915)
* release/behn-fast:
  zuse: add +ordered-map
  behn: switch to ordered-map
  chat: virtualize message-to-json conversion
2020-05-21 22:43:53 -07:00
Philip Monk
0e7b07e061
Merge branch 'release/link-dojo' (#2867)
* origin/release/link-dojo:
  chat-cli: allow sending • character
  chat-cli: always talk to local ship only
  chat-cli: single-target sole effects as needed
  chat-cli: don't allow excessively small cli widths
  chat-cli: pull in sole-sur namespace where relevant
  chat-cli: remove unused entropy from state
  chat-cli: print newlines correctly
  chat-cli: support multiple sole connections
  chat-cli: don't crash on %bad-text
  dojo: rename remote access generators
  gall: fix handling of empty path list
  dojo: remove unused %json poke
  dojo: add remote access controls
  drum: switch to per-ship /sole/drum duct

Signed-off-by: Philip Monk <phil@pcmonk.me>
2020-05-21 22:42:18 -07:00
Philip Monk
274215ec6b
zuse: add +ordered-map
At some point this should be more properly styled similar to +by, +in,
and +to, but for now this reduces duplication and makes the ordered map
available to everyone.
2020-05-21 22:28:16 -07:00