Commit Graph

29032 Commits

Author SHA1 Message Date
fang
890e5f1e9b
webterm: do not warn on session creation cancel 2022-03-25 14:41:53 +01:00
fang
01de5a06b0
term: consistently use x/y coordinate ordering
%rez has always used "width & height". Certainly, "x & y" is more
standard than "row & column". As such, we settle on making %hop and %hit
respect the more natural ordering. This change is safe because these
interfaces haven't made it to livenet yet.
2022-03-25 13:45:29 +01:00
tomholford
6256a0a664 ux: inform user when session input is invalid
Show a helpful error message via `alert` instead of failing silently.
2022-03-15 11:16:44 -06:00
fang
0d2c135959
webterm: small cleanup, comments
Also includes a more-sane prompt() description.
2022-03-15 01:34:19 +01:00
fang
586c2da857
webterm: improve session creation regexes
Trailing dashes are, in fact, allowed. As are numerics in the agent
name.
2022-03-15 01:24:16 +01:00
tomholford
bf0f4e97c9 api: exponential backoff when resubscribing
Use the new `lib/retry` to attempt to reconnect when clogged. If unsucessful after 5 attempts, stop retrying and log an error.
2022-03-10 22:54:30 -06:00
tomholford
200b504c4e api: resubscribe after clog 2022-03-10 00:03:27 -06:00
tomholford
ee492e6f83 devex: cleaning up lint issues 2022-03-09 16:25:10 -06:00
tomholford
e7e5c63409 ux: support agent!session-name syntax
When adding a session, using this special syntax will create a new session for the indicated agent.

E.g., `book!my-session` opens a new session for the %book agent.
2022-03-09 16:15:24 -06:00
tomholford
8d9a59bfe4 devex: eslint config 2022-03-09 16:14:06 -06:00
fang
8906d1c17d
dill: move %mor case into $blit
This lets us send a single blit around, instead of sending facts for
every individual blit in a draw event.
2022-03-05 18:17:48 -06:00
tomholford
87ac253b8d ux: default terminal sets correct theme onload
also, increase size of Tab click target
2022-03-03 18:11:37 -06:00
tomholford
438e6d4df9 ui: style tabs
also rename join --> useDark; clean up extraneous logging statements
2022-03-03 17:10:54 -06:00
tomholford
fe1ece47d8 api: clean up subscriptions on deletion of session
On subscribe, track the subcription ID in the Session state.

On deletion, unsubscribe using the same ID.
2022-03-03 17:09:38 -06:00
tomholford
1a50957950 ux: session ID input validation
When creating a new session, validate that it meets the following conditions:

 - must start with an alphabetical
 - can be composed of alphanumerics with hyphens
 - can be length 1 or longer
 - cannot begin or end with a hyphen
2022-03-03 16:58:48 -06:00
fang
25a1c79aa3
drum: properly hook up new |link
More uncommitted code.
2022-03-02 23:25:38 -06:00
fang
e41263c653
dojo: add missing nu-sole-id compatability
Forgotten code.
2022-03-02 22:49:31 -06:00
fang
d98611a04b
webterm: support multiple sessions
Fully implements webterm support for multiple dill terminal sessions.

Remaining work includes styling, session creation safety (name-wise),
and general cleanup.

Co-authored-by: tomholford <tomholford@users.noreply.github.com>
Co-authored-by: liam-fitzgerald <liam@tlon.io>
2022-03-02 17:34:19 -06:00
fang
998f7d081a
dill: fix %shut session deletion
+abet would re-insert the session into state, so we just pull the
deletion logic outside of the main core.
2022-03-02 17:24:54 -06:00
fang
e53cb4a205
drum: make |un/link work for non-default sessions 2022-02-28 16:47:49 -06:00
fang
f6f2fcfcac
drum: make eel per-session
This allows us to have different apps connected to different sessions.
2022-02-28 16:45:56 -06:00
fang
41a063867b
dojo: auto-fill generator's named drum-session arg
If a generator has a named argument named "drum-session", and the caller
doesn't specify a value for it, dojo auto-fills it with the current drum
session identifier.
2022-02-28 16:41:49 -06:00
fang
bf97b8da38
drum: move +se-view call into +se-abet
We practically always do se-abet:se-view anyway.
2022-02-28 16:27:29 -06:00
fang
bb11c74278
drum: don't drop state during se-subze
Previously, it was putting new session state into the old map,
preserving only the state of the last session in the map.
2022-02-28 16:24:41 -06:00
fang
da47cfb08e
drum: correctly initialize session in +prep 2022-02-21 12:11:40 -06:00
fang
3120681b2b
sole: properly support multiple sessions
We update the sole protocol to more cleanly support multiple sessions.

Primarily, the "sole id" is updated to be a [@p @ta] instead of a @ta,
and it is now generated based off the connected dill session, rather
than statically.

This change ripples out to applications that support the sole protocol:
the subscription path becomes /sole/[ship]/[session] (as opposed to
/sole/[per-ship-constant]), and %sole-action pokes include the new id as
well.
For shoe agents, this means (at the very least) updating the function
signatures of the shoe arms.

/lib/sole has been updated to include helper functions for parsing a
sole-id from a subscription path, and turning a sole-id into its
corresponding path. It also has a function to aid in migrating old
sole-ids.

Existing sole agents are made to kick any known open sessions, forcing a
resubscribe by drum, so that they may use exclusively the new format
going forward. Third-party agents are recommended to do the same.

Note that some functionality, such as |link, still operates exclusively
on the default session. Improvements in this area to follow soon.
2022-02-20 17:19:03 -06:00
fang
c4f38032ce
pkg: move /lib/dill into base-dev, include it
Landscape desk needed it, but didn't have it.
2022-02-20 15:35:55 -06:00
fang
bbb1a716bf
ph: link missing lib
Must've gotten lost during merge or something.
2022-02-16 01:04:08 +01:00
fang
2c5510db64
Merge branch 'jb/next-gen-term' into next/dill
Resolves a good number of conflicts. Most notably, re-propagates removal
of gall's %onto, confirms new /app/herm behavior, coerces hood/drum
state adapters back into place, and updates webterm to use the latest
api.
2022-01-24 14:50:16 +01:00
yosoyubik
0c9fc76b93 eth-watcher: fix zoom-margin to account for reorgs
The previous value—used for testing—didn't consider
block reorgs, which meant that if we zoom to the latest
block that has no transactions, but that gets later replaced
by a 1-block reorg that does have a transaction, we'll miss it,
making our Azimuth state incomplete.

To fix it, we rewind the Azimuth state to the contents of the snapshot,
and then start retrieving logs from the latest one we have.
2022-01-19 17:41:05 +01:00
Philip Monk
7cf5017897
Merge pull request #5545 from urbit/ames/alien-ignore
ames: ignore missing peer-state on-publ-sponsor
2022-01-18 13:00:01 -07:00
yosoyubik
3d943ec201 ames: ignore missing peer-state on-publ-sponsor 2022-01-18 20:34:32 +01:00
fang
7be6950fe5
Merge branch 'm/helm-perms' into next/arvo 2022-01-13 00:36:22 +01:00
fang
b9491bcbb8
Merge branch 'master' into next/arvo 2022-01-13 00:36:07 +01:00
fang
0bc1f49f0f
drum: only process pokes from the local ship
No mark files exist for any of the drum marks, so trying to poke remote drums
would fail anyway, but relying on the mark system in that way seems a bit
fragile, so we add an explicit permission check.
2022-01-13 00:24:31 +01:00
fang
bde8c0b04a
helm: only process pokes from the local ship
No mark files exist for any of the helm marks (except `%helm-hi`), so trying to
poke remote helms would fail anyway, but relying on the mark system in that way
seems a bit fragile, so we add an explicit permission check.
2022-01-12 13:28:44 +01:00
jose
f158ebe312
Merge pull request #5532 from urbit/azimuth/jael-fix
jael: give new private key to subscribers on %keys new-event
2022-01-12 12:47:21 +01:00
yosoyubik
432d9674f5 jael: don't put conflicting this-su in the subject 2022-01-12 11:01:06 +01:00
yosoyubik
d71074eb58 pill: update solid 2022-01-08 20:12:21 +01:00
yosoyubik
fccf99e0a6 jael: refactor new-event for %keys diff
this also adds a %rerun %poke to /app/azimuth
2022-01-08 19:28:11 +01:00
yosoyubik
8535563de6 jael: give private key to subscribers on keys diff
Triggering this event has been added to /app/azimuth's +on-load
2022-01-08 09:48:28 +01:00
yosoyubik
583d5f5063 azimuth: process snapshot on-load 2022-01-07 18:13:51 +01:00
yosoyubik
1950736518 azimuth: update snapshot at block 13.958.653 2022-01-07 17:31:49 +01:00
Hunter Miller
4834ec59a2 Merge branch 'master' into next/landscape 2022-01-06 16:25:04 -06:00
yosoyubik
8df443bc46 azimuth: remove eth-logs 2022-01-06 16:43:28 +01:00
Hunter Miller
61ebff6901
Merge pull request #5484 from mwvd/html-theme-updates
grid / landscape: `theme-color` updates
2022-01-05 18:05:43 -06:00
Hunter Miller
318cb9f00e Merge branch 'master' into next/landscape 2022-01-05 16:59:32 -06:00
Philip Monk
04246b9c38
Merge pull request #5382 from urbit/philip/branches
meta: update branch conventions
2022-01-04 19:52:51 -07:00
Philip Monk
0cad4413ea
Merge pull request #5520 from urbit/update-contributing
readme: update CONTRIBUTING.md
2022-01-04 19:50:58 -07:00
drbeefsupreme
60e27fa077
readme: update CONTRIBUTING.md
This fixes some links and updates the git policy to reflect the use of
`next/` branches.
2022-01-04 16:20:29 -05:00