edmundask/Sprinkle — Issue #6: Missing CSS,JS Content and other issues with HMVC
Author: edmundchaniii
Created: 2012-02-10 23:39:13+00:00
State: open

Hi,

Just wanted to report some intermitant issues we are seeing with Sprinkle.

We are using the latest version of Modular Extensions with CI 2.x and the latest Sprinkle.

When we first started using Sprinkle, things seemed fine. Lately we have been doing heavy css/html/js development (no php code changes) and Sprinkle has become unstable.

It started creating cache files that were empty. It is also having problems picking up routes now too! Very odd. We thought maybe something was wrong with the spacing in our YAML files so we checked them and they are correct, we recreated the config using the PHP files and still had the same issues, so it wasn't the YAML file.

I have some log messages when I was trying to debug what was going on:
-------------------------
INFO - 2012-02-10 15:19:48 --> Sprinkle::_parse_routes - COMPARING >>>> - URI: test KEY: test/(.+)
INFO - 2012-02-10 15:19:48 --> Sprinkle::_parse_routes - *** NO MATCH *** - URI: test KEY: test/(.+)
INFO - 2012-02-10 15:19:48 --> Sprinkle::_parse_routes - COMPARING >>>> - URI: test KEY: (.+) VAL: Array
INFO - 2012-02-10 15:19:48 --> Sprinkle::_parse_routes - MATCHED !! - URI: test KEY: (.+)

So, for some odd reason, it misses matching "test/(:any)" and just matches the "(:any)". It's not just with the "test" module either. Once it starts happening it just continues.

The other programmer working on this project said that when he had just a few assets with only a few routes it was working correctly. As he added more assets it started acting strangely.

We have now moved to External Asset Manager and it is working correctly, so I don't think it is anything in our code, and besides, our PHP code hasn't changed for a long time. Just the CSS/JS.

Also, once Sprinkle starts to mess up, it continues to misbehave. Even if we clear the cache out it will create empty cache files. At some point, it will just start working again!

We have absolutly no idea what is going on with it. Has anyone else reported any odd issues?

I noticed that the disable_processing doesn't really seem to work the way we expected, but I see someone has already opened an issue with it.

There is one more thing that happens and I don't know if you expected the routing to work like this. If there is a specific match of the routes, Sprinkle will continue to look for matches and if there is an "(:any)" route after a matching route, it will overwrite the previously matched routes assets. Should you have a "break;" in the _parse_routes function if it finds a match so the matching stops?

Have you heard of these problems before?

I really like what you have done with Sprinkle, I just wish it worked all the time.

Anyway, I will try to debug it more when I get time, unless you are already aware of these issues and are addressing them.

Thanks in advance,

Edmund Chan