Skip to content
Snippets Groups Projects
Select Git revision
  • f029cbfbb4d89d55aee01fc89f08b0388c45575e
  • release default protected
  • more-testing
  • attempt-vax90b1
  • attempt-1
  • conversion protected
  • linux
  • v0.9.1 protected
  • v0.9.0 protected
9 results

go.mod

Blame
  • This project manages its dependencies using Go Modules. Learn more

    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

    Things to do

    • Run godoc and then review where the help text is lacking.
    • Move to a storage layer.
    • Implement each command.
      • Next: folder commands - CREATE, REMOVE, MODIFY, INDEX, SELECT
      • Messages: ADD, CURRENT, DIRECTORY, BACK, CHANGE, FIRST, NEXT, READ, DELETE
      • Messages edit: CHANGE, REPLY, FORWARD
      • Moving messages: COPY, MOVE
      • Compound commands: SET and SHOW - make HELP work for them.
      • Mail: MAIL, FORWARD,
    • 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)
    • Cleanup help output.
      • Remove the node/cluster/newsgroup/mailing-list related flags.
      • Remove BBOARD references.
      • format with par w72j1
    • Database
      • trigger to limit values for 'visibility'?
    • Add commands:
      • A way to add / delete ssh keys.
      • A way to manage files?
      • Commands for a local mail system?
      • Commands to connect to Mattermost or mastodon?
      • Commands to manage users.

    Done:

    • Editor - need an embedded editor Implemented using tview; good enough
    • Implement batch jobs
      • Have install populate the database with some test data.
      • reboot
      • expire
    • Add a pager
    • SHOW VERSION
    • Check 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.

    Module links