This commit is contained in:
Philippe Pittoli 2025-05-25 03:10:10 +02:00
parent 10c0aa8424
commit fc16234773

49
TODO.md
View file

@ -1,32 +1,25 @@
# Code structure
# Code structure and general note
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`.
Right now, the code is still in a somewhat early stage and **multiple** refactoring should take place.
Once modules will have specific APIs, the entire state of the application could be moved into a single module (or *component*).
The code should be reviewed and a decent documentation should be provided.
Some code should be pushed in the [bulma purescript module][psbulma].
The entire state of the application *could* be moved into a single module (or *component*).
Thus, every state modification can be handled in a single place.
Minor modifications:
- explanations and static content in general should be written using some kind of templates, not directly in Halogen
Explanations and static content in general could be written using some kind of templates, not directly in Halogen.
# Features
Delegation:
- new RR record: the "delegation record", effectively removing all other RRs
=> requires 2 nameservers
- also enable to change NS records (but after a accepting the consequences)?
- new RR record: the "delegation record", effectively removing all other RRs, which should require 2 nameservers
- **MAYBE**: also enable to change NS records (but after a accepting the consequences)? (could be unnecessary due to delegation)
- zone-wise indications to help people configure their zone for specific uses (web, mail)
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)
- display details about users
# Tests
@ -38,29 +31,17 @@ Check for common errors:
More specialized tests or debug options:
- verify the length of received messages in `App.Message.IPC`
- MAYBE: run `named-checkzone` on the genetared zone and provide the result in case of an error
- MAYBE: run `named-checkzone` on the generated zone and provide the result in case of an error
# Display
- 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
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.
Some code should be pushed in the [bulma purescript module][psbulma].
# TODO in authd and dnsmanagerd
- enable users to change their NS
- implement proper delegation
- **MAYBE**: enable users to modify their *protected-by-read-only* NS entries (could be unnecessary due to delegation)
- MIGRATION-related: remove migrated accounts with no connection in over 6 months
[psbulma]: https://github.com/KaneRoot/purescript-bulma