Merge branch 'release/next-sys' into m/eyre-kill-channels

This commit is contained in:
Fang 2020-06-05 22:25:18 +02:00 committed by GitHub
commit 90ef268a32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 87 additions and 14 deletions

View File

@ -3,7 +3,7 @@ name: OS1 Bug report
about: 'Use this template to file a bug for any OS1 app: Chat, Publish, Links, Groups,
Weather or Clock'
title: ''
labels: OS1
labels: landscape
assignees: ''
---

View File

@ -140,7 +140,7 @@
`..on-init
::
++ on-save
!>([%4 lac])
!>([%5 lac])
::
++ on-load
|= =old-state=vase

View File

@ -0,0 +1,5 @@
:: Set timers for any ames flows that lack them
::
:- %say
|= [^ ~ ~]
[%helm-ames-wake ~]

View File

@ -185,6 +185,10 @@
|= veb=(list verb:ames) =< abet
(emit %pass /helm %arvo %a %spew veb)
::
++ poke-ames-wake
|= ~ =< abet
(emit %pass /helm %arvo %a %stir '')
::
++ poke-knob
|= [error-tag=@tas level=?(%hush %soft %loud)] =< abet
(emit %pass /helm %arvo %d %knob error-tag level)
@ -205,6 +209,7 @@
%helm-send-hi =;(f (f !<(_+<.f vase)) poke-send-hi)
%helm-ames-sift =;(f (f !<(_+<.f vase)) poke-ames-sift)
%helm-ames-verb =;(f (f !<(_+<.f vase)) poke-ames-verb)
%helm-ames-wake =;(f (f !<(_+<.f vase)) poke-ames-wake)
%helm-verb =;(f (f !<(_+<.f vase)) poke-verb)
%helm-knob =;(f (f !<(_+<.f vase)) poke-knob)
%helm-rekey =;(f (f !<(_+<.f vase)) poke-rekey)

View File

@ -599,6 +599,7 @@
%jilt (on-jilt:event-core ship.task)
%sift (on-sift:event-core ships.task)
%spew (on-spew:event-core veb.task)
%stir (on-stir:event-core arg.task)
%trim on-trim:event-core
%vega on-vega:event-core
%wegh on-wegh:event-core
@ -819,6 +820,51 @@
%rot acc(rot %.y)
==
event-core
:: +on-stir: start timers for any flow that lack them
::
:: .arg is unused, meant to ease future debug commands
::
++ on-stir
|= arg=@t
=/ states=(list [ship peer-state])
%+ murn ~(tap by peers.ames-state)
|= [=ship =ship-state]
^- (unit [^ship peer-state])
?. ?=(%known -.ship-state)
~
`[ship +.ship-state]
=/ snds=(list (list [ship bone message-pump-state]))
%+ turn states
|= [=ship peer-state]
%+ turn ~(tap by snd)
|= [=bone =message-pump-state]
[ship bone message-pump-state]
=/ next-wakes
%+ turn `(list [ship bone message-pump-state])`(zing snds)
|= [=ship =bone message-pump-state]
[ship bone next-wake.packet-pump-state]
=/ next-real-wakes=(list [=ship =bone =@da])
%+ murn next-wakes
|= [=ship =bone tym=(unit @da)]
^- (unit [^ship ^bone @da])
?~(tym ~ `[ship bone u.tym])
=/ timers
%- silt
;; (list [@da ^duct])
=< q.q %- need %- need
%- scry-gate
[[%141 %noun] ~ %b [[our %timers da+now] /]]
=/ to-stir
%+ skip next-real-wakes
|= [=ship =bone =@da]
(~(has in timers) [da `^duct`~[a+(make-pump-timer-wire ship bone) /ames]])
~& [%stirring to-stir]
|- ^+ event-core
?~ to-stir
event-core
=/ =wire (make-pump-timer-wire [ship bone]:i.to-stir)
=. event-core (emit duct %pass wire %b %wait da.i.to-stir)
$(to-stir t.to-stir)
:: +on-crud: handle event failure; print to dill
::
++ on-crud
@ -1385,6 +1431,9 @@
::
?: already-pending
event-core
:: NB: we specifically look for this wire in +public-keys-give in
:: Jael. if you change it here, you must change it there.
::
(emit duct %pass /public-keys %j %public-keys [n=ship ~ ~])
:: +send-blob: fire packet at .ship and maybe sponsors
::

View File

@ -250,12 +250,11 @@
=/ dux (find-ducts date.t)
|- ^- [found=? dux=(qeu ^duct)]
?~ dux |+~
=/ [top=^duct lef=(qeu ^duct) rih=(qeu ^duct)] dux
=> .(dux `(qeu ^duct)`dux) :: TMI
?: =(duct.t top) &+~(nip to dux)
=^ found-left=? dux $(dux lef)
?: =(duct.t n.dux) &+~(nip to `(qeu ^duct)`dux)
=^ found-left=? l.dux $(dux l.dux)
?: found-left &+dux
$(dux rih)
=^ found-rite=? r.dux $(dux r.dux)
[found-rite dux]
?. found timers.state
?: =(~ dux)
+:(del:timer-map timers.state date.t)

View File

@ -995,7 +995,7 @@
=/ actual-redirect ?:(=(u.redirect '') '/' u.redirect)
%- handle-response
:* %start
:- status-code=307
:- status-code=303
^= headers
:~ ['location' actual-redirect]
['set-cookie' cookie-line]

View File

@ -664,17 +664,30 @@
::
++ public-keys-give
|= [yen=(set duct) =public-keys-result]
=+ yez=~(tap in yen)
|^
=+ yez=(sort ~(tap in yen) sorter)
|- ^+ this-su
?~ yez this-su
=* d i.yez
=. this-su
?. &(?=([[%a @ @ *] *] d) !=(%pubs i.t.i.d))
?. &(?=([[%a @ @ *] *] d) !=(%public-keys i.t.i.d))
%- emit
[d %give %public-keys public-keys-result]
%- emit
[d %give %boon %public-keys-result public-keys-result]
$(yez t.yez)
::
:: We want to notify Ames, then Clay, then Gall. This happens to
:: be alphabetical, but this is mostly a coincidence.
::
++ sorter
|= [a=duct b=duct]
?. ?=([[@ *] *] a)
|
?. ?=([[@ *] *] b)
&
(lth i.i.a i.i.b)
--
::
++ get-source
|= who=@p
@ -866,7 +879,8 @@
:: if changing rift upward, then signal a breach
::
=? ..feel
?& ?=(%rift -.a-diff)
?& ?=(^ maybe-point)
?=(%rift -.a-diff)
(gth to.a-diff rift.point)
==
%+ public-keys-give

View File

@ -449,6 +449,7 @@
$>(%init vane-task)
[%sift ships=(list ship)]
[%spew veb=(list verb)]
[%stir arg=@t]
$>(%trim vane-task)
$>(%vega vane-task)
$>(%wegh vane-task)

View File

@ -613,12 +613,12 @@
^- (hypo sign:http-server-gate) :- *type
:* %g %unto %fact
%http-response-header
!>([307 ['location' '/~/login?redirect=/~landscape/inner-path']~])
!>([303 ['location' '/~/login?redirect=/~landscape/inner-path']~])
==
==
^= expected-move
:~ :* duct=~[/http-blah] %give %response
[%start [307 ['location' '/~/login?redirect=/~landscape/inner-path']~] ~ %.n]
[%start [303 ['location' '/~/login?redirect=/~landscape/inner-path']~] ~ %.n]
== == ==
:: the browser then fetches the login page
::
@ -2160,7 +2160,7 @@
%give
%response
%start
:- 307
:- 303
:~ ['location' '/~landscape']
['set-cookie' cookie-string]
==