Skip to content

EnderChest remote aliases should match their names #146

@OpenBagTwo

Description

@OpenBagTwo

Summary

There is no guarantee that what an EnderChest calls itself matches what other EnderChests call it when syncing.

Environment and Version

All since syncing was added

Steps to Reproduce

  1. Create an EnderChest and give it a unique name that doesn't match its hostname
  2. Create a new EnderChest, then register the original EnderChest via its URI

If you inspect the two enderchest.cfg files, you'll see that the first chest's name will not match its alias under [remotes]

Workaround

Manually edit each enderchest.cfg to validate for consistency or just never give your EnderChest a name that doesn't match the hostname (thus meaning you can't have two chests on the same system)

Severity

Gamebreaking—not only is this inconsistent and confusing, it means that each EnderChest has no easy way of determining its own alias (remote URIs are a DNS nightmare waiting to happen), thus hinders further development, namely #137 (and in turn #139)

Desired Outcome

  1. Change the behavior of enderchest gather remote to force the correct alias (raise on duplicate aliases, I guess)
  2. Add to Regenerating configs #80 that regenerating the enderchest config should also ping the remotes to check for consistency between each names and aliases

Urgency

This blocks #80 and #137, so it's being added to the v0.1.8 milestone

Notes

Each EnderChest has a distinct "name" for itself. While this name is used when creating a new EnderChest using the enderchest craft --from REMOTE_URI, there is no guarantee that this is the case (and, in fact, the remote alias is assumed to be the hostname when executing enderchest gather remote).

Note that the documentation says that EnderChest installation names should be unique:

name : str, optional
A unique name to give to this EnderChest installation. If None is
provided, this will be taken from the hostname of the supplied URI.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions