yii2-infinite-scroll icon indicating copy to clipboard operation
yii2-infinite-scroll copied to clipboard

Extension does not work with version 3 of jquery-infinite-scroll.

Open dmitry-kulikov opened this issue 8 years ago • 7 comments

Recently was released version 3 of https://github.com/metafizzy/infinite-scroll, but this extension is incompatible with it. For reference https://github.com/metafizzy/infinite-scroll/releases/tag/v3.0.0 https://infinite-scroll.com/extras.html#upgrading-from-v2 So now after installing through composer extension will not work. I suggest

  • [ ] restrict version of infinite-scroll in current master and release version 1 of yii2-infinite-scroll;
  • [ ] update code of yii2-infinite-scroll to work with version 3 of infinite-scroll and release version 2 of yii2-infinite-scroll.

As result there will be yii2-infinite-scroll version 1 for legacy projects and yii2-infinite-scroll version 2 for future.

dmitry-kulikov avatar Jul 17 '17 16:07 dmitry-kulikov

For second part

update code of yii2-infinite-scroll to work with version 3 of infinite-scroll and release version 2 of yii2-infinite-scroll

I haven't time right now.

dmitry-kulikov avatar Jul 17 '17 16:07 dmitry-kulikov

Thanks! Don't have any plans so far to update the extension for v3, but will be happy to review and merge pull request if anyone's up for it.

Going to keep the version as it is for now, might do a release at some point later on.

nirvana-msu avatar Jul 17 '17 20:07 nirvana-msu

Unfortunately i got problems with composer while updating:

The "extra.asset-installer-paths" option is deprecated, use the "config.fxp-asset.installer-paths" option
Loading composer repositoriYour requirements could not be resolved to an installable set of packages.                               
  Problem 1
    - nirvana-msu/yii2-infinite-scroll dev-master requires bower-asset/jquery-infinite-scroll 2.* -> no matching package found.
    - nirvana-msu/yii2-infinite-scroll dev-master requires bower-asset/jquery-infinite-scroll 2.* -> no matching package found.
    - Installation request for nirvana-msu/yii2-infinite-scroll dev-master -> satisfiable by nirvana-msu/yii2-infinite-scroll[dev-master].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

I must admit, my project is rather big and uses all this dependencies:

 "require": {
    "php": ">=5.4.0",
    "yiisoft/yii2": "~2.0.11",
    "yiisoft/yii2-authclient": "*",
    "yiisoft/yii2-bootstrap": "*",
    "yiisoft/yii2-imagine": "*",
    "yiisoft/yii2-swiftmailer": "*",
    "yii2tech/ar-softdelete": "*",
    "dektrium/yii2-user": "dev-hb",
    "dektrium/yii2-rbac": "dev-master",
    "thyseus/yii2-audit": "dev-hb",
    "thyseus/yii2-message": "dev-master",
    "thyseus/yii2-sitecontent": "dev-master",
    "thyseus/yii2-files": "dev-master",
    "thyseus/yii2-favorites": "dev-master",
    "thyseus/yii2-banner": "dev-master",
    "thyseus/yii2-word-validator": "0.1.0",
    "kartik-v/yii2-grid": "*",
    "kartik-v/yii2-editable": "*",
    "kartik-v/yii2-datecontrol": "dev-master",
    "kartik-v/yii2-widget-select2": "^2.0",
    "kartik-v/yii2-widgets": "*",
    "kartik-v/yii2-export": "*",
    "cornernote/yii2-linkall": "^1.0",
    "nickcv/yii2-encrypter": "*",
    "nirvana-msu/yii2-infinite-scroll": "1.0.*@dev",
    "marqu3s/yii2-summernote": "^1.0",
    "karakum/yii2-grid": "^1.0",
    "yiidoc/yii2-timeago": "dev-master",
    "kartik-v/yii2-widget-rating": "*",
    "himiklab/yii2-recaptcha-widget" : "*",
    "rmrevin/yii2-minify-view": "~1.14",
    "kartik-v/yii2-checkbox-x": "*",
    "rmrevin/yii2-fontawesome": "~2.17",
    "alexandernst/yii2-device-detect": "^0.0.11",
    "bizley/migration": "*",
    "bower-asset/sweetalert": "1.1.*",
    "bower-asset/jquery.are-you-sure": "^1.9@dev",
    "bower-asset/punycode": "1.3.0",
    "brussens/yii2-maintenance-mode": "*",
    "nterms/yii2-mailqueue": "dev-master",
    "sjaakp/yii2-alphapager": "*",
    "codemix/yii2-localeurls": "^1.4",
    "kmergen/yii2-language-switcher": "*"
  },
  "require-dev": {
    "yiisoft/yii2-debug": "dev-master",
    "yiisoft/yii2-gii": "dev-master",
    "yiisoft/yii2-faker": "dev-master",
    "yiisoft/yii2-shell": "dev-master",
    "codeception/codeception": "~2.2.5",
    "codeception/verify": "dev-master",
    "codeception/specify": "dev-master",
    "iripvanwinkle/codeception-migration": "dev-master"
  },

any idea why this conflict is occuring? Could you upload a version with the old composer.json on packagist.org so i can fix my issue?

thanks a lot !!!

thyseus avatar Jul 25 '17 11:07 thyseus

One more: I think we should hardcode this version string:

https://github.com/metafizzy/infinite-scroll/blob/2.1.0/package.json#L3

?

thyseus avatar Jul 25 '17 11:07 thyseus

@thyseus, if we will return old version with "bower-asset/jquery-infinite-scroll": "*" then composer will install latest available version 3, which is not compatible with this extension (at least for now). I had problem similar to which you described but I hoped that it is just me. I fixed issue for me using the following set of commands:

composer clear-cache
rm -rf vendor/
rm composer.lock
composer update

Result (tested it right now):

composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 9 installs, 0 updates, 0 removals           
  - Installing yiisoft/yii2-composer (2.0.5): Downloading (100%)         
  - Installing bower-asset/jquery (2.2.4): Downloading (100%)         
  - Installing bower-asset/yii2-pjax (v2.0.6): Downloading (100%)         
  - Installing bower-asset/punycode (v1.3.2): Downloading (100%)         
  - Installing bower-asset/jquery.inputmask (3.3.7): Downloading (100%)         
  - Installing cebe/markdown (1.1.2): Downloading (100%)         
  - Installing ezyang/htmlpurifier (v4.9.3): Downloading (100%)         
  - Installing yiisoft/yii2 (2.0.12): Downloading (100%)         
  - Installing bower-asset/jquery-infinite-scroll (2.1.0): Downloading (100%)         
Writing lock file
Generating autoload files

It is not needed to always run all commands listed above, once is enough. I don't see sense in hardcoding of exact 2.1.0, however you can try, if it will simplify installation then it makes sense.

dmitry-kulikov avatar Jul 25 '17 11:07 dmitry-kulikov

@thyseus, there's no point hardcoding version to 2.1.0 in this extension. The extension should be as flexible as possible, allowing the user to pin a specific version if he desires so. In this case extension works with any 2.* version of the plugin, so that's what should be in composer.json. You may pin it more precisely in your composer.json if you require it for some reason.

Let me know if you still have issues after following @dmitry-kulikov's adivce.

nirvana-msu avatar Jul 25 '17 13:07 nirvana-msu

@nirvana-msu the solution of @dmitry-kulikov works fine ! Thanks a lot to both of you !!

thyseus avatar Jul 25 '17 15:07 thyseus