Update TODO.md, again.

This commit is contained in:
Philippe Pittoli 2025-04-27 16:39:50 +02:00
parent 310386ec86
commit b500679444

49
TODO.md
View file

@ -1,24 +1,37 @@
# Code structure
- split `App.Zone` to improve compilation times
- modules should have specific API
- *maybe* have a module with the entire state and a single function handling all state modifications on received message
Also, the Bulma module should be removed.
The actual Bulma-related code should be in a package (such as https://github.com/KaneRoot/purescript-bulma, which currently lacks some features).
The Bulma module should be removed.
The actual Bulma-related code should be in the package [purescript-bulma][psbulma], which currently lacks some features.
The general style of the website should be in a module.
Modules should have their own specific API.
When a module currently requires to send messages, the API should reflect semantics instead of providing the module a way to just carry raw messages.
For example, there are currently modules able to send messages (with a very simple `MessageToSend message` API), but instead of dealing with raw messages that need to be built inside the module, the API should be more semantic such as `ChangePassword new-password`.
Once modules will have specific APIs, the entire state of the application could be moved into a single module (or *component*) so every state modification can be handled in a single place.
Minor modifications:
- split `App.Zone` to improve compilation times
- explanations and static content in general should be written using some kind of templates, not directly in Halogen
# Features
- display a message when the email isn't provided (happens when the account was migrated from dnsmanager v1)
- 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*)
About zone records:
- allow '*' in record names
- allow '@' in record names (replaced by the fqdn, the "root" domain, such as "example.netlib.re.")
- enable to change NS records, but after a accepting the consequences
About the admin interface:
- enable administrators to ask for users' info and show zones
- perform a few more administrative operations (*TBD*)
Slightly more complex features to implement:
- zone-wise indications to help people configure their zone for specific uses (web, mail)
# Tests
Check for common errors:
@ -33,13 +46,13 @@ More specialized tests or debug options:
# Display
- user interface: display the email address
- somewhat better looking welcome page
- somewhat better looking explanation pages
- hide logs by default?
- *maybe* notifications should disappear after a few seconds
- admin interface: basically just rewrite the whole thing, it's a mess
- say that there is no IPv6 on the server at the moment, so there is no point doing IPv6 address updates
- admin interface: basically just rewrite the whole thing, it's a mess
Details:
- *maybe* notifications should disappear after a few seconds
- hide logs by default?
# General note
@ -54,3 +67,5 @@ Furthermore, *maybe* the state of the entire application should be stored in a s
- enable users to change their NS
- MIGRATION-related: remove migrated accounts with no connection in over 6 months
[psbulma]: https://github.com/KaneRoot/purescript-bulma