Skip to content

Conversation

@ThomasWeiser
Copy link
Owner

@ThomasWeiser ThomasWeiser commented Mar 24, 2017

PR to track progress. Please use it for discussions and reviews.

Previous discussions in issues Support elm 0.17 and Firebase 3.0

Agenda:

  • Adopt new native code conventions
  • Comparable types for specifying subscriptions
  • Effect manager to handle valueChanged subscriptions
  • Sort out structure of exposed modules
  • Allow for query options
  • Support syncing to a dict (like old ElmFire.Extra)
  • Research design choices for childAdded queries (tricky)
  • Migrate to Firebase 3.x (Google's version)
  • Changed authentication API for Firebase 3
  • Use Elm 0.18
  • Testing framework (I have a feeling that we need a new kind of test framework for effect managers.)

And:

  • Discuss API with community
  • Documentation
  • Nice demo app

ThomasWeiser and others added 21 commits December 6, 2016 13:25
to avoid confusion with `subscription`
Simplifications:
* Only subscription to valueChanged events
* No query options
* Fixed Firebase location
Unfortunately we cannot use a union type for Location as we did before.

The implementation of the effect manager demands Location to be a comparable type.
Union types are not comparable (in Elm 0.17).
Lists and tuples are the only aggregate types that transports comparability of its element type.
As suggested by Rogério Chaves:
#15 (comment)

Pros:
- No need to patch Firebase script
- Faster loading from CDN / cache / parallel chunk.
- Can upgrade firebase for non-breaking changes without changing ElmFire.
- More flexibility while developing new ElmFire version

Cons:
- ElmFire is not self-contained any more.
- User is now responsibly for compatibility of the version  of included firebase.js script.

This is a preliminary change during development.
We may change back to included Firebase script for published versions of ElmFire.
Needs to be discussed with community.
This was referenced Mar 24, 2017
@atlewee
Copy link

atlewee commented Apr 28, 2017

Really like what I see happening now.
Will the example also be migrated to 0.18? :)

@ThomasWeiser
Copy link
Owner Author

@atlewee thanks, missed that one. Example is now updated too.

@txgruppi
Copy link

txgruppi commented May 3, 2017

Hi @ThomasWeiser,

I'm really interested in this project and I would like to help you to update it to Elm 0.18 but I'm not that advanced in Elm so if you're willing to somehow guide me I can help you with the code.

To give you an idea of how I'm using Elm you can check the repos below (most recent to older)

Kind regards.

@andykingking andykingking mentioned this pull request May 24, 2017
@arnauorriols
Copy link

FWIW, Firebase 4.x is out already (see release notes). Just saying in case you think it makes sense to sync directly to it.

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.

6 participants