8000 Fix ambiguity error with `Data.Text.elem` on `components` branch by georgefst · Pull Request #779 · dmjio/miso · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Fix ambiguity error with Data.Text.elem on components branch #779

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

Merged
merged 1 commit into from
Feb 24, 2025

Conversation

georgefst
Copy link
Contributor

No description provided.

@dmjio dmjio merged commit 5929bb7 into dmjio:components Feb 24, 2025
3 checks passed
@georgefst georgefst changed the title Fix ambiguity error with Data.Text.elem on components` branch Fix ambiguity error with Data.Text.elem on components branch Feb 24, 2025
dmjio added a commit that referenced this pull request Mar 6, 2025
* Initial commit of Components

- Adds Component existential wrapper used for nesting App
- Adds `notify` for bidirectional communication between components (parent, child or siblings)
- Modifies diff.js to mount / unmount components
- Creates top-level ComponentMap used to store sinks and threads for each Component
- Adds components example (modified from simple.jsexe)
- Renames Notify to Waiter (reuse 'notify' elsewhere)
- Creates Miso.Internal

* Add standalone Component existential.

* Update haskell-miso client to reflect components

* Update components cabal file.

- Update interface for haskell-miso

* Add run to components.

* Body fixes

* Comment out tagged during dev.

* Updates diff.js to account for Components.

- Major diff.js refactoring (tests pass) to handle 'vcomp'
- Added mounting and unmounting of Components
- removeEventListener called during unmount
- Fix 'destroy' name clash in tests
- Bring in synchronous callbacks from ghcjs-base for the ghcjs build
- Export code coverage from top-level

* Add mail function

- Add mail function (like notify)
- Use strict Map

* CPP around builds that don't support synchronous callbacks (x86 jsaddle-warp)

* Add component lifecycle events (implemented as hooks)

- Adds syncCallback, and uses it with lifecycle hooks

* Comments out building sample apps

* Add component lifecycle actions (onMounted, onUnmounted).

* Fix ambiguity error with `Data.Text.elem` (#779)

* Make component mount/unmount async (temporarily)

* Add defaultApp, adjust callbacks synchronicity.

When using GHCJS both mount and unmount are use synchronous callbacks (and returns a value in the case of mount).

When using jsaddle-warp, mount is asynchronous, but unmount is synchronous. Currently true for WASM as well, but will soon default to synchronous mounting.

* Remove GADT syntax, bring back Functor deriving

* Implement Effect in terms of Transition

- Add nginx section for components
- Remove Miso.JSBits
- Remove Miso.Effects
- Miso.Effect.Storage -> Miso.Storage
- Add 'runTransition'

* Remove 'mail', use 'notify'.

* Include Miso.Storage

* Revert mountPoint, remove compose-update example

* Drop old servant cruft

* data-component-id, Component, ComponentOptions, SomeComponent

- Components can have 'Attributes' now
- ComponentOptions included (mounting rebrand)
- Cache mount element
- Implement
- Use 'embed', 'embedWith' (for ComponentOptions)

* Back to 100% code coverage on stmts.

* Ensure property diffing works. Remove unecessary checks on vtext.

- Remove redundant 'vtext' checks thanks to instanbul

* Satisfy DeepScan's "too many args" error.

* Ensure you can set styles on Components

* Add recursive component mount detection.

- console.error users if this occurs
- do not mount the element (can cause stack exception)

* Adds startComponent

* Passthru doc in mountComponent.

* diffElement -> diff

* Reinstate Effect, introduce 'mail'

- Adds 'mail' function
- Adds some comments

* Test for duplicate component mounting (back to 100%).

* Add miso-from-html

* Export miso-from-html

* Ensure components diff attributes, css but not children.

* Remove redundant cases in isomorphic.js

* Add more wasm nix infra, test components wasm

- Adds a builder for packaging wasm built from cabal
- Updates components to remove -threaded, add hs_start export

* Add ghcid to nix-shell env for native.

- Remove allowUnfree, allowUnbroken
- Move releases into top-level export

* Remove finalizers for events and Callbacks for WASM

- Since syncCallback' has not yet been included there are bugs when
attempting to free resources (when doing it async).

- When syncCallback' is added to jsaddle-wasm, incorporate it.

* Add cpp-options, use GHC.JS for Callback

* Use syncCallback1, use updated jsaddle-wasm

* Refactor common stanzas

* Pass domRef to unmount.

* Fix cabal logic for jsaddle-warp

* cpp-options don't support exposed-modules it seems.

* Remove dead comment.

* Resurrect compose-update

* Use startComponent.

* Add -DGHCJS_BOTH

* Get startComponent working

* Update CPP in miso-examples

---------

Co-authored-by: George Thomas <georgefsthomas@gmail.com>
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.

2 participants
0