ParseLiveList#324
Conversation
|
@maaeps |
|
@RodrigoSMarques |
|
Wow, that's a really nice feature? More than happy to merge in. Shall I wait for the sample app to be updated? Does any other Parse SDK have this feature? I really like it. |
|
@phillwiggins I only worked with the Android SDK jet. There was nothing like this. |
|
Somehow I can't get the example working. @phillwiggins @RodrigoSMarques |
|
That's absolutely fine. Just create a second sample app and call it what
you want. Just do it in a similar style to the other app, i.e. same package
level.
Cheers
…On Mon, Mar 9, 2020, 20:07 Maximilian Fischer ***@***.***> wrote:
Somehow I can't get the example working.
(can't login nor sign up)
@phillwiggins <https://github.com/phillwiggins> @RodrigoSMarques
<https://github.com/RodrigoSMarques>
Does anyone mind, me creating a second example for this feature?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#324?email_source=notifications&email_token=AB4CPXUJ2SZPJUOM5KY677LRGVD7PA5CNFSM4LEPWZ72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOI3ZRQ#issuecomment-596753606>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB4CPXXQB2MUWMTHSDW2BK3RGVD7PANCNFSM4LEPWZ7Q>
.
|
This reverts commit 4d8982d.
If the client changes the object. (ParseObject does not get copied)
|
I added a very simple example. |
|
Excellent work. I'm going to run a few tests on the latest version (1.0.26) and release today if everything seems okay. Any objections @maaeps @RodrigoSMarques ? |
|
@phillwiggins I also thought about providing the itemBuilder some kind of snapshot (similar to FutureBuilder) Apart form that, I think a release should be fine. |
|
I think add the performance improvement today, leave the other idea until after today. I will run a few tests my end and if all is well we will release today. I think there's a bug with 1.0.25. |
This is the change mentioned in parse-community#324 (comment) Requires parse-community#326
This is the change mentioned in parse-community#324 (comment) Requires parse-community#326
* Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements.
* Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements. * Remove: RemovedItemBuilder duplicade to ChildBuilder * removed firstBuild * ParseLiveListElementSnapshot added
|
Hi @maaeps Version 1.0.25 its OK. Many compile erros: Compiler message:
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:68:3: Error: Type 'Subscription' not found.
Subscription _liveQuerySubscription;
^^^^^^^^^^^^
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:69:22: Error: Type 'LiveQueryClientEvent' not found.
StreamSubscription<LiveQueryClientEvent> _liveQueryClientEventSubscription;
^^^^^^^^^^^^^^^^^^^^
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:68:3: Error: 'Subscription' isn't a type.
Subscription _liveQuerySubscription;
^^^^^^^^^^^^
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:69:22: Error: 'LiveQueryClientEvent' isn't a type.
StreamSubscription<LiveQueryClientEvent> _liveQueryClientEventSubscription;
^^^^^^^^^^^^^^^^^^^^
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:101:16: Error: 'Subscription' isn't a type.
.then((Subscription<T> subscription) {
^^^^^^^^^^^^
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:113:18: Error: 'LiveQueryClientEvent' isn't a type.
.listen((LiveQueryClientEvent event) async {
^^^^^^^^^^^^^^^^^^^^
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:98:10: Error: The getter 'client' isn't defined for the class 'LiveQuery'.
- 'LiveQuery' is from 'package:parse_server_sdk/src/network/parse_live_query_web.dart' ('../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/network/parse_live_query_web.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'client'.
.client
^^^^^^
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:111:10: Error: The getter 'client' isn't defined for the class 'LiveQuery'.
- 'LiveQuery' is from 'package:parse_server_sdk/src/network/parse_live_query_web.dart' ('../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/network/parse_live_query_web.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'client'.
.client
^^^^^^
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:114:20: Error: The getter 'LiveQueryClientEvent' isn't defined for the class 'ParseLiveList<T>'.
- 'ParseLiveList' is from 'package:parse_server_sdk/src/utils/parse_live_list.dart' ('../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'LiveQueryClientEvent'.
if (event == LiveQueryClientEvent.CONNECTED) {
^^^^^^^^^^^^^^^^^^^^
../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/utils/parse_live_list.dart:239:19: Error: The getter 'client' isn't defined for the class 'LiveQuery'.
- 'LiveQuery' is from 'package:parse_server_sdk/src/network/parse_live_query_web.dart' ('../../../../Rodrigo/flutter/.pub-cache/git/Parse-SDK-Flutter-f8af2b658e93c4e3ac9b9d89ed6b0a6603edcd5e/lib/src/network/parse_live_query_web.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'client'.
LiveQuery().client.unSubscribe(_liveQuerySubscription);
^^^^^^
``
|
|
@RodrigoSMarques |
|
@RodrigoSMarques |
|
HI @maaeps |
* Release/1.0.26 - Update docs * Updated Live Queries related documentation (#301) * Added an example of how to update existing object values (#309) * Fixed the Parse().initialize's return value (#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Added example for update existing Object values Maybe need some correction. Thank you. Co-authored-by: James Brinkerhoff <th3brink@gmail.com> Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Specifying return type of get<T> as T instead of dynamic (#310) * Fixed the Parse().initialize's return value (#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Specified T return type instead of dynamic for get<T> method Co-authored-by: James Brinkerhoff <th3brink@gmail.com> Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Live query connection stream (#314) * Fixed the Parse().initialize's return value (#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * added live-query-client-event-stream * Update parse_live_query.dart * Cleanup Co-authored-by: James Brinkerhoff <th3brink@gmail.com> Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Livequery reconnecting controller (#316) * Fix: reconnecting Done as in #315 (comment) described. * Changed type of Future Done as described in fischerscode@805e830#r37587405. * Revert "Changed type of Future" This reverts commit fecee76. * adding LiveQueryReconnectingController This is a solution for #315 (comment) How it works: - Only the LiveQueryReconnectingController handles reconnecting after a connection loss. - LiveQueryReconnectingController holds informations: 1. connection state of the device 2. did the user disconnected from the server 3. is currently a connection to the server estalished - LiveQueryReconnectingController tries to reconnect after preset timespans. * cleanup * remove _userDisconnected from Client This is not needed any more. Keeping track of this information is now done by LiveQueryReconnectingController. * subscribe(query) modified Wait until client is connected to live-query-server. Fixes fischerscode@d058eb0#r37612749 * Parsequery OR (#317) * Start adding or First idea for #213 Works with normal Query and LiveQuery. Missing: - any kind of "UserError handling" - further testing * Update parse_query.dart * Fix for Sembast-API change (#322) See: #321 (comment) * added QueryBuilder.copy(QueryBuilder<T> query) (#320) * added QueryBuilder.copy(QueryBuilder<T> query) Added a implementation to create a new QueryBuilder based on an old one. This is a deep copy. Tested only with basic queries. * added QueryBuilder.copy(QueryBuilder<T> query) Added a implementation to create a new QueryBuilder based on an old one. This is a deep copy. Tested only with basic queries. * ParseLiveList (#324) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * added ParseACL to parseEncode (#326) As described in #325 (comment). Should Fix #325 * ParseLiveList Performance improvement (#327) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements. * ParseLiveListElementSnapshot added (#329) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * LiveList - Performance Improvement This is the change mentioned in #324 (comment) Requires #326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements. * Remove: RemovedItemBuilder duplicade to ChildBuilder * removed firstBuild * ParseLiveListElementSnapshot added * Clear unsaved changes (#331) * added clearUnsavedChanges An idea for #318 * moved clearUnsavedChanges to ParseBase * LiveQueryController: connect at init (#332) Should fix #330 * LiveList: fixed defaultBuilder (#333) * Added generics to Query/LiveQuery (#336) * LiveQuery: fixes list is null (#334) * Fix: #341 (#342) It seems like `subscription.on(LiveQueryEvent.update` reuses a existing object. * Updating LiveQuery for web (#340) * LiveQuery: fixes list is null * Updating LiveQuery for web parse_live_query_web was outdated compared to parse_live_query. Note: parse_live_query was copied and fixed again for this change. Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> * Release/1.0.26 - Code formatting, remove lint issues Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> Co-authored-by: L. Rommy Arbantas <arbantas@gmail.com> Co-authored-by: James Brinkerhoff <th3brink@gmail.com> Co-authored-by: Michal Baran <baranmichal25@gmail.com> Co-authored-by: Maximilian Fischer <45403027+maaeps@users.noreply.github.com>
* Release/1.0.26 - Update docs * Updated Live Queries related documentation (parse-community#301) * Added an example of how to update existing object values (parse-community#309) * Fixed the Parse().initialize's return value (parse-community#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (parse-community#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Added example for update existing Object values Maybe need some correction. Thank you. Co-authored-by: James Brinkerhoff <th3brink@gmail.com> Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Specifying return type of get<T> as T instead of dynamic (parse-community#310) * Fixed the Parse().initialize's return value (parse-community#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (parse-community#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Specified T return type instead of dynamic for get<T> method Co-authored-by: James Brinkerhoff <th3brink@gmail.com> Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Live query connection stream (parse-community#314) * Fixed the Parse().initialize's return value (parse-community#307) * Release/1.0.26 - Update docs * Updated Live Queries related documentation (parse-community#301) * Fixed the parse initialize method Parse().initialize returns a new instantiation of the Parse class, but it should return the initialized instance. Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * added live-query-client-event-stream * Update parse_live_query.dart * Cleanup Co-authored-by: James Brinkerhoff <th3brink@gmail.com> Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> * Livequery reconnecting controller (parse-community#316) * Fix: reconnecting Done as in parse-community#315 (comment) described. * Changed type of Future Done as described in 805e830#r37587405. * Revert "Changed type of Future" This reverts commit fecee76. * adding LiveQueryReconnectingController This is a solution for parse-community#315 (comment) How it works: - Only the LiveQueryReconnectingController handles reconnecting after a connection loss. - LiveQueryReconnectingController holds informations: 1. connection state of the device 2. did the user disconnected from the server 3. is currently a connection to the server estalished - LiveQueryReconnectingController tries to reconnect after preset timespans. * cleanup * remove _userDisconnected from Client This is not needed any more. Keeping track of this information is now done by LiveQueryReconnectingController. * subscribe(query) modified Wait until client is connected to live-query-server. Fixes d058eb0#r37612749 * Parsequery OR (parse-community#317) * Start adding or First idea for parse-community#213 Works with normal Query and LiveQuery. Missing: - any kind of "UserError handling" - further testing * Update parse_query.dart * Fix for Sembast-API change (parse-community#322) See: parse-community#321 (comment) * added QueryBuilder.copy(QueryBuilder<T> query) (parse-community#320) * added QueryBuilder.copy(QueryBuilder<T> query) Added a implementation to create a new QueryBuilder based on an old one. This is a deep copy. Tested only with basic queries. * added QueryBuilder.copy(QueryBuilder<T> query) Added a implementation to create a new QueryBuilder based on an old one. This is a deep copy. Tested only with basic queries. * ParseLiveList (parse-community#324) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * added ParseACL to parseEncode (parse-community#326) As described in parse-community#325 (comment). Should Fix parse-community#325 * ParseLiveList Performance improvement (parse-community#327) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in parse-community#324 (comment) Requires parse-community#326 * LiveList - Performance Improvement This is the change mentioned in parse-community#324 (comment) Requires parse-community#326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements. * ParseLiveListElementSnapshot added (parse-community#329) * Created ParseLiveList * LiveList & LivListBuilder works * Cleanup * changed to animated list * Fix in dataloading * updated AnimatedList * Finished Animations & cleanup * handle reconnect * Added dispose methodes & renamed classes & cleanup * cleanup * Fix animation duration * added README ParseLiveList section * Initialized example_livelist * Update application_constants.dart * Update .gitignore * Revert "Update .gitignore" This reverts commit 4d8982d. * Update .gitignore * HotFix: object Update from client If the client changes the object. (ParseObject does not get copied) * Implemented simple example * Update README.md * Update main.dart * Update README.md * Update README.md * LiveList - Performance Improvement This is the change mentioned in parse-community#324 (comment) Requires parse-community#326 * LiveList - Performance Improvement This is the change mentioned in parse-community#324 (comment) Requires parse-community#326 * example_livelist: use clientKey * Changed example_livelist query In the README I wrote, you can use a field called "show" to hide elements. * Remove: RemovedItemBuilder duplicade to ChildBuilder * removed firstBuild * ParseLiveListElementSnapshot added * Clear unsaved changes (parse-community#331) * added clearUnsavedChanges An idea for parse-community#318 * moved clearUnsavedChanges to ParseBase * LiveQueryController: connect at init (parse-community#332) Should fix parse-community#330 * LiveList: fixed defaultBuilder (parse-community#333) * Added generics to Query/LiveQuery (parse-community#336) * LiveQuery: fixes list is null (parse-community#334) * Fix: parse-community#341 (parse-community#342) It seems like `subscription.on(LiveQueryEvent.update` reuses a existing object. * Updating LiveQuery for web (parse-community#340) * LiveQuery: fixes list is null * Updating LiveQuery for web parse_live_query_web was outdated compared to parse_live_query. Note: parse_live_query was copied and fixed again for this change. Co-authored-by: Phill Wiggins <phill.wiggins@gmail.com> * Release/1.0.26 - Code formatting, remove lint issues Co-authored-by: mregandla <3104483+mregandla@users.noreply.github.com> Co-authored-by: L. Rommy Arbantas <arbantas@gmail.com> Co-authored-by: James Brinkerhoff <th3brink@gmail.com> Co-authored-by: Michal Baran <baranmichal25@gmail.com> Co-authored-by: Maximilian Fischer <45403027+maaeps@users.noreply.github.com>
As many Apps are build around dynamic lists, where items are added, loaded, removed and reordered,
I decided to implement a 'LiveList' to simplify the implementation.
Have a look in the README for further information.
Please consider merging this new feature.
Cheers!