Commit Graph

5162 Commits

Author SHA1 Message Date
Joe Bryan
4387c3e2d8 ur: adds ur_bsr_skip_any() and tests, uses in ur_cue_test() 2020-08-31 18:06:42 -07:00
Joe Bryan
c123e9413a ur: refactors ur_bsr_bytes_any(), fixes edge-case bugs 2020-08-31 18:06:38 -07:00
Joe Bryan
bb136b7981 ur: updates ur_bsr_bytes_any() test (failing) to cover off-the-end edge-cases 2020-08-31 15:55:45 -07:00
Fang
45ad5adbfd
vere: more correct lane cache commentary
@da are 128 bits, just like the worst-case @p.
2020-08-31 22:37:52 +02:00
Fang
e90258627f
vere: reset instead of decrement scry fail counter
If scries succeed, they work. No need to make this smarter.
2020-08-31 22:36:32 +02:00
Fang
7aa452b2fa
vere: ames.c stylistic improvements
Primarily, be consistent about parenthesis spacing around conditionals.
2020-08-31 22:34:10 +02:00
Fang
585fb248ec
vere: only touch forward queue counter if scrying
Slightly simplify the logic around changing the queue size counter by
only modifying it when we're _actually_ scrying, instead of
synchronously processing the forward.
2020-08-29 17:33:31 +02:00
Fang
5f77200d0d
vere: cache lanes for stateless forwarding
While stateless forwarding doesn't need to touch disk, there's still
overhead in needing to communicate with the serf over IPC. By caching
lanes, we get to skip the IPC pipeline, and can respond to forwarding
requests synchronously.

We include timestamps alongside the entries in the cache, and consider
entries older than two minutes as stale.

The cache is capped at around ~100mb of memory use. Further commentary
is provided inline.

Previously, ~nus would drop 3 forward requests, for every one it
fulfilled. Now, it seems able to keep up with demand, only dropping
forwards shortly after boot, while the cache isn't primed yet.
2020-08-29 17:17:45 +02:00
Joe Bryan
7fa6499e37 build: updates benchmarks 2020-08-28 16:04:25 -07:00
Joe Bryan
6f3d83f4dc ur: adds ur_jam_unsafe() 2020-08-28 16:04:25 -07:00
Joe Bryan
7b42f540b4 ur: fixes buffer over-read bugs in bitstream in tests 2020-08-28 16:04:25 -07:00
Joe Bryan
1ea8e73104 build: adds microbenchmark for virtualized cue 2020-08-28 16:04:25 -07:00
Joe Bryan
f6042e440f u3: removes double atom allocation in u3s_cue_bytes() 2020-08-28 16:04:25 -07:00
Joe Bryan
daf463c4be ur: fixes a buffer over-write in ur_bsr_bytes_any() 2020-08-28 16:04:25 -07:00
Fang
024c16cd97
vere: give up ames scry after successive failures
Instead of giving up on scrying at the first sight of a u3_none result,
keep trying for a little bit. If five scries fail in direct succession,
consider scrying not worth the effort, and stop trying as before.
2020-08-28 15:34:19 +02:00
Fang
d76a5e9077
vere: properly clean up dropped laneless packets
Previously, if ames told us there was no lane for a target, we would
drop the packet, but fail to register this in the queue, or even reclaim
the memory it was using.

Now, we do all the required book-keeping when dropping packets in the
"no lane for this" case.
2020-08-28 12:53:18 +02:00
Joe Bryan
b9fd36e47b u3: removes u3s_cue_smol, hoped-for performance never materialized 2020-08-27 23:45:30 -07:00
Joe Bryan
4eb3e1217e u3: fixes indirect-atom allocation bug in u3s_cue_smol/full 2020-08-27 23:45:30 -07:00
Joe Bryan
851f03294d build: adds jam/cue microbenchmarks (make bench) 2020-08-27 23:45:25 -07:00
Joe Bryan
899f431284 ur: cleans up hashtable grow, adds consistent wipe operations 2020-08-27 23:42:07 -07:00
Joe Bryan
aee89f6a64 ur: removes trailing whitespace in tests 2020-08-27 23:42:07 -07:00
Joe Bryan
5b9c48c3fd u3: adds jam/cue roundtrip tests of new implementations 2020-08-27 23:42:02 -07:00
Joe Bryan
9addb545c0 u3: refactors jam_tests to run all and capture results 2020-08-27 15:14:52 -07:00
Joe Bryan
baf8b884fa u3: adds u3s_jam_xeno() 2020-08-27 15:14:53 -07:00
Joe Bryan
ac7d0731f6 u3: adds u3s_cue_smol/full/bytes/atom 2020-08-27 15:14:32 -07:00
Joe Bryan
dd8a74cea2 u3: replaces u3_serf_uncram with u3u_uncram() 2020-08-27 12:52:19 -07:00
Joe Bryan
24b91af888 u3: refactors _cu_rock_save(), splitting out path/directory format/creation 2020-08-27 12:52:19 -07:00
Joe Bryan
11e7afdefc u3: adds u3s_cue_xeno() 2020-08-27 12:52:19 -07:00
Joe Bryan
1da0c6d353 ur: removes higher-ordered cue traversals 2020-08-26 16:18:55 -07:00
Joe Bryan
e964e4a1fb ur: reimplements ur_cue/_unsafe directly 2020-08-26 16:13:08 -07:00
Joe Bryan
43bd092476 ur: reimplements ur_cue_test() directly 2020-08-26 16:13:08 -07:00
Joe Bryan
6f93ec3aa5 ur: implements ur_dict_get/put, cleans up ur_dict*_t handling 2020-08-26 16:13:08 -07:00
Joe Bryan
0420bf9aa5 ur: adds additional fibonacci constants 2020-08-26 16:13:08 -07:00
Joe Bryan
88f58d3f01 ur: fixes serial.h includes 2020-08-26 16:13:08 -07:00
Joe Bryan
177432f914 ur: adds 32-bit ur_cue traversal, ur_cue_test validator 2020-08-26 16:01:43 -07:00
Joe Bryan
63d36b4e75 ur: fixes bug in ur_bsr_bytes_any pointer math, adds tests 2020-08-26 16:01:43 -07:00
Joe Bryan
8d5adc8bc1 ur: refactors ur_cue() into higher-order traversal 2020-08-26 16:01:43 -07:00
Joe Bryan
5dca7bd620 u3: implements u3u_cram() 2020-08-26 16:01:43 -07:00
Joe Bryan
9c008c269b u3: refactors u3u_uniq() 2020-08-26 16:01:43 -07:00
Joe Bryan
8a3b2fc061 ur: refactors ur "library" into separate modules 2020-08-26 16:01:36 -07:00
Joe Bryan
1e8158b683
Merge pull request #3355 from frodwith/rolljet
+roll and +reel stack space
2020-08-24 19:16:47 -07:00
Paul Driver
8bc148acc3 use road stack instead of heap vector in reel 2020-08-24 15:01:02 -07:00
Joe Bryan
096677a3c3 ur: distinguish "meme" (exceeds memory repr) errors in ur_bsr* and ur_cue* functions 2020-08-21 15:33:04 -07:00
Joe Bryan
753a3ea9a5 ur: removes superceded functions: ur_bsr64 and ur_bsr_bytes 2020-08-21 15:33:04 -07:00
Joe Bryan
66970a01e1 ur: refactors ur_bsr_bit* functions 2020-08-21 15:33:04 -07:00
Joe Bryan
6e3dade9a6 ur: improves ur_bsr_sane() 2020-08-21 15:33:04 -07:00
Joe Bryan
4a7ad95e14 ur: rewrites ur_bsr_tag(), adds tests 2020-08-21 15:33:04 -07:00
Joe Bryan
d130633732 ur: uses ur_bsr_rub_log() in ur_bsr_mat, moves ur_bsr_zeros() into tests 2020-08-21 15:33:04 -07:00
Joe Bryan
1a89c71e96 ur: adds ur_bsr_rub_log and tests, fixes ur_bsr_zeros() 2020-08-21 15:33:04 -07:00
Joe Bryan
e09ba7e8ee ur: fixes typos in tests 2020-08-21 15:33:04 -07:00
Joe Bryan
b3c644930a ur: use new ur_bsr*_any functions in ur_cue() 2020-08-21 15:33:04 -07:00
Joe Bryan
5a8043f620 ur: clean up ur_bsr8_any() 2020-08-21 15:33:04 -07:00
Elliot Glaysher
5f0fa9b2a0
Merge pull request #3354 from urbit/king-reestablish-natpmp
natpmp: when reopening laptop, reestablish a connection to the router.
2020-08-21 10:01:33 -04:00
Joe Bryan
a7ac76d5e7 ur: cleans up ur_bsrN_any tests 2020-08-20 23:44:04 -07:00
Joe Bryan
4d1bb97f36 ur: adds ur_bsr_bytes_any(), for bit-indexed byte reads 2020-08-20 23:43:59 -07:00
Elliot Glaysher
8255fc0e8c natpmp: formatting and cleanup old pmp handle 2020-08-20 20:23:25 -04:00
Paul Driver
6125ac4fe4 fix vector allocation in reel 2020-08-20 12:54:27 -07:00
Elliot Glaysher
15f0df81f1 natpmp: when reopening laptop, reestablish a connection to the router. 2020-08-20 15:47:02 -04:00
Paul Driver
e3cafdd464 roll/reel with while loops 2020-08-20 11:58:08 -07:00
pilfer-pandex
c164f12922
Merge pull request #3339 from urbit/jt/rehob
urbit-king: update urbit-hob to v0.3.3
2020-08-20 08:35:12 -07:00
Joe Bryan
b117ca25a6 ur: fills out bistream-write (ur_bsw*) interface 2020-08-19 19:12:01 -07:00
Joe Bryan
c5bbe9e441 ur: rewrites ur_bsw_bytes to be bit-indexed 2020-08-19 18:37:01 -07:00
Joe Bryan
79363d66a8 ur: refactors bit-stream bounds-enforcement and growth 2020-08-19 18:37:01 -07:00
Joe Bryan
4aa1dbe4a2 ur: adds ur_bsw_bex() and tests 2020-08-19 18:36:56 -07:00
Elliot Glaysher
88428961dd natpmp: also detect 172.16.0/0/12 ips as private. 2020-08-19 14:02:03 -04:00
Joe Bryan
0f3731a40c ur: adds initial tests for bitstream-read functions (ur_bsr*) 2020-08-19 10:19:28 -07:00
Joe Bryan
d4522adb0c ur: moves slow8/32/64 write functions into tests 2020-08-19 10:19:28 -07:00
Elliot Glaysher
1401d7bc5c natpmp: fix error handling and don't die on errors in getpubliaddress
This fixes a case where the natpmp async could pure () instead of
recursing, which would lock ames. This also adds some more error
handling on the haskell side of things and disables the raw fprintfs
in the c bindings layer.
2020-08-19 12:53:59 -04:00
Elliot Glaysher
5c7f846d71 natpmp: change the library's timeout system to not wait 4 minutes. 2020-08-19 12:05:13 -04:00
Elliot Glaysher
60e2ae02a2 natpmp: cleanup by using a tristate 2020-08-18 15:43:31 -04:00
Elliot Glaysher
dca4344a45 natpmp: By default, only try to talk to the router on private ips.
Since startup hangs for seconds when you are not behind a router,
but still attempt to ask one to open ports for you, by default,
only try to contact the router if the local ip is 192.168.*.* or
10.*.*.*.

Also make port forwarding force on/off.
2020-08-18 12:22:45 -04:00
Jared Tobin
5662a085d5
urbit-king: update urbit-hob to v0.3.3
v0.3.2 fixed an important bug that should be pulled in here.
2020-08-18 13:48:05 -02:30
Joe Bryan
572a0d2c91 ur: adds ur_bsw32() 2020-08-17 22:03:55 -07:00
Joe Bryan
5b0c1320fb ur: refactors ur_bsw8 and ur_bsw_bytes internals 2020-08-17 22:03:55 -07:00
Joe Bryan
a9d2a29bf2 ur: rewrites _bsw64_unsafe() for efficiency 2020-08-17 22:03:49 -07:00
Joe Bryan
9282247ba5 ur: adds tests for bitstream write functions (ur_bsw*) 2020-08-17 21:57:02 -07:00
Joe Bryan
e160620256 ur: refactors jam/cue tests 2020-08-17 15:36:01 -07:00
pilfer-pandex
750b986370 Merge branch 'release/next-vere' into pp/log-cli
Rename `koUseNatPmp` to `hUseNatPmp`; cleanup
2020-08-17 11:43:30 -07:00
pilfer-pandex
6a236a2749 king: use XDG cache directory for default log location 2020-08-17 11:27:30 -07:00
Elliot Glaysher
5ee32841d2
Merge pull request #3261 from urbit/king-natpmp
King should open ames ports via NAT-PMP
2020-08-17 14:12:48 -04:00
pilfer-pandex
e40bd3cf6f Merge branch 'master' into release/next-vere 2020-08-17 11:05:46 -07:00
Elliot Glaysher
b25c0b3443 natpmp: oops. missed a sav_errno 2020-08-17 13:08:22 -04:00
Elliot Glaysher
81e3a8f927 natpmp: cleanups for ~master-morzod 2020-08-17 10:58:48 -04:00
pilfer-pandex
2d1f3cdfa0 king: thread LogLevel through, make output better 2020-08-16 10:33:52 -07:00
pilfer-pandex
8ab60b9133 king: configure logging via cli flags 2020-08-14 19:40:48 -07:00
Elliot Glaysher
1b3a69e24d
Merge branch 'release/next-vere' into king-natpmp 2020-08-14 16:17:47 -04:00
Joe Bryan
509c074445 ur: implements cue 2020-08-14 11:48:13 -07:00
Joe Bryan
ee8c8ed1bd ur: implements jam 2020-08-14 11:15:51 -07:00
Joe Bryan
377ee490f3 u3: corrects _cu_from_loom() stack struct comment 2020-08-14 11:15:51 -07:00
Joe Bryan
eedb138975 ur: refactors indirect-atom (re-)allocation 2020-08-14 11:15:51 -07:00
Elliot Glaysher
14d1b59117 natpmp: even more cleanup 2020-08-14 10:23:39 -04:00
Elliot Glaysher
b4878a8b03 natpmp: Separate out the PortThreadMsgs from the heap actions. 2020-08-13 13:36:20 -04:00
Elliot Glaysher
a3336fde41 natpmp: more nits 2020-08-13 11:52:42 -04:00
Elliot Glaysher
1183ac0b22 natpmp: checkpoint while addressing comments 2020-08-13 11:12:26 -04:00
Elliot Glaysher
ac4b5a99e5 natpmp: Rename RunningEnv to HostEnv. 2020-08-13 10:19:35 -04:00
Elliot Glaysher
3e6fd0f8e8 natpmp: ~pilfer style nits 2020-08-13 10:08:02 -04:00
Matilde Park
b0d252fa76 publish: no-op when joining our own notebook
Fixes #3300.
2020-08-12 23:08:31 -04:00
pilfer-pandex
36ee3da818
Merge pull request #3267 from urbit/pp/print-http-ports
king: eyre: add missing printouts with ports
2020-08-11 22:11:35 -07:00
Liam Fitzgerald
993ba2d00f glob: update to 0v2.pbthv.gd1q2.h2ura.5esrn.d361c 2020-08-11 22:14:07 -04:00
Matilde Park
271a9ef235 leap: results link to join routes
Fixes #3274.
2020-08-11 21:52:49 -04:00
matildepark
d07a40b4cd
Merge pull request #3294 from tylershuster/leap-tab
leap: set default select behavior
2020-08-11 18:46:46 -04:00
Tyler Brown Cifu Shuster
62042a067b omni: set default select behavior 2020-08-11 15:35:00 -07:00
Matilde Park
02bd2e795a chat: fix syntax of regex check 2020-08-11 17:57:59 -04:00
matildepark
273bc9c0f3
Merge pull request #3287 from urbit/mp/omnibox-fixes
leap: small fixes
2020-08-11 16:54:19 -04:00
matildepark
97bbac159c
Merge pull request #3292 from urbit/la/chat-read
chat: don't show green line when unread is on page 1
2020-08-11 16:22:20 -04:00
Matilde Park
a123dd67dd interface: allow pinch zooming if needed 2020-08-11 16:20:19 -04:00
Matilde Park
2df01c5fad leap: disable spellcheck 2020-08-11 16:01:05 -04:00
Matilde Park
087dbf0221 interface: prevent interface zooming on iOS 2020-08-11 15:24:28 -04:00
L
2b065d65dc
Merge pull request #3269 from urbit/la/chat-settings
chat: settings page refactor
2020-08-11 12:15:07 -07:00
Logan Allen
fcf5b21a90 interface: settings for color disables properly 2020-08-11 12:07:10 -07:00
Logan Allen
92fd1c2af5 chat: don't show green line 2020-08-11 11:35:55 -07:00
Tyler Brown Cifu Shuster
d86b240c7a chat: fixes #3288 2020-08-11 10:01:41 -07:00
Matilde Park
a16439188a omnibox: background darkens in dark mode
Fixes #3280.
2020-08-11 12:20:12 -04:00
Matilde Park
2a74699f61 omnibox: sorting -> apps, commands, groups, subs
Fixes #3279.
2020-08-11 12:17:07 -04:00
Matilde Park
b3d31a05e0 omnibox: make searching case insensitive
Fixes #3278.
2020-08-11 12:14:43 -04:00
Matilde Park
aaa763214b omnibox: stop enter from propagation
Fixes #3277.
2020-08-11 12:12:27 -04:00
Liam Fitzgerald
7abeebc672 glob: update to 0v7.foe2o.ang8k.28dnr.fudi0.74c8d 2020-08-11 00:26:02 -04:00
Matilde Park
b0e83ad594 chat: prevent retaining sent message on unmount
Fixes #3272.
2020-08-10 23:53:17 -04:00
Matilde Park
652e7b75cd chat: autofocus on desktop, not mobile 2020-08-10 23:51:37 -04:00
Matilde Park
442d124836 landscape/index.html: update for new bundle 2020-08-10 23:01:01 -04:00
Matilde Park
f79f1a128b glob: update to 0v2.aal6p.71bo0.v3r4f.ka7l6.8js3t 2020-08-10 23:00:40 -04:00
Matilde Park
91c03616b0 Merge branch 'release/next-userspace' 2020-08-10 22:54:21 -04:00
Logan Allen
580a19eff5 chat-window: fix missing history prop 2020-08-10 19:52:17 -07:00
Logan Allen
23bec6ab55 chat: removed console.log 2020-08-10 19:48:07 -07:00
Logan Allen
7feb89f653 chat: fix code mode issue 2020-08-10 19:46:41 -07:00
Logan Allen
1b0cb6694e chat: fixed this.editor issue introduced in merge 2020-08-10 19:43:44 -07:00
Matilde Park
f93448e473 landscape/index.html: update for new bundle 2020-08-10 22:09:57 -04:00
Matilde Park
ef26b119dc glob: update to 0vmf0mo.4kgmp.27315.046hb.ikabc 2020-08-10 21:30:27 -04:00
Joe Bryan
039ef019b9 ur: adds ur_walk_fore - higher-ordered pre-order noun traversal 2020-08-10 17:57:57 -07:00
Joe Bryan
d0e5c658a9 ur/u3: enforce ur_coin* invariants, deduplicate 32-61-bit direct atoms 2020-08-10 17:57:48 -07:00
pilfer-pandex
8e04cd12f0
Merge pull request #3230 from urbit/pp/ames-slow-startup
king: ames: add stderr when sending before having turfs
2020-08-10 17:47:43 -07:00
Logan Allen
ab65d49c86 chat: dismiss unread on scroll to bottom 2020-08-10 17:26:36 -07:00
Logan Allen
85b10d4a53 chat: removed commented out code 2020-08-10 17:23:56 -07:00
Logan Allen
94ad11b238 chat: refactored settings ui into components 2020-08-10 17:14:47 -07:00
Joe Bryan
ab217fc874 ur: adds dictionaries with noun keys and arbitrary 32/64-bit values 2020-08-10 17:14:24 -07:00
Joe Bryan
c1398c1b4e ur: adds atom bloq measurement in ur_met() 2020-08-10 17:14:08 -07:00
Tyler Brown Cifu Shuster
6e02638a78 Merge branch 'release/next-userspace' of https://github.com/urbit/urbit into release/next-userspace 2020-08-10 13:35:46 -07:00
Logan Allen
9778939aae chat: wip on settings 2020-08-10 12:01:03 -07:00
Elliot Glaysher
d4d99835b2 natpmp: aesthetic cleanups 2020-08-10 14:55:08 -04:00
Elliot Glaysher
2e66ae10ec natpmp: use MonadIO in the bindings to remove unsightly "io $" 2020-08-10 13:15:03 -04:00
Elliot Glaysher
4d8c6ad09a nat-pmp: improve error and diagnostic messages 2020-08-10 13:02:13 -04:00
pilfer-pandex
556d92107a king: eyre: add missing printouts with ports 2020-08-09 22:12:44 -07:00
Tyler Brown Cifu Shuster
49bde32f03 Interface: Fixed over-large images 2020-08-07 21:28:30 -07:00
Matilde Park
27aa920a7a omniboxResult: scroll into view if necessary 2020-08-07 18:18:53 -04:00
Matilde Park
48ea9d4161 omnibox: add groups to apps list 2020-08-07 18:18:42 -04:00
Elliot Glaysher
b7bfa170a9
Merge pull request #3262 from urbit/king-fix-eth
king: fix dawn to use the wrapped ethereum server.
2020-08-07 14:31:07 -04:00
Elliot Glaysher
4c4712f4e8 king: fix dawn to use the wrapped ethereum server. 2020-08-07 13:18:16 -04:00
Elliot Glaysher
149565cd97 king: get tests passing after nat-pmp changes 2020-08-07 13:04:57 -04:00
Elliot Glaysher
6368aa2b02 king: Turn NAT-PMP on by default, with a flag to disable.
Also: error checking.
2020-08-07 12:42:00 -04:00
Elliot Glaysher
96723b3de0 nat-pmp: Add readme talking about providence. 2020-08-07 12:41:49 -04:00