Reflector Input Validation (Stupid User Problem)
-
mcdermj (at xenotropic)
- State changed from new to open
Doing a list, as mentioned in your accompanying e-mail, isn't practical because there are over 500 link destinations in D-Plus alone. Remember that repeaters are a valid destination as well as reflectors. If you combine this with the fact that every reflector/repeater destination will have at least four modules (A-D for D-Plus and D-Extra, I believe that DCS supports A-Z), that's a long list. Even if I were to make two dropdown boxes, which is sort of a weird interface, that's still a list that may break 1000 entries. That's not fun to sort through.
In addition I may have eventually have a link driver that doesn't/can't have a list of valid destinations. The link drivers are abstracted and there's a standard interface to which they have to conform, but the data engine doesn't necessarily really care which one is active.
I think 2 and 3 are trying to second guess users too much. I would have to have each of the drivers try to munge the destination to try to auto-correct it. Trying to divine user intent is an issue.
I think a variation on 1 is the right way to go, but it should be done at the time the destination is entered into the favorites list. We can ask the link drivers at this point in time if anyone will handle the link. If not, we know it's not a proper destination. This is what happens when you link anyways. The data engine asks each driver whether it can handle the destination and the first one to say "yes" gets to handle the link.
The only danger in doing it this way is that the D-Plus list is dynamic. When the authenticator logs into Robin's server, it's given a list of D-Plus destinations. If the user, for whatever reason, is not authenticated, you won't be able to add D-Plus destinations. But, we wouldn't re-check the destination list, so you could get old entries on there that may not be able to be currently linked. As well, there might be a reflector that once existed but doesn't anymore.
I guess this militates towards doing that validation both when connecting to and entering reflectors.
-
mcdermj (at xenotropic)
- State changed from open to pending
Added functionality described above as a variation of #1. Reflectors will be checked when they go into the list and when we link. There's a modal sheet that will drop down to inform the user of the error.
Fixes included in v1.0.1d99 / git 422efe6.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.