feature(edit) patch: add socket