Leandro Pereira
Leandro Pereira
TODO https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html#module-async-operations Related to https://github.com/BeaconCMS/beacon/issues/359#issuecomment-1790979525
TODO https://nextjs.org/docs/app/building-your-application/caching#data-cache Related to https://github.com/BeaconCMS/beacon/issues/359#issuecomment-1790979525
Beacon has to support all path formats supported by upstream Phoenix and currently it's missing support for partial segments like `/my-page/v:version` Every page is stored on a ETS table when...
Add a Lifecycle Stage named `:generate_page_path` to allow generating `page.path` with custom rules. Users can already input a page's path at https://github.com/BeaconCMS/beacon/blob/7790eb72769a026c0bdfc3167aab394a9b73ce91/lib/beacon_web/live/admin/page_live/page_editor_live.html.heex#L22 but inputting long urls manually is not viable...
Expose Telemetry events for important lifecycle actions by calling https://hexdocs.pm/telemetry/telemetry.html#span/3 ### `[:beacon, :core, :load_resource, :start | :stop]` Emit start/stop events for each resource loaded by [`Beacon.Loader`](https://github.com/BeaconCMS/beacon/blob/main/lib/beacon/loader.ex), adding the loaded resource...
Allow users to pass https://hexdocs.pm/phoenix_live_view/js-interop.html#client-hooks-via-phx-hook to the Beacon livesocket. The socket is initialized at https://github.com/BeaconCMS/beacon/blob/4dd3b55475eae63fd8594f22510bae6a71c8a9d7/assets/js/beacon.js#L31 and note it does reuse the `LiveView` object from the host app and connects to...
Implementers have the option to configure multiple providers for assets, for example Repo (database), S3, Azure, and others. The first one in the list has high priority and will always...
Make updating pages' layout optional. Currently, publishing a page will reload the resources associated with that page (templates, css, and so on): https://github.com/BeaconCMS/beacon/blob/02f982e360db5249802b8ee6121a195699affb65/lib/beacon/pages.ex#L141 which will eventually broadcast a `page_updated` event:...
[Error pages](https://github.com/BeaconCMS/beacon/pull/331) do not support custom components at this moment, ie: calling `` since it's not safe to do so and requires loading a LV env. For example, a page...
Refreshing a page with variants may result in flashing elements due to rendering different templates between the dead and live requests. [Once a template is defined](https://github.com/BeaconCMS/beacon/blob/ec819372264737d63e7db847594f2aebe7bf73a3/lib/beacon_web/live/page_live.ex#L30) in the dead request...