gossipEd - ftn message editor
supported bases:
- MSG/Opus
- Squish
- Jam
gossipEd - ftn message editor
License: MIT License
gossipEd - ftn message editor
supported bases:
Not critical, but I als get a warning every time I install some other deb package:
sudo dpkg -i gossiped-2.0.10-lnxarmv7.deb
dpkg: warning: parsing file '/var/lib/dpkg/status' near line 4654 package 'gossiped':
missing 'Maintainer' field
Allow Q for quote reply (not only alt-q and ctrl-q)
The crashmail areafile support works good. Just one little thing: areas starting with "DEFAULT_" in the crashmail config should be ignored. See:
https://github.com/ftnapps/crashmail/blob/master/doc/example.prefs#L685
https://github.com/ftnapps/crashmail/blob/master/doc/example.prefs#L703
To Reproduce
panic: runtime error: slice bounds out of range [:-1] [recovered]
panic: runtime error: slice bounds out of range [:-1]
goroutine 1 [running]:
github.com/rivo/tview.(*Application).Run.func1(0xc0000a8580)
/root/go/pkg/mod/github.com/rivo/[email protected]/application.go:149 +0x82
panic(0x62bca0, 0xc0004ba280)
/usr/local/go/src/runtime/panic.go:679 +0x1b2
github.com/askovpen/gossiped/pkg/ui.(*EditBody).InputHandler.func1.3()
/opt/gossiped/pkg/ui/editbody.go:541 +0x5e4
github.com/askovpen/gossiped/pkg/ui.(*EditBody).InputHandler.func1(0xc00000c560, 0xc00005cd60)
/opt/gossiped/pkg/ui/editbody.go:618 +0x3dd
github.com/rivo/tview.(*Box).WrapInputHandler.func1(0xc00000c560, 0xc00005cd60)
/root/go/pkg/mod/github.com/rivo/[email protected]/box.go:152 +0x5d
github.com/rivo/tview.(*Application).Run(0xc0000a8580, 0x0, 0x0)
/root/go/pkg/mod/github.com/rivo/[email protected]/application.go:234 +0x415
github.com/askovpen/gossiped/pkg/ui.(*App).Run(0xc00008b560, 0x1, 0x1)
/opt/gossiped/pkg/ui/app.go:34 +0x56
main.main()
/opt/gossiped/gossiped.go:38 +0x2a7
github.com/askovpen/goated/pkg/utils.EncodeCharmap(0xc0005f5000, 0x3c3, 0xc0000683c7, 0x5, 0xc00000a0c0, 0x2)
c:/gopath/src/github.com/askovpen/goated/pkg/utils/encoding.go:88 +0xd27
github.com/askovpen/goated/pkg/msgapi.(*Message).Encode(0xc00019a2d0)
c:/gopath/src/github.com/askovpen/goated/pkg/msgapi/message.go:120 +0x168
github.com/askovpen/goated/pkg/msgapi.(*JAM).SaveMsg(0xc00049a980, 0xc00019a2d0, 0x0, 0x0)
c:/gopath/src/github.com/askovpen/goated/pkg/msgapi/jam.go:417 +0x9e
github.com/askovpen/goated/pkg/ui.saveMessage(0xc0002b8000, 0xc00019a3c0, 0xb, 0xc000000301)
c:/gopath/src/github.com/askovpen/goated/pkg/ui/editmsg.go:235 +0x357
github.com/askovpen/goated/vendor/github.com/askovpen/gocui.(*Gui).execKeybindings(0xc0002b8000, 0xc00019a3c0, 0xc000199dc8, 0x527a52, 0x0, 0x0)
c:/gopath/src/github.com/askovpen/goated/vendor/github.com/askovpen/gocui/gui.go:629 +0xbe
github.com/askovpen/goated/vendor/github.com/askovpen/gocui.(*Gui).onKey(0xc0002b8000, 0xc000199dc8, 0xc0000a6400, 0xc00005c280)
c:/gopath/src/github.com/askovpen/goated/vendor/github.com/askovpen/gocui/gui.go:593 +0x1b0
github.com/askovpen/goated/vendor/github.com/askovpen/gocui.(*Gui).handleEvent(0xc0002b8000, 0xc000199dc8, 0x2, 0x0)
c:/gopath/src/github.com/askovpen/goated/vendor/github.com/askovpen/gocui/gui.go:413 +0x40
github.com/askovpen/goated/vendor/github.com/askovpen/gocui.(*Gui).MainLoop(0xc0002b8000, 0x58c430, 0xc000190000)
c:/gopath/src/github.com/askovpen/goated/vendor/github.com/askovpen/gocui/gui.go:373 +0x2c3
main.main()
c:/gopath/src/github.com/askovpen/goated/goated.go:61 +0x4e1
When you create a message in GoatEd the PID line is truncated.
ated instead of GoatEd
In the area list if you type u -> move all areas with u to the top
if you press t afterwards -> show all with ut at the top.
etc.
GossipEd doesn't add a at the end of an Origin line (tested with JAM). This can result in an invalid Origin / SEEN-BY line like
Version: gossiped-2.0.17-lnxarmv7.deb
Tosser: Crashmail II 1.7
I tried to enter a bigger area (486 messages) and got this crashdump:
./gossiped config.yml
2019/05/08 10:09:27 gossipEd-linux/amd64 0.2.4-160-c31ba3d7 started
panic: runtime error: index out of range [recovered]
panic: runtime error: index out of range
goroutine 1 [running]:
github.com/askovpen/gossiped/vendor/github.com/rivo/tview.(*Application).Run.func1(0xc00029de80)
c:/gopath/src/github.com/askovpen/gossiped/vendor/github.com/rivo/tview/application.go:149 +0x82
panic(0x604860, 0x7d4a40)
C:/go/src/runtime/panic.go:522 +0x1b5
github.com/askovpen/gossiped/pkg/msgapi.(*JAM).SetLast(0xc00029dc80, 0x0)
c:/gopath/src/github.com/askovpen/gossiped/pkg/msgapi/jam.go:361 +0x41f
github.com/askovpen/gossiped/pkg/ui.(*App).ViewMsg(0xc00030a1e0, 0xa, 0x0, 0x0, 0x2, 0xc0003a9820, 0x16, 0x1)
c:/gopath/src/github.com/askovpen/gossiped/pkg/ui/viewmsg.go:23 +0xda
github.com/askovpen/gossiped/pkg/ui.(*App).onSelected(0xc00030a1e0, 0xb, 0x0)
c:/gopath/src/github.com/askovpen/gossiped/pkg/ui/arealist.go:94 +0x350
github.com/askovpen/gossiped/pkg/ui.(*App).AreaList.func2(0xb, 0x0)
c:/gopath/src/github.com/askovpen/gossiped/pkg/ui/arealist.go:37 +0x3e
github.com/askovpen/gossiped/vendor/github.com/rivo/tview.(*Table).InputHandler.func1(0xc000326bc0, 0xc00001c110)
c:/gopath/src/github.com/askovpen/gossiped/vendor/github.com/rivo/tview/table.go:1133 +0x34a
github.com/askovpen/gossiped/vendor/github.com/rivo/tview.(*Box).WrapInputHandler.func1(0xc000326bc0, 0xc00001c110)
c:/gopath/src/github.com/askovpen/gossiped/vendor/github.com/rivo/tview/box.go:152 +0x5d
github.com/askovpen/gossiped/vendor/github.com/rivo/tview.(*Application).Run(0xc00029de80, 0x0, 0x0)
c:/gopath/src/github.com/askovpen/gossiped/vendor/github.com/rivo/tview/application.go:234 +0x396
github.com/askovpen/gossiped/pkg/ui.(*App).Run(0xc00030a1e0, 0x1, 0x1)
c:/gopath/src/github.com/askovpen/gossiped/pkg/ui/app.go:34 +0x56
main.main()
c:/gopath/src/github.com/askovpen/gossiped/gossiped.go:38 +0x247
When enters new area shows blank screen instead of first message. Moving to the "next" works fine then.
Enable behaviour to sort areas with unread messages first.
(possibly configurable with a keyword in the config?)
as its every-second updates do mess with "new input received" indicator in my terminal app (iTerm2)
feature request: areafile support for crashmail config files, like:
https://github.com/ftnapps/crashmail/blob/master/doc/example.prefs#L699
it's not the most important feature, but would be nice to have.
Edit current message headers and body support in UI.
Perhaps From field should be checked vs config to prevent edit on received messages in the simplest case.
goated can't load areas when provided with fidoconfig file which contains "include" of areas list.
e.g.:
/etc/ftn/fconf.conf:
...
include areas.conf
...
config.yml
...
fidoconfig: /etc/ftn/fconf.conf
...
If no config is given on the command line search for
./config.yml
./goated.yml
~/.goated/config.yml
~/.goated/goated.yml
Hello and thank you for this project.
I would like to ask if the areas could be sorted by the groups they have in fidoconfig as golded has it.
Maybe several levels of ordering, first per group, second per tag, etc. It would be perfect.
Greetings,
Ángel Ripoll
ALT-D delete a line in the editor
include [HUSKYDIR]/commonAreas.cfg
Delete current message support for all 3 message base types and appropriate UI changes.
If I read a message in GoatEd it is still shown as unread in GoldEd
Got
2020/03/08 12:22:22 gossipEd-linux/amd64 2.0-dev started
panic: runtime error: slice bounds out of range [recovered]
panic: runtime error: slice bounds out of range
goroutine 1 [running]:
github.com/rivo/tview.(*Application).Run.func1(0xc0000a6000)
/home/new/go/pkg/mod/github.com/rivo/[email protected]/application.go:160 +0x82
panic(0x60b4a0, 0x7ca080)
/usr/lib/go-1.11/src/runtime/panic.go:513 +0x1b9
github.com/askovpen/gossiped/pkg/msgapi.(*Squish).GetMsg(0xc000496000, 0x7f1400000001, 0x0, 0x0, 0x0)
/home/new/src/gossiped/pkg/msgapi/squish.go:188 +0xe61
github.com/askovpen/gossiped/pkg/ui.(*App).ViewMsg(0xc0002d8620, 0xa3, 0x0, 0x0, 0x2, 0xc0004714c0, 0x11, 0x2)
/home/new/src/gossiped/pkg/ui/viewmsg.go:16 +0x7b
github.com/askovpen/gossiped/pkg/ui.(*App).onSelected(0xc0002d8620, 0xa4, 0x0)
/home/new/src/gossiped/pkg/ui/arealist.go:122 +0x3c4
github.com/askovpen/gossiped/pkg/ui.(*App).AreaList.func3(0xc0004bc3c0, 0xc000088001)
/home/new/src/gossiped/pkg/ui/arealist.go:87 +0x204
github.com/rivo/tview.(*Box).WrapInputHandler.func1(0xc0004bc3c0, 0xc0000881d0)
/home/new/go/pkg/mod/github.com/rivo/[email protected]/box.go:157 +0x75
github.com/rivo/tview.(*Application).Run(0xc0000a6000, 0x0, 0x0)
/home/new/go/pkg/mod/github.com/rivo/[email protected]/application.go:245 +0x3d3
github.com/askovpen/gossiped/pkg/ui.(*App).Run(0xc0002d8620, 0x1, 0x1)
/home/new/src/gossiped/pkg/ui/app.go:39 +0x56
main.main()
/home/new/src/gossiped/gossiped.go:73 +0x468
zsh: exit 2 gossiped
on entering z2daily
F1 help function would be nice.
To have the keybindings from the wiki available.
If it is easy, you could also make it configurable like in goldhelp.cfg
Add TZUTC kludge, and adjust shown timestamps to correct local time.
lib/msgapi/message.go:
func (m *Message) Decode() { enc:="CP866" m.Body=utils.DecodeCharmap(m.Body,enc) m.From=utils.DecodeCharmap(m.From,enc) m.To=utils.DecodeCharmap(m.To,enc) m.Subject=utils.DecodeCharmap(m.Subject,enc) }
enc should be read from "CHRS:" kludge of the message.
A few areas show "4294967295" new messages in the area list instead of "0". Like:
║ Area EchoID Msgs New║
║ 42+ UTF-8 49 4294967295║
Gossiped 2.0.7 ARMv7 on Raspian Buster
ragnarok@ragnarok:/tmp/gossiped$ make
Formating sources
Building goated
go: finding github.com/mattn/go-runewidth v0.0.10
go: finding github.com/lucasb-eyer/go-colorful v1.2.0
go: finding github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db
go: finding github.com/rivo/tview v0.0.0-20210217110421-8a8f78a6dd01
go: finding github.com/rivo/uniseg v0.2.0
go: finding github.com/gdamore/tcell/v2 v2.2.0
go: finding golang.org/x/sys v0.0.0-20210309074719-68d13333faf2
go: finding golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d
go: finding golang.org/x/text v0.3.5
go: finding gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
go: finding github.com/rivo/uniseg v0.1.0
go: finding golang.org/x/sys v0.0.0-20201119102817-f84b799fce68
go: finding github.com/lucasb-eyer/go-colorful v1.0.3
go: finding github.com/gdamore/tcell/v2 v2.0.1-0.20201017141208-acf90d56d591
go: finding golang.org/x/text v0.3.0
go: finding github.com/gdamore/encoding v1.0.0
go: finding golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf
go: finding golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78
go: finding gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
go: finding golang.org/x/sys v0.0.0-20190626150813-e07cf5db2756
go: finding github.com/mattn/go-runewidth v0.0.7
go: finding golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e
go: downloading gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
go: downloading golang.org/x/text v0.3.5
go: downloading github.com/gdamore/tcell/v2 v2.2.0
go: downloading github.com/rivo/uniseg v0.2.0
go: downloading github.com/mattn/go-runewidth v0.0.10
go: downloading github.com/rivo/tview v0.0.0-20210217110421-8a8f78a6dd01
go: downloading golang.org/x/sys v0.0.0-20210309074719-68d13333faf2
go: downloading golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d
go: downloading github.com/lucasb-eyer/go-colorful v1.2.0
go: downloading github.com/gdamore/encoding v1.0.0
# golang.org/x/term
/home/ragnarok/go/pkg/mod/golang.org/x/[email protected]/term_unix_linux.go:9:7: ioctlReadTermios redeclared in this block
previous declaration at /home/ragnarok/go/pkg/mod/golang.org/x/[email protected]/term_unix_aix.go:9:26
/home/ragnarok/go/pkg/mod/golang.org/x/[email protected]/term_unix_linux.go:10:7: ioctlWriteTermios redeclared in this block
previous declaration at /home/ragnarok/go/pkg/mod/golang.org/x/[email protected]/term_unix_aix.go:10:27
make: *** [Makefile:23: build] Error 2
When I delete first message getting blank screen and 'left', 'right', 'esc' do not work (C-c works).
At a later point in time it would be great to have nodelist support. (eg write a netmail to a name, and it will show you addresses matching the name)
It might be the easiest to use the golded compiled nodelist index files?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.