Commit Graph

2402 Commits

Author SHA1 Message Date
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
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
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
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
pilfer-pandex
90e8c9a2b0 hoon: make +slab respect variance using given mode and return false 2020-05-21 19:38:10 -04:00
pilfer-pandex
7e4c0036f6 hoon: make +slab respect variance (%read) and return false 2020-05-21 19:37:20 -04:00
Isaac Visintainer
7c9f128910 publish: fix publish-info mark quote escaping 2020-05-21 17:16:54 -06:00
Fang
4c9d18e5c0
Merge branch 'release/next-sys' into m/debug-dashboard 2020-05-21 20:09:58 +02:00
Fang
9f4bb4b295
dbug: no such thing as fallback duct 2020-05-21 12:31:28 +02:00
Philip Monk
8c4c0f31fc
Merge pull request #2920 from urbit/ted/ames-mass-alien
ames: fix %alien |mass over-reporting
2020-05-21 01:40:30 -07:00
Philip Monk
a84b0db733
clay: fix clobbering changes if identical changes 2020-05-21 01:23:04 -07:00
Philip Monk
560e3375f5
clay: drip if foreign desk 2020-05-21 01:10:39 -07:00
Ted Blackman
a0eafa8aa3 zuse,ames: handle %trim task 2020-05-21 03:45:08 -04:00
Ted Blackman
0f7b213f38 ames: fix %alien |mass over-reporting 2020-05-21 03:19:20 -04:00
Fang
826b27df53
dbug: separate flows by forward & backward
Instead of send and receive.
2020-05-21 00:59:31 +02:00
ixv
0092c68833
Merge pull request #2914 from urbit/ixv/migrate-groups
os1: migrate app data to new group
2020-05-20 14:27:45 -07:00
Fang
f96c83a4a9
spider, debug fe: actually support killing threads 2020-05-20 22:35:53 +02:00
Fang
da4274d490
dbug: allow custom state queries
Try to give state version number on first load. Run custom queries on
demand, similar to +dbug [%state 'whatever'].
2020-05-20 22:34:13 +02:00
ixv
a79f73c091
Merge pull request #2913 from urbit/ixv/fix-chat
chat-view: don't forget to sync permissions
2020-05-20 13:25:16 -07:00
Isaac Visintainer
8e6cbbb1d6 migrate-channels: addressed review 2020-05-20 14:24:24 -06:00
Fang
973cb62d6c
Merge branch 'release/next-userspace' into m/smaller-safer-json 2020-05-20 17:29:12 +02:00
Ted Blackman
34038a4616 /gen: all generators build 2020-05-20 04:51:37 -04:00
Ted Blackman
96264f7fa3 eyre: clarify common prints 2020-05-20 04:36:33 -04:00
Ted Blackman
1028e9fd7c hoon,kiln: clean up boot prints; new pill 2020-05-20 04:36:16 -04:00
Ted Blackman
5a1f227622 clay: remove beak from compiler path 2020-05-20 04:25:00 -04:00
Ted Blackman
96c92a493d /tests: gall tests pass again 2020-05-20 04:22:40 -04:00
Ted Blackman
917c55eaa3 gall: remove pupal queue, molt on any event 2020-05-20 03:30:29 -04:00
Ted Blackman
7e69e66280 ames/zuse: handle %trim event 2020-05-20 03:29:54 -04:00
Ted Blackman
66b9e20ee5 /app: more fixes from /= replacement 2020-05-20 03:28:14 -04:00
Ted Blackman
19f0fe7757 :metadata-hook: fix syntax error 2020-05-20 02:34:11 -04:00
Philip Monk
56c66be87a
behn: switch to ordered-map 2020-05-19 21:40:39 -07:00
Isaac Visintainer
e931a473dd os1: migrate app data to new group 2020-05-19 20:08:35 -06:00
Isaac Visintainer
9b28855842 chat-view: don't forget to sync permissions 2020-05-19 19:48:06 -06:00
Ted Blackman
6f80d55289 :test %generators 2020-05-19 20:28:46 -04:00
Ted Blackman
044c22357d clay: virtualize +read-at-aeon:ze so failures don't kill event 2020-05-19 20:28:24 -04:00
Ted Blackman
4616daf0dc /app: fix remaining /=s; all agents build 2020-05-19 20:27:34 -04:00
matildepark
91cf06b542
Merge pull request #2814 from urbit/lf/chat-type-namespacing
chat: improve namespacing of chat-* types
2020-05-19 19:54:22 -04:00
matildepark
74fb1ad68f
Merge pull request #2884 from urbit/lf/publish-namespacing
publish: abide by namespacing conventions
2020-05-19 19:14:55 -04:00
Fang
15e3ea6940
dbug: just use +dor for sorting
+vor is literally just +dor.
2020-05-19 23:46:27 +02:00
Ted Blackman
64882f09e7 /gen,/app: stop using /= 2020-05-19 16:53:55 -04:00
Fang
239892b26d
dbug: attempt to render lane details 2020-05-19 22:50:59 +02:00
Fang
2671fe71df
dbug: print warning about passcode access
Also fixes typo, cleans up comment.
2020-05-18 22:54:45 +02:00
Fang
edabe438d3
dbug: order rcv's nax 2020-05-18 21:46:33 +02:00
Fang
5572b3d8a7
dbug: sort correctly, by value order
Was using +aor, which sorts by LSB order.
2020-05-18 20:53:48 +02:00