Commit Graph

12464 Commits

Author SHA1 Message Date
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
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
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
318cb9f00e Merge branch 'master' into next/landscape 2022-01-05 16:59:32 -06:00
Mackenzie Davidson
da2b31750b theme_color meta precedence corrected 2021-12-20 13:20:59 -05:00
Mackenzie Davidson
bc249fc204 replace theme color override with existing background color value (rgb(26, 26, 26), in hex) for dark mode users 2021-12-20 13:15:02 -05:00
Mackenzie Davidson
453a253091 override theme_color in manifest 2021-12-20 13:12:33 -05:00
Mackenzie Davidson
f9c76914a9 Merge branch 'master' of https://github.com/mwvd/urbit into html-theme-updates 2021-12-20 12:58:49 -05:00
Philip Monk
e243d5adf6
landscape,garden: make build
Boot was broken, fixing the hark-note file mark and re-adding the
hark-store library fixed it.

This lets us push a new pill, which is necessary for the fix in #5434 to
actually work.

Fixes #5501
Fixes #5502
2021-12-18 22:54:49 -08:00
Joe Bryan
1657c548cc Merge branch 'master' into next/arvo
* master:
  [nix] track nixos-21.11 branch whenever niv updates, bump to include qemu-in-virtualization fix
  webterm: v1.0.0
  herm: permission checks
  herm: avoid trailing empty path segments
  pmnsh: update secp256k1 configure flags
  secp256k1: use nixpkgs provided secp256k1 and add to sources-pmnsh
  webterm: remove border, let term live in page
  theme: cleaning up a few mismatches
  webterm: handle old-style blits and belts
  build: correct lmdb static builds
  build: explicitly override h2o build platforms to support darwin
  ci: upgrade cachix/install-nix-action from v13 -> v16
  build: remove haskell related nix code and haskell.nix dependency
  webterm: update imports
  @urbit/api: move term types
  webterm: fix broken imports
  webterm: update package name for lerna
  webterm: commit missing api files
  webterm: backport
2021-12-17 23:39:04 -05:00
Joe Bryan
663934b5cf
Merge pull request #5478 from urbit/bh/remove-haskell-nix
build: remove urbit-king haskell releases and haskell.nix dependency
2021-12-17 20:36:21 -08:00
Joe Bryan
e8cdafddfc arvo: refactor |mass output, make vane /whey peek optional 2021-12-16 12:21:21 -05:00
Joe Bryan
32e1ed0a15 arvo: fix type typo (s/mein/mien/g) 2021-12-16 12:15:48 -05:00