dnsmanager-webclient/TODO.md

2.1 KiB

Code structure

  • split App.Zone to improve compilation times
  • split the Bulma module in two: the actual Bulma-related code and the general style of the website
  • modules should have specific API
  • maybe have a module with the entire state and a single function handling all state modifications on received message

Features

  • display a message when the email isn't provided (happens when the account was migrated from dnsmanager v1)
  • user interface: enables to update the email address
  • zone-wise indications to help people configure their zone for specific uses (web, mail)
  • explanations and static content in general should be written using some kind of templates, not directly in Halogen
  • admin interface: enable administrators to ask for users' info and show zones
  • admin interface: perform a few more administrative operations (TBD)

Tests

  • zone-wise tests, such as verifying SPF mechanisms point to available records
  • verify the length of received messages in App.Message.IPC

Display

  • user interface: display the email address
  • somewhat better looking welcome page
  • somewhat better looking explanation pages
  • hide logs by default
  • show a big button on disconnection
  • maybe notifications should disappear after a few seconds
  • admin interface: basically just rewrite the whole thing, it's a mess

General note

The code should be reviewed and a decent documentation should be provided.

Right now, the code is still in a somewhat early stage and multiple refactoring should take place. For example, modules have a very generic API; they can provide or receive messages from (respectively to) authd or dnsmanagerd. Instead, modules should have a more specific API and not deal with message encoding at all. Furthermore, maybe the state of the entire application should be stored in a single module, with a single function handling all state modifications when a message is received, enabling a simpler data management.

TODO in authd and dnsmanagerd

  • disconnect users when they didn't ask for anything in several minutes
  • MIGRATION-related: remove migrated accounts with no connection in over 6 months