Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating slingshot dependency? (haven't tested compatibility) #2

Open
tcastelli opened this issue Oct 10, 2015 · 19 comments
Open

Updating slingshot dependency? (haven't tested compatibility) #2

tcastelli opened this issue Oct 10, 2015 · 19 comments

Comments

@tcastelli
Copy link

Whenever updating meteor, this message appears from this package

Newer versions of the following indirect dependencies are available:

  • edgee:slingshot 0.6.2 (0.7.1 is available)
@jimmiebtlr
Copy link
Contributor

Published the update to 0.0.6-rc.1, would you mind testing.

@tcastelli
Copy link
Author

Thanks, I will try it soon. Have been playing around and managed to make a simple image upload work, however, I am switching to collectionFS, since I need old browsers support and also getting extra support for different acl thant public-read.

Good work anyway! :)

@tcastelli
Copy link
Author

Oops! thought that the repo was containing the 0.0.6-rc.1 version, but seems like it still has 0.0.5 code, where can I find the last to try it? (after all,I may still use this for another project where i can discard old browsers)

@jimmiebtlr
Copy link
Contributor

Change to it via
'meteor add elevatedevdesign:autoform-slingshot@0.0.6-rc.1'

On Thu, Oct 15, 2015 at 5:38 PM, tcastelli notifications@github.com wrote:

Oops! thought that the repo was containing the 0.0.6-rc.1 version, but
seems like it still has 0.0.5 code, where can I find the last to try it?
(after all,I may still use this for another project where i can discard old
browsers)


Reply to this email directly or view it on GitHub
#2 (comment)
.

Thank you,
Jimmie Butler

@tcastelli
Copy link
Author

Ok thanks gonna try it now. Is it replaceOnChange option working on this version? (does it work with a true/false value?)

@jimmiebtlr
Copy link
Contributor

If it wasn't working previously, the option to pass it in probably still doesn't.

What are you trying to do with it?

@tcastelli
Copy link
Author

What I'm trying is that whenever i upload a new image on a document, the previous image that was uploaded gets deleted from s3. Is that what replaceOnChange should do?

@tcastelli
Copy link
Author

Btw, after a quick test I get this error on console after selecting an image with new version (however, the image upload works well with a single image update at least).
Update: It could also be related with this message on the console

SimpleSchema.clean: filtered out value that would have affected key "picture.uploader", which is not allowed by the schema
Error: form is undefined
AutoForm.getFormSchema@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:2957:3
autoFormGetValidationContext@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:2523:12
.valueOut@http://localhost:3000/packages/elevatedevdesign_autoform-slingshot.js?0443ac3b09f6a862e9941951ac97216fdc67b114:543:29
autoFormGetInputValue@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:2378:11
getFlatDocOfFieldValues/<@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:1632:26
.each@http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:410:14
jQuery.prototype.each@http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357:162:10
getFlatDocOfFieldValues@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:1631:3
autoFormGetFormValues@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:2181:13
autoFormRegFormCallback@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:6675:16
FormPreserve.prototype._retrieveRegisteredDocuments/<@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:774:19
_.forEach@http://localhost:3000/packages/underscore.js?46eaedbdeb6e71c82af1b16f51c7da4127d6f285:157:13
FormPreserve.prototype._retrieveRegisteredDocuments@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:773:3
formPreserveConstructor/<@http://localhost:3000/packages/aldeed_autoform.js?716c8426efec6979606ef90389457082fbe449aa:732:17
pollProviders@http://localhost:3000/packages/reload.js?234f78ebae6ce49cbb0da4705afaec398706283b:175:18
Reload._migrate@http://localhost:3000/packages/reload.js?234f78ebae6ce49cbb0da4705afaec398706283b:193:23
Reload._reload/tryReload/<@http://localhost:3000/packages/reload.js?234f78ebae6ce49cbb0da4705afaec398706283b:247:9
_.delay/<@http://localhost:3000/packages/underscore.js?46eaedbdeb6e71c82af1b16f51c7da4127d6f285:717:42
_.delay@http://localhost:3000/packages/underscore.js?46eaedbdeb6e71c82af1b16f51c7da4127d6f285:717:12
_.defer@http://localhost:3000/packages/underscore.js?46eaedbdeb6e71c82af1b16f51c7da4127d6f285:723:12
Reload._reload/tryReload@http://localhost:3000/packages/reload.js?234f78ebae6ce49cbb0da4705afaec398706283b:246:33
Reload._reload@http://localhost:3000/packages/reload.js?234f78ebae6ce49cbb0da4705afaec398706283b:253:3
Autoupdate._retrySubscription/<.onReady/checkNewVersionDocument@http://localhost:3000/packages/autoupdate.js?764e166739a4aeba204926326b786baa4292b65d:175:15
LocalCollection._observeFromObserveChanges/observeChangesCallbacks.changed@http://localhost:3000/packages/minimongo.js?cdf1a26cf7719fa9471a8017c3defd5aea812727:3689:1
LocalCollection._CachingChangeObserver/self.applyChange.changed@http://localhost:3000/packages/minimongo.js?cdf1a26cf7719fa9471a8017c3defd5aea812727:3593:1
.observeChanges/wrapCallback/</<@http://localhost:3000/packages/minimongo.js?cdf1a26cf7719fa9471a8017c3defd5aea812727:407:11
.runTask@http://localhost:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:685:11
.flush@http://localhost:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:713:5
.drain@http://localhost:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:721:7
LocalCollection.prototype.resumeObservers@http://localhost:3000/packages/minimongo.js?cdf1a26cf7719fa9471a8017c3defd5aea812727:1085:3
Mongo.Collection/ok<.endUpdate@http://localhost:3000/packages/mongo.js?5dcfbae63393ea63b330ea0c46d7b41eb1b4c3ae:277:9
.registerStore/</store[method]@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:3555:27
._livedata_data/<@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:4351:43
_.forEach@http://localhost:3000/packages/underscore.js?46eaedbdeb6e71c82af1b16f51c7da4127d6f285:157:13
._livedata_data@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:4351:7
Meteor.connection._livedata_data@http://localhost:3000/packages/meteorhacks_fast-render.js?48906a970bc3945192d2c30221a9cf2f2779f823:428:10
Connection/onMessage@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:3361:7
._launchConnection/self.socket.onmessage/<@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2734:11
_.forEach@http://localhost:3000/packages/underscore.js?46eaedbdeb6e71c82af1b16f51c7da4127d6f285:149:7
._launchConnection/self.socket.onmessage@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2733:9
REventTarget.prototype.dispatchEvent@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:173:9
SockJS.prototype._dispatchMessage@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1158:5
SockJS.prototype._didMessage@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1216:13
SockJS.websocket/that.ws.onmessage@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1363:9
SockJS.websocket@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1362:5
SockJS.prototype._try_next_protocol@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1283:31
SockJS.prototype._didClose@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1191:13
SockJS/that._ir.onfinish@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1117:13
EventEmitter.prototype.emit@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:237:9
InfoReceiver.prototype.doXhr/xo.onfinish@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2106:13
EventEmitter.prototype.emit@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:237:9
AbstractXHRObject.prototype._start/that.xhr.onreadystatechange@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:934:17
AbstractXHRObject.prototype._start@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:910:5
utils.XHRLocalObject/<@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:974:1
utils.delay@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:485:12
utils.XHRLocalObject@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:973:5
InfoReceiver.prototype.doXhr@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2089:14
InfoReceiver/<@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2076:28
utils.delay@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:485:12
InfoReceiver@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2076:5
createInfoReceiver@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2164:1
SockJS@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:1105:16
._launchConnection@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2725:19
._retryNow@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:3020:5
.withValue@http://localhost:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:971:17
withoutInvocation/<@http://localhost:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:428:26
Meteor.bindEnvironment/<@http://localhost:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:999:17
.setTimeout@http://localhost:3000/packages/meteor.js?9730f4ff059088b3f7f14c0672d155218a1802d4:451:12
.retryLater@http://localhost:3000/packages/retry.js?acb5f93adc31a57311c18af4ce21068297f00f37:88:23
._retryLater@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2993:17
._lostConnection@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2976:5
._launchConnection/self.connectionTimer<@http://localhost:3000/packages/ddp-client.js?250b63e6c919c5383a0511ee4efbf42bb70a650f:2752:1

@jimmiebtlr
Copy link
Contributor

Ok, thanks for giving it a try. I'll take a closer look.

@jimmiebtlr
Copy link
Contributor

Also, that isn't what replaceOnChange does. I think for what you're trying to do, the best option will be to have an on remove hook that you can do what you want with.

Replace on change will replace existing contents of the field with the contents entered in the file input field.

@jimmiebtlr
Copy link
Contributor

It's mostly for the single file mode, but may be useful in some cases for the multiple file mode.

@tcastelli
Copy link
Author

ok thanks! btw is it possible to set metaContext for a certain image? I have tried in onBeforeUpload but not sure how are you setting it

@jimmiebtlr
Copy link
Contributor

Any chance you could be using the autoform version affected by

Meteor-Community-Packages/meteor-autoform#790

I'm not able to reproduce the issue with form not defined.

@jimmiebtlr
Copy link
Contributor

I'm not sure what the best way to set metaContext is going to be, open to thoughts or a pull request on that. Just released 0.0.6 with an onRemove (any remove, doesn't track if that value is saved currently).

@tcastelli
Copy link
Author

Thanks for the onRemove callBack, I will try to place a s3.deleteObject there so there's no leftovers on the cloud :)

Will try to update autoform version, had other trouble with reactive getfieldValue that's why i was stuck in 5.4.0.
As for the metaContext, I think the best way to include it will be placing it inside the schema (inside the directive objects or directly inside autoform object if we want it to be the same for all directives) like it is done on many autoform packages , which allows to define helpers that get updated from template)

{{> aFquickField name="file" metaContext=metaHelper }}

or this could also be placed inside schema definition

 directives: [
                    {
                        name: "avatar-thumbnail",
                        metaContext:{
                            albumId =  Albums.findOne(owner:Meteor.userId())
                        }
                        onBeforeUpload: function(file, callback) {
                            var settings = {
                                width: 100,
                                height: 100,
                                cropSquare: true
                            };
                            Resizer.resize( file, settings, callback );
                        }
                    },{
                        name: 'avatar-fullsize',
                        metaContext:{
                            albumId =  Albums.findOne(owner:Meteor.userId())
                        }

                    }
                ]

and then

afSlingshot.FileRecord.prototype._upload = function(file, directive, callback){
  var self = this;
  var uploader = new Slingshot.Upload(directive.name,directive.metaContext.);
.....

What do you think about it? Gonna try 0.0.6 this afternoon, i'll update with more info soon

@tcastelli
Copy link
Author

Tried to update autoform and now the error that i get is

rror: too much recursion
EJSON.clone@http://localhost:3000/packages/ejson.js?5e95dd4b5971d96cb2d3287c54b14d9002f83ab7:491:1
EJSON.clone/<@http://localhost:3000/packages/ejson.js?5e95dd4b5971d96cb2d3287c54b14d9002f83ab7:529:16
_.forEach@http://localhost:3000/packages/underscore.js?46eaedbdeb6e71c82af1b16f51c7da4127d6f285:157:13
EJSON.clone@http://localhost:3000/packages/ejson.js?5e95dd4b5971d96cb2d3287c54b14d9002f83ab7:528:3
EJSON.clone@http://localhost:3000/packages/ejson.js?5e95dd4b5971d96cb2d3287c54b14d9002f83ab7:515:1
EJSON.clone/<@http://localhost:3000/packages/ejson.js?5e95dd4b5971d96cb2d3287c54b14d9002f83ab7:529:16
_.forEach@http://localhost:3000/packages/underscore.js?46eaedbdeb6e71c82af1b16f51c7da4127d6f285:157:13
EJSON.clone@http://localhost:3000/packages
....

after submitting the form.

However it may be an autoform bug, since also now the form doesn't get the right values of the rest of the document(only the picture is correctly displayed). This is a simple reproduction of the type of document im displaying (with selectize components)

{{#autoForm id="updateSettings" resetOnSuccess=false collection="Meteor.users" doc=currentUser type="method" meteormethod="updateSettings"}}

                        {{> afQuickField name="profile.language" id="languageselect" value=currentUser.profile.language options=languageOptions }}                  
                        {{> afQuickField name="profile.timezone" id="timezoneselect" value=currentUser.profile.timezone options='allowed' }}
....
                         {{> afQuickField label=false name="profile.picture" }}                  
                        <button type="submit" class="full-width btn-large">{{mf 'update' 'Update'}}</button>
{{/autoForm}}

@kukagg
Copy link

kukagg commented Feb 3, 2016

@tcastelli , Hey! Did you solve it?

@tcastelli
Copy link
Author

Hi, actually moved away from the problem by changing to another strategy. Not sure if it was because of my autoform version 5.4.0 (which is the only one that works for me)

@jimmiebtlr
Copy link
Contributor

Could you provide a git repo with a reproduction? Using version 5.4.0 works fine for me.

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

No branches or pull requests

3 participants