Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge main #1

Merged
merged 134 commits into from
Jul 17, 2024
Merged

Merge main #1

merged 134 commits into from
Jul 17, 2024

Conversation

martInatpeek
Copy link

No description provided.

FreedomBen and others added 30 commits April 11, 2024 15:04
The prose says we are changing the `presign_url` function, but really it
means to to `presign_upload`.  This becomes evident when reading through
the whole context, but can be very confusing if you don't.  I suspect
the function was originally called `presign_url` but got refactored to
`presign_upload` and the prose got missed.

Co-authored-by: Benjamin Porter <[email protected]>
…erty (phoenixframework#3213)

If there is no scroll container, but the body or html element have the overflow-y property, we listened for scroll events on those. Instead we must still listen for scroll events on the document itself.
…3219)

- 78c24a5, changed the return from :ok to path but it wasn't changed
in the doc.
…3207)

* Warn on version mismatch between client and server

* define LV_VSN in js tests
* Add cheatsheet for special phx-* HTML attributes

* Update guides/cheatsheets/html-attrs.cheatmd

Co-authored-by: José Valim <[email protected]>

* Update guides/cheatsheets/html-attrs.cheatmd

---------

Co-authored-by: José Valim <[email protected]>
Co-authored-by: Chris McCord <[email protected]>
In circumstances where `assign_async/4` is being used to async assign
multiple results, it is possible that some of the results should persist
during loading, and others should not.

In this case, a list of keys can be passed to the `reset` option, and
only those keys will be reset during the async operation.
…et-async-list

Allow partially resetting an async result when using multiple assign
* merge test coverages

* update deprecated actions, fix artifact paths

+ update playwright to 1.41.2

* allow coverage >= 85%

* fix merge command

* update README

* use mix test

* apply suggestions from review

* add default jest reporter back

* update playwright to 1.43.1

* fix port in playwright teardown script

* use liveview esm script for correct coverage reporting

* import isUsedInput from module
chrismccord and others added 27 commits June 18, 2024 11:45
Closes phoenixframework#3306

While we use refs (vector clocks) and ack's to
prevent races like double form submissions and
duplicate interactions for latent clients, there
existed two bugs – one on the server, and one on
client, that could allow for an ack to be processed
too early in some conditions involving LiveComponents
with live navigation.

On the server, a LiveComponent would issue a nav like
push_patch, and we we would ack the LiveComponent
event before the parent's handle_params diff event.
This caused a race where the LiveComponent is ack'd
and pending states undone too early on the client,
before the parent's handle_params diff has been sent.

This allows scenarios where the diff from the parent
LiveView handle_params removes the LiveComponent
from the page, but there is a window where the LC is
interactive since we ack'd it early. The fix on the
server is to still send the LiveComponent diff
on redirect, but send it out of band, and ack the
original LiveComponent event within the parent's
handle_params diff that will necessarily be triggered.

On the client, a bug existed for phx-remove.
Elements are delayed from being removed from the
DOM to allow a short transition to occur, such as
a fadeout of 200-300ms. Within this window, the
elements remained interactive, which allowed for
an "unlocked" element like a form button to be
clicked after it was processed and ack'd by the server
during the phx-remove transition. The fix for the
client race is to prevent event propagation on the
removed elements during the phx-remove transition.
Bumps [ws](https://github.com/websockets/ws) from 8.16.0 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@8.16.0...8.17.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
In phoenixframework#3201 we changed the way form recovery works by using a document
fragment to dispatch the form recovery events. When traversing the DOM
to check if a LC is in the same LiveView, this broke the check, because
when iterating over node.parentNode, we would never arrive at the
fragment itself. This commit fixes this by checking by using the
framgnet's first child instead, which is the actual LV element.

Fixes phoenixframework#3314.
* Improve doc of put_flash

* Update lib/phoenix_live_view.ex

---------

Co-authored-by: Steffen Deusch <[email protected]>
* mix format

* support noformat modifier on sigil_H

It's not officially documented for now.

* check if formatted in CI

* raise on invalid sigil_H modifiers
@martInatpeek martInatpeek merged commit d0871dc into master Jul 17, 2024
7 checks passed
@martInatpeek martInatpeek deleted the merge-main branch July 17, 2024 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.