by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jul 10 17:52
    lukewhyte removed as member
  • Jul 10 17:52
    kross-hub removed as member
  • Jul 10 17:51
    ilyavf removed as member
  • Jul 10 17:41
    lukewhyte added as member
  • Jul 10 17:41
    kross-hub added as member
  • Jul 10 17:41
    ilyavf added as member
  • Jul 08 20:02
    cherifGsoul review_requested #5497
  • Jul 08 18:32
    cherifGsoul synchronize #5497
  • Jul 08 18:32

    cherifGsoul on remove-old-ecosystem-packages

    Remove packages from ecosystem (compare)

  • Jul 08 18:26
    cherifGsoul synchronize #5497
  • Jul 08 18:26

    cherifGsoul on remove-old-ecosystem-packages

    Remove test files and es files (compare)

  • Jul 08 18:20
    cherifGsoul opened #5497
  • Jul 08 18:19

    cherifGsoul on remove-old-ecosystem-packages

    Remove can-connect-feathers and… (compare)

  • Jul 07 20:29
  • Jul 06 18:14
    cherifGsoul commented #5495
  • Jul 06 17:15
    cherifGsoul commented #5495
  • Jul 02 19:09

    cherifGsoul on master

    Update Canjs5 minor version in … (compare)

  • Jul 02 18:01

    cherifGsoul on master

    Update dist for release (compare)

  • Jul 02 18:01

    cherifGsoul on v6.5.0

    Update dist for release 6.5.0 (compare)

  • Jul 02 17:46

    cherifGsoul on master

    Bump can-ajax to 2.4.6 (#5496) (compare)

Christopher Oliphant
@RALifeCoach
I am not seeing any of it flash green during load or reload
Kevin Phillips
@phillipskevin
ok, when you say “updating is taking a while” what do you mean exactly?
Christopher Oliphant
@RALifeCoach
var stache1 = new Date().getTime();
                this.playerRowMap.attr({'player': request.player});
var stache2 = new Date().getTime();
pgatour.stacheTime += stache2 - stache1;
at the end of 156 updates the total accumulated time is 1.8 seconds
Kevin Phillips
@phillipskevin
but that’s not noticeable by the user?
Christopher Oliphant
@RALifeCoach
I notice it
Kevin Phillips
@phillipskevin
how?
Christopher Oliphant
@RALifeCoach
and I am on a high end MAC Pro
I haven’t tried it on my phone yet
I can see the delay
2 seconds is a noticeable delay
Kevin Phillips
@phillipskevin
so… you click a button and expect new data to be shown, but it takes time
Christopher Oliphant
@RALifeCoach
that’s right
Kevin Phillips
@phillipskevin
but during that time, the browser isn’t locked… you can scroll, or click other things
Christopher Oliphant
@RALifeCoach
and it is a conversion of existing code that uses jQuery tmpl - that time to reload was .4 seconds
and if I write code to strip down my player object from hundreds of properties to the 30 or so I need, I get close to the .4 second reload time
Kevin Phillips
@phillipskevin
ok, yeah, I’ve been reading some of the earlier conversation
Christopher Oliphant
@RALifeCoach
I have used type: ‘*’ and parseModel - both gave the same improvement - down from 6 seconds to reload
Kevin Phillips
@phillipskevin
so I’m still a little confused
when you notice the delay, what are you expecting to change?
Christopher Oliphant
@RALifeCoach
nothing
Kevin Phillips
@phillipskevin
so… you click a button and expect new data to be shown, but it takes time
Christopher Oliphant
@RALifeCoach
It is actually a very long and complicated page load - the data is loaded once and then reloaded with more details
Kevin Phillips
@phillipskevin
ok
so you’re expecting the entire screen to change?
Christopher Oliphant
@RALifeCoach
I have added the timing code to find out why those two steps were taking so long
I can’t do anything to reduce the initial load
That’s why I am now focusing on the reload
Kevin Phillips
@phillipskevin
sure
Christopher Oliphant
@RALifeCoach
Justin suggested lazy map and I was seeing timings where I wanted them to be
But lazy map is broken with more complex data
I was really hoping someone would fix lazy map
Kevin Phillips
@phillipskevin
is there an open issue?
Christopher Oliphant
@RALifeCoach
yes
Kevin Phillips
@phillipskevin
about LazyMap I mean
Christopher Oliphant
@RALifeCoach
canjs/can-map-lazy#1
Kevin Phillips
@phillipskevin
thanks
Christopher Oliphant
@RALifeCoach
Do you have any new suggestions? Can you schedule a fix to lazy map?
Kevin Phillips
@phillipskevin
if it’s not a DOM update that is causing the problem (which you ruled out using paint flashes) I don’t have any new suggestions right now
Christopher Oliphant
@RALifeCoach
and lazy map?
Kevin Phillips
@phillipskevin
I can take a look at LazyMap
but I can’t promise anything
Christopher Oliphant
@RALifeCoach
it is simple to re-create
Kevin Phillips
@phillipskevin
ok, if you can track down the exception, PRs are always welcome
Christopher Oliphant
@RALifeCoach
I found the exception, but I just don’t know the code well enough to to create a PR
define('can/map/lazy/lazy', [
    'can/util/util',
    'can/map/lazy/bubble',
    'can/map/map_helpers',
    'can/map/map',
    'can/list/list',
    'can/map/lazy/nested_reference'
], function (can, bubble, mapHelpers) {
    can.LazyMap = can.Map.extend({ _bubble: bubble }, {
        setup: function (obj) {
            this.constructor.Map = this.constructor;
            this.constructor.List = can.LazyList;
            this._data = can.extend(can.extend(true, {}, this._setupDefaults() || {}), obj);
            can.cid(this, '.lazyMap');
            this._setupComputedProperties();
            var teardownMapping = obj && mapHelpers.addToMap(obj, this);
            this._nestedReference = new can.NestedReference(this._data);
            if (teardownMapping) {
                teardownMapping();
            }
            can.each(this._data, can.proxy(function (value, prop) {
                this.___set(prop, value);
            }, this));
            this.bind('change', can.proxy(this._changes, this));
        },
        _changes: function (ev, attr, how, newVal, oldVal) {
        },
        _addChild: function (path, newChild, setNewChild) {
            var self = this;
            this._nestedReference.removeChildren(path, function (oldChild, oldChildPath) {
                bubble.remove(self, oldChild);
                if (newChild) {
                    var newChildPath = oldChildPath.replace(path + '.', '');
                    if (path === newChildPath) {
                        oldChild._nestedReference.each(function (obj, path) {
                            newChild._nestedReference.make(path());
                            if (self._bindings) {
                                bubble.add(this, newChild, path());
                            }
                        });
                    } else {
                        var reference = newChild._nestedReference.make(newChildPath);
                        if (self._bindings) {
                            bubble.add(oldChild, newChild, reference());
                        }
                    }
                }
            });
            if (setNewChild) {
                setNewChild();
            }
the line throwing the exception is oldChild._nestedReference.each(_nestedReference is null
oldChild is not a type Constructor, but an Object
Kevin Phillips
@phillipskevin
ok
Christopher Oliphant
@RALifeCoach
@phillipskevin do you have an estimate as to when you can have a look?
Kevin Phillips
@phillipskevin
I am traveling at a client this week so not really.