Our conversions to and from GMP structs and our indirect atoms (a
heap-allocated array of uint_32_t) used alloca() and copied twice out of
an apparent abundance of caution. This PR removes the unnecessary
intermediate copy from both conversions.
The -P argument makes urbit send itself SIGPROF every 10ms. Sample
profile data is interpolated into a structure on the home road, which is
summarized and printed when urbit exits gracefully. (Note that this
profile will be useless without the CPU_DEBUG build option).
As of v0.8.0, the profiling became much more awkward. The multi-process
shutdown doesn't include affordances for sending the profiling data over
IPC, so it just prints to the terminal after urbit appears to have
shutdown. This PR changes the profiling printout, unconditionally
writing it to a file in the pier (at .urb/put/profile/~DATE.txt).
We don't care about the static types in the use-cases where we need to
prevent scry (to prevent accidental data disclosure). We can evaluate
the expression, virtualized and untyped, and then just clam.
Enables .^ in +mule (statically-typed virtualization), by specifying a
scry-handler function that punts the namespace read to a higher
virtualization layer via virtual-nock (mock) 12.
Publish's %serve command makes builds for notes even if the
publish-info file is missing. It now crashes the build if the file is
missing with a one-line ?> asserting that the file is found in the
list of paths associated with the collection.
Updates all Landscape applications to use the
latest version of urbit-ob, from 3.1.1 to 4.1.2.
Removes urbit-ob from applications that don't
use it (Clock, Launch, Weather).
Compiled JS for all the above included in this
commit.
In Publish, users could get in a bad state if they made a post with
valid udon, and subsequently edited to contain invalid udon.
Furthermore, users subscribed to them would get in the same bad state.
This fixes the original bug, and users who are already in the broken
state will be able to run a recovery command: :publish %state-surgery
which will also fix the downstream broken state of their subscribers.
This check required the new type of +type to nest within the old type of
+type, which is wrong. Specifically, this disallowed adding new runes
without a staging procedure (which we didn't successfully complete).
* jt-gall-refactor: (76 commits)
gall: fix issue id in comment
pills: update solid
gall: handle foreign coup success
gall: only print peek bad result if bad
gall: add basic test harness
pills: update solid, brass, ivory
gall: fix obvious nest-failing tisdot
gall: change '-state' to '-core' for +mo and +ap
zuse, gall: deprecate 'club'
zuse, gall, eyre: deprecate 'cush'
zuse, gall, eyre, dojo: deprecate 'cuft'
gall: remove slam-related printfs
gall: remove deprecated 'mak' from 'agents'
gall: use less vertical spacing throughout
gall: add comment re: unpopulated wex
gall: use less vertical separation when wuthepping
gall: fix whitespace
gall: don't define 'move' as a pair
gall: don't give faces to tags
gall: gut some unused stuff
...
Edit post's UI appearance looked quite different
from what creating a new post looked like.
This commit just brings the styling of post
editing UI a bit closer together with new posts.
* origin/chat-style:
Added another round of changes
Broke out functions, inlined more of the app, fewer declarations, more subject modifications rather than subject additions
Added more changes.
Updated to remove some of the =/ with the old style, and a few other small changes
Added fixes to chat style as per Mark's comments
Signed-off-by: Jared Tobin <jared@tlon.io>