urbit/pkg/hs/urbit-king/TODO.md

1.4 KiB

New IPC

Stubbed out:

  • Handle replacement events (stubbed out now b/c interface can't handle unparsed nouns)
  • Handle IPC errors by killing serf process.
  • Handle peek and pack in swimming flow.
  • Documentation for Urbit.Vere.Serf.IPC.
  • Unstub slog/stder/dead callbacks on serf config.
  • Remove GoodParse hack in newRunCompute.
  • Bring back tank printing.
  • Handle serf stderr message correctly.
  • Bring back logEvent.
  • Snapshots should block until that event is commited to disk.
  • Hook up error callbacks to IO Drivers.

King-Haskell specific features:

  • Re-implement collectFX flow in Serf/Pier.
  • Hook up collectFX to CLI.
  • Test new collectFX flow

Performance:

  • Batching during replay.
  • Batching during normal operation.

Polish:

  • Cleanup batching flow.
  • Think through how to shutdown the serf on exception.
  • Logging for new IPC flow.
  • Logging for boot sequence.
  • Bring back progress bars.

Misc Bugs

  • Handle ^C in connected terminals. It should interrupt current event.
  • The terminal driver seems to have a race condition when spinner changed too quickly.
  • King should shutdown promptly on ^C. Always takes 2s in practice.

Cleanup

  • Break most logic from Main.hs out into modules.
  • Simplify Main.hs flows.
  • Cleanup Terminal Driver code.
  • Spin off Urbit.Noun into it's own package.