Arbor Sync 2020-06-11
===
## Updates
- Elizabeth
- Material Design Research
- Sprig default color palette investigation
- Amolith
- [Documentation](https://man.sr.ht/~whereswaldon/arborchat/) polish
- Tree visualizations
- Whereswaldon
- Sprig live theme editing
- Gio widget disable/enable
- Arbor's first two public appearances are scheduled!
- Tomorrow night at 7:15pm Eastern ([details](https://docs.google.com/document/d/1iYp8szzvMnQ-Abv-GnJrz9vQN6Gv1wbz-sF9VvaYJ4c/edit))
- The Gio Community Call in July will include a demo of Sprig
- Been working on [my deck for tomorrow](https://pad.nixnet.services/VLNNupXgR36wSIblbo7TYg?both)
- deck looks great! ~jwhett
- I'm in the final stages of becoming a GitHub Sponsorable developer
## Demo
Grab [the latest sprig](https://git.sr.ht/~whereswaldon/sprig/refs) and play!
Remember that our relay address is `arbor.chat:7117`
## Request
If you have time, could you claim one of the below and look at the state of the docs? If you are able, could you list things that are missing/out-of-date?
- [forest-go](https://git.sr.ht/~whereswaldon/forest-go)
- :+1: ~amolith
- [sprout-go](https://git.sr.ht/~whereswaldon/sprout-go)
- [wisteria](https://git.sr.ht/~whereswaldon/wisteria)
- [sprig](https://git.sr.ht/~whereswaldon/sprig)
- i don't have go 1.13 here, but i don't think anything has been added that _doesn't_ work in 1.13. otherwise, we good here ~jwhett
- Could use some usage instructions and screenshots once there's a default theme in place
## Crash when non-utf8 in chat
```
worker-arbor.chat:7117 2020/06/11 19:53:52 Subscribed to SHA512_B32__mw9nEYu_XAgnw0mRRNO60J2bqIOOBmalIXgOqxoKV-o
2020/06/11 19:53:53 updated
worker-arbor.chat:7117 2020/06/11 19:53:53 Fetched leaves of SHA512_B32__mw9nEYu_XAgnw0mRRNO60J2bqIOOBmalIXgOqxoKV-o
worker-arbor.chat:7117 2020/06/11 19:53:53 Announced local leaves of SHA512_B32__mw9nEYu_XAgnw0mRRNO60J2bqIOOBmalIXgOqxoKV-o to peer
worker-arbor.chat:7117 2020/06/11 19:53:53 Finished synchronizing tree rooted at SHA512_B32__mw9nEYu_XAgnw0mRRNO60J2bqIOOBmalIXgOqxoKV-o with peer
2020/06/11 19:53:55 clicked SHA512_B32__tiCO-yGQ5NvzelkUFgAqmivceqh55wAE89VfUCP6UXk
panic: runtime error: slice bounds out of range [-41:]
goroutine 19 [running]:
gioui.org/widget.(*editBuffer).runeAt(0xc00011e540, 0xffffffffffffffd7, 0x0, 0x1)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/widget/buffer.go:178 +0xa3
gioui.org/widget.(*Editor).moveToLine(0xc00011e4c8, 0x15ac0, 0x1, 0x1540)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/widget/editor.go:602 +0x1dc
gioui.org/widget.(*Editor).command(0xc00011e4c8, 0x807e79, 0x3, 0x0, 0x1)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/widget/editor.go:207 +0x156
gioui.org/widget.(*Editor).processKey(0xc00011e4c8, 0x8d, 0x13, 0x718, 0x334, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/widget/editor.go:182 +0x4a4
gioui.org/widget.(*Editor).processEvents(0xc00011e4c8, 0x8d, 0x13, 0x718, 0x334, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/widget/editor.go:111 +0x16a
gioui.org/widget.(*Editor).Layout(0xc00011e4c8, 0x8d, 0x13, 0x718, 0x334, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/widget/editor.go:260 +0x1f8
gioui.org/widget/material.EditorStyle.Layout(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x241800000, 0xff000000, 0x80cccd, 0x14, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/widget/material/editor.go:54 +0x544
gioui.org/layout.Inset.Layout(0x140c00000, 0x140c00000, 0x140c00000, 0x140c00000, 0x0, 0x0, 0x718, 0x334, 0x894500, 0xc00015e148, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/layout.go:141 +0x520
main.(*ReplyListView).layoutEditor.func2.2.2.1.2(0x0, 0x0, 0x724, 0x340, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0xc00052e870, ...)
/home/build/sprig/reply-view.go:523 +0x226
gioui.org/layout.Stack.Layout(0x7bc200, 0x724, 0x0, 0x724, 0x340, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/stack.go:60 +0xbdb
main.(*ReplyListView).layoutEditor.func2.2.2.1(0x724, 0x0, 0x724, 0x340, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0x140c00000, ...)
/home/build/sprig/reply-view.go:499 +0x2a8
gioui.org/layout.Inset.Layout(0x140c00000, 0x140c00000, 0x140c00000, 0x140c00000, 0x724, 0x0, 0x724, 0x340, 0x894500, 0xc00015e148, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/layout.go:141 +0x520
main.(*ReplyListView).layoutEditor.func2.2.2(0x730, 0x0, 0x730, 0x34c, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0x28, ...)
/home/build/sprig/reply-view.go:498 +0xf3
gioui.org/layout.Flex.Layout(0x0, 0x0, 0x0, 0x780, 0x34c, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/flex.go:129 +0xdad
main.(*ReplyListView).layoutEditor.func2.2(0x0, 0x0, 0x780, 0x34c, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0x780, ...)
/home/build/sprig/reply-view.go:488 +0x39b
gioui.org/layout.Flex.Layout(0x1, 0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/flex.go:95 +0x1095
main.(*ReplyListView).layoutEditor.func2(0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0x1, ...)
/home/build/sprig/reply-view.go:446 +0x273
gioui.org/layout.Stack.Layout(0x7bbc00, 0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/stack.go:60 +0xbdb
main.(*ReplyListView).layoutEditor(0xc00011e000, 0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/sprig/reply-view.go:433 +0x2a7
main.(*ReplyListView).Layout.func2.2(0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0x0, ...)
/home/build/sprig/reply-view.go:265 +0x76
gioui.org/layout.Flex.Layout(0x1, 0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/flex.go:95 +0x1095
main.(*ReplyListView).Layout.func2(0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0x0, ...)
/home/build/sprig/reply-view.go:259 +0x2a8
gioui.org/layout.Stack.Layout(0x7bc200, 0x780, 0x388, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/stack.go:60 +0xbdb
main.(*ReplyListView).Layout(0xc00011e000, 0x780, 0x388, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/sprig/reply-view.go:246 +0x36a
main.(*viewManager).Layout.func2(0x780, 0x388, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0x0, ...)
/home/build/sprig/view-manager.go:84 +0x3e0
gioui.org/layout.Flex.Layout(0x1, 0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/flex.go:95 +0x1095
main.(*viewManager).Layout(0xc0005601e0, 0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/sprig/view-manager.go:76 +0x243
gioui.org/layout.Stack.Layout(0x7a7500, 0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/stack.go:60 +0xbdb
main.eventLoop.func3.1(0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0x0, ...)
/home/build/sprig/main.go:100 +0x2be
gioui.org/layout.Inset.Layout(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/layout.go:141 +0x520
main.eventLoop.func3(0x0, 0x0, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, 0x780, ...)
/home/build/sprig/main.go:99 +0x117
gioui.org/layout.Stack.Layout(0x7cab00, 0x780, 0x388, 0x780, 0x388, 0x894500, 0xc00015e148, 0x88ebc0, 0xc00016e260, 0xc000560240, ...)
/home/build/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/layout/stack.go:60 +0xbdb
main.eventLoop(0xc00016e1e0, 0x0, 0x0)
/home/build/sprig/main.go:89 +0xbdf
main.main.func1()
/home/build/sprig/main.go:37 +0x44
created by main.main
/home/build/sprig/main.go:35 +0x3a
```
Matt: Clicking "Profile layout" crashes Sprig on Windows 8
```
panic: timers not supported
goroutine 26 [running, locked to thread]:
gioui.org/app/internal/d3d11.(*Backend).NewTimer(0xc000558540, 0x0, 0x0)
C:/Users/Matthew/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/app/internal/d3d11/backend_windows.go:289 +0x40
gioui.org/gpu.(*timers).newTimer(0xc000050690, 0xc000050690)
C:/Users/Matthew/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/gpu/timer.go:43 +0x4a
gioui.org/gpu.(*GPU).Collect(0xc00010b4a0, 0x3e8, 0x2ee, 0xc0001021e0)
C:/Users/Matthew/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/gpu/gpu.go:313 +0x424
gioui.org/app.(*renderLoop).renderLoop.func1(0xc0005584e0, 0x86ad40, 0xc0000d8fc0, 0xc00022c2a0)
C:/Users/Matthew/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/app/loop.go:88 +0x2e0
created by gioui.org/app.(*renderLoop).renderLoop
C:/Users/Matthew/go/pkg/mod/git.sr.ht/~whereswaldon/gio@v0.0.0-20200605203753-d456e9629aa1/app/loop.go:60 +0x86
```