Compare commits
3 commits
df0f5cef6d
...
8067258694
Author | SHA1 | Date | |
---|---|---|---|
8067258694 | |||
310386ec86 | |||
0d87574eae |
2 changed files with 21 additions and 8 deletions
25
TODO.md
25
TODO.md
|
@ -1,10 +1,13 @@
|
||||||
# Code structure
|
# Code structure
|
||||||
|
|
||||||
- split `App.Zone` to improve compilation times
|
- 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
|
- modules should have specific API
|
||||||
- *maybe* have a module with the entire state and a single function handling all state modifications on received message
|
- *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 general style of the website should be in a module.
|
||||||
|
|
||||||
# Features
|
# Features
|
||||||
|
|
||||||
- display a message when the email isn't provided (happens when the account was migrated from dnsmanager v1)
|
- display a message when the email isn't provided (happens when the account was migrated from dnsmanager v1)
|
||||||
|
@ -12,32 +15,42 @@
|
||||||
- explanations and static content in general should be written using some kind of templates, not directly in Halogen
|
- 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: enable administrators to ask for users' info and show zones
|
||||||
- admin interface: perform a few more administrative operations (*TBD*)
|
- admin interface: perform a few more administrative operations (*TBD*)
|
||||||
|
- 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
|
||||||
|
|
||||||
# Tests
|
# Tests
|
||||||
|
|
||||||
- zone-wise tests, such as verifying SPF mechanisms point to available records
|
Check for common errors:
|
||||||
|
|
||||||
|
- nodes with both a CNAME and another RR
|
||||||
|
- verify that SPF mechanisms point to available records
|
||||||
|
|
||||||
|
More specialized tests or debug options:
|
||||||
|
|
||||||
- verify the length of received messages in `App.Message.IPC`
|
- 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
|
||||||
|
|
||||||
# Display
|
# Display
|
||||||
|
|
||||||
- user interface: display the email address
|
- user interface: display the email address
|
||||||
- somewhat better looking welcome page
|
- somewhat better looking welcome page
|
||||||
- somewhat better looking explanation pages
|
- somewhat better looking explanation pages
|
||||||
- hide logs by default
|
- hide logs by default?
|
||||||
- show a big button on disconnection
|
|
||||||
- *maybe* notifications should disappear after a few seconds
|
- *maybe* notifications should disappear after a few seconds
|
||||||
- admin interface: basically just rewrite the whole thing, it's a mess
|
- 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
|
||||||
|
|
||||||
# General note
|
# General note
|
||||||
|
|
||||||
The code should be reviewed and a decent documentation should be provided.
|
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.
|
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.
|
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.
|
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.
|
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
|
# TODO in authd and dnsmanagerd
|
||||||
|
|
||||||
- disconnect users when they didn't ask for anything in several minutes
|
- enable users to change their NS
|
||||||
- MIGRATION-related: remove migrated accounts with no connection in over 6 months
|
- MIGRATION-related: remove migrated accounts with no connection in over 6 months
|
||||||
|
|
|
@ -110,8 +110,8 @@ foreign import unsafeSetInnerHTML :: HTMLElement -> RawHTML -> Effect Unit
|
||||||
-- | Current limit is 30 minutes (`max_keepalive` = 60, 60 * 30 seconds = 30 minutes).
|
-- | Current limit is 30 minutes (`max_keepalive` = 60, 60 * 30 seconds = 30 minutes).
|
||||||
max_keepalive = 60 :: Int
|
max_keepalive = 60 :: Int
|
||||||
|
|
||||||
wsURLauthd = "wss://www.netlib.re/ws/authd" :: String
|
wsURLauthd = "ws://localhost:8080" :: String
|
||||||
wsURLdnsmanagerd = "wss://www.netlib.re/ws/dnsmanagerd" :: String
|
wsURLdnsmanagerd = "ws://localhost:8081" :: String
|
||||||
|
|
||||||
data Action
|
data Action
|
||||||
= Initialize
|
= Initialize
|
||||||
|
|
Loading…
Add table
Reference in a new issue