When my client starts up, it subscribes to two small collections that are needed across all routes. All routes will wait on these subs to be ready before rendering.
After upgrading to 1.3.4.1 sometimes this wait takes forever.
I discovered this is due to the fact that the subscribe call on the client never results in a publish call on the server. When the client executes
this.tagsSubscrition = this.subscribe( 'tags', language, store );
…I can see the DDP Message, for example:
["{\"msg\":\"sub\",\"id\":\"hkznizhRAPyjjzRjn\",\"name\":\"tags\",\"params\":[\"en\",\"foobar\"]}"]
But the server, which has:
import { Meteor } from 'meteor/meteor'
Meteor.publish( 'tags', function( language, route ) {
console.log( "Tags ", language, route );
....do stuff....
let tags = Tags.find( { value: { $in: storeTags } }, { fields } );
return tags;
} );
…doesn’t even log the console.log line. So the publish function is not even called. And there is no DDP response message what so ever for sub hkznizhRAPyjjzRjn
And thus, since the app is waiting for this sub to be ready before proceeding, everything stops.
The funny thing is that if I make a code change that causes a hot reload, the subscription works and the app is OK.
But if I then press reload to reload the whole app, it fails again.
I’m kind of stumped at the moment. Any tips anyone??