Repository navigation
Checked against PhoenixReplay 0.6.2, recording real sessions of the demo and replaying them in its player.
Changed
- Require vize 0.17.2, whose template split leaves Vue's reserved
refandkeyout and gives each<option>of a<select v-model>a slot, so the selected one rendersselected. - While a session is recorded, a hybrid component reports a changed value once it has been still for the replayer's debounce, as PhoenixReplay records a form control, and at least once per flush interval while it keeps changing. A typed word is one step on the timeline, and an input PhoenixReplay records itself agrees with the component's report. Before, a report went out once per flush interval and could catch a word halfway typed.
replay_render/1no longer translates__changed__for tracked replay renders: PhoenixReplay renders a replay in full at every step.
Fixed
- A replay of a hybrid component in PhoenixReplay's player showed the first moment of the session at every step. The player renders each moment with
__changed__: niland diffs it with change tracking, which crashed the template renderer, and the frame restarted.__changed__: nilnow renders every slot, as in LiveView. - A replay on a server that didn't compile the component itself, such as a release, failed for recorded client state whose name appears nowhere in Elixir code, such as
useClipboard'scopied: the name's atom, made while compiling, didn't exist there. The render spec now carries every declared name's atom. - A
<select v-model>rendered no option selected, so its first paint showed the first option until the browser mounted. The option whose value, bound:valueor text is the select's is nowselected, or each one among them for<select multiple>, as Vue's server renderer does. - A static
reforkeyrendered as an attribute, such asref="search"on an input. Vue reserves both and never renders them, nor now does PhoenixVapor. - A hybrid LiveView's client module, which compiling writes, wasn't written again once missing while the build was up to date, such as on a fresh checkout beside a build restored from a CI cache, so building the assets failed. The LiveView now recompiles while its client module is missing.
- A server action reached the recording before the client state it was sent from, when that state was still waiting for the next report: a project name typed just before Save was recorded after the save. The state now goes out first.