Select Git revision
NOTES.md 3.17 KiB
Development notes
These are the development notes for the Go version.
The idea is to use the help files to implement BULLETIN.
Look up how godoc does references to other things.
Figure out readline completion. Case sensitive - issue? Building from repl.commands?
Switch between MAIL and BULLETIN modes? MAIL commands are documented here.
sqlite
- sqlite trigger tracing:
.trace stdout --row --profile --stmt --expanded --plain --close
- https://sqlite.org/cli.html
- https://www.sqlitetutorial.net/
Things to do
- Run godoc and then review where the help text is lacking.
- Implement each command.
- Next: folder commands - MODIFY
- Messages edit: CHANGE, REPLY
- Moving messages: COPY, MOVE
- Mark messages: MARK, UNMARK
Compound commands: SET and SHOW - make HELP work for them.- Mail: MAIL, FORWARD, RESPOND
- Review each command and fully implement it.
- Run this.Skew.Safe() before... each command? each write?
- Handle broadcast messages - have bulletin watch a directory and display files from it. Then have them delete the file if it's older than 5 minutes (allow for failure)
- Database
- trigger to limit values for 'visibility'?
- Add commands:
A way to add / delete ssh keys.- Commands for a local mail system?
- Commands to connect to Mattermost or mastodon?
Commands to manage users.
- Make a spreadsheet for signups.
Done:
-
Editor - need an embedded editorImplemented using tview; good enough- An EDT inspired editor
- gkilo
- This kilo editor tutorial
- Using giu, a text-editor (needs cgo, no)
- bubbletea seems to be the tui that's winning
- Another option is tview - simpler.
-
Implement batch jobsHave install populate the database with some test data.rebootexpire
Add a pagerSHOW VERSIONCheck db version; notify user if it changes; refuse to write to db if it has.this.Folder should be a storage.Folder.Add some of the early announcements from the sources - see the conversion branch - to the GENERAL folder.Move to a storage layer.-
Cleanup help output.Remove the node/cluster/newsgroup/mailing-list related flags.Remove BBOARD references.format withpar w72j1
Handle MARK for SELECT and DIRECTORY.Remove all file related things. Which means no need for most (all?) /EDIT flagsStop the seeded messages from being deleted by the expire batch command.