#10349 closed defect (bug) (fixed)
No plugin update messages displayed in trunk
Reported by: |
|
Owned by: |
|
---|---|---|---|
Milestone: | 2.9 | Priority: | normal |
Severity: | normal | Version: | 2.9 |
Component: | Upgrade/Install | Keywords: | has-patch needs-testing |
Focuses: | Cc: |
Description
I am using 2.9-rare version and there is no message about new plugin yet even if I know that many plugins were updated. It would be fine to allow updating for trunk version to test plugins with this version and use automatical upgrade...
Attachments (1)
Change History (22)
#2
@
16 years ago
- Summary changed from Plugin update does not work to Plugin update does not work in trunk
#3
@
16 years ago
- Component changed from Plugins to Upgrade/Install
- Owner set to dd32
- Summary changed from Plugin update does not work in trunk to No plugin update messages displayed in trunk
#4
@
16 years ago
I use many plugins for testing purposes and no one displays update message (for example Changelogger, I have 1.0.0.1 version, and there were two upgrades 1.0.0.5 and 1.1.0). On all my installations of version 2.8 were these notices displayed, but on my localhost no and there is still oldest version without message. Automatical upgrade of plugin stopped about two weeks ago and no plugin can be automatically upgraded. And the same was with old version Wordpress (there was official 2.7 and I used 2.8-trunk and until 2.8-RC was released, no update message appears).
Plugin Browser and Installation of new plugins works without problem. Only plugin can not be automatically updated because of no message when using trunk from SVN.
#5
@
16 years ago
I have a feeling this is due to the timeouts on the API requests.
pavelevap: Are you on a slow(er) connection?
All the update API requests time out after 3 seconds.. So that could be it, open wp-includes/update.php
and search for 'timeout' => 3,
try changing that to 30, if that works its just due to your slow connection.
I'd suggest increasing that timeout to at least 5-8seconds.. its usually run via a cron, so the timeout isnt a huge problem.. Could be increased to a higher value if its a ajax request, and a lower timeout if its being run as a realtime process maybe?
#6
@
16 years ago
Great, thank you! Increasing timeout helped me very much. I use slower connection based on mobile CDMA technology, which is a little slower...
#7
@
16 years ago
- Status changed from new to assigned
I might knock up a patch which uses a increased timeout on cron-based requests... and that upon a timeout, it doesnt wipe out the update details....
#8
@
16 years ago
- Keywords has-patch added
attachment 10439.diff added
- Typo in patch filename, But its for this ticket.
#11
@
16 years ago
- Resolution fixed deleted
- Status changed from closed to reopened
Does not work for me. Only sometimes... When I come after some days, there is 6 plugins notified with update messagge. As soon as I update one of them, all others messagges disappear. When I activate any new plugin, messagges appear again, but after update of next plugin, all others disappear once again...
#12
@
16 years ago
As soon as I update one of them, all others messagges disappear.
Yes, That would be expected, As after you upgrade a plugin, WordPress requires a new API request to be made.. If that times out, Then you will have no update messages visible until the next cron-made request IF the inline cron times out.
When I activate any new plugin, messagges appear again, but after update of next plugin, all others disappear once again...
Because, by that time, The Cron request has completed (Remember, Its probably taking about 10 seconds), in the time between, those on slow connections will have no feedback.
It'd be possible to simply remove the plugin from the update-list, but that'll require some new API on the transients (Specifically, Finding out the age of a transient, so that upgrading a plugin doesnt end up with a forever-extending cache timeout)
#13
@
16 years ago
Thank you very much for clarification. It would be very helpfull to make this work...
#14
@
16 years ago
You could add this to a plugin or your themes functions.php file in the meantime: (I'd nearly suggest Plugin material)
add_filer('http_request_timeout', '_30sec_http_timeout'); function _30sec_http_timeout($timeout) { return ($timeout > 30) ? $timeout : 30; //Return 30 or greater }
#15
@
16 years ago
I tried to add this to functions.php and also to Hello Dolly plugin, but does not work for me (now does not work also after activating new plugin)...
#16
@
16 years ago
- Resolution set to fixed
- Status changed from reopened to closed
Sorry a typo:
add_filter('http_request_timeout', '_30sec_http_timeout'); function _30sec_http_timeout($timeout) { return ($timeout > 30) ? $timeout : 30; //Return 30 or greater }
('add_filter' not 'add_filer')
(now does not work also after activating new plugin).
Like i said, Thats just you're slow connection, And due to the availability of the above function, I'm going to reclose this as fixed, Not many installs are hosted on outdated slow links anymore, and the increased timeout for non-realtime requests is all i think you can hope for at the present time.
#17
@
16 years ago
Yes, I noticed typo before, this function does not work for me also with corrected typo... Without this fuction I could see messagges for a while after activating new plugin, but with this function I can not see plugin updates in no case...
#18
@
16 years ago
this function does not work for me also with corrected typo
Oh 'Duh! I was looking at the defaults.. God i hate the filters in that file, none of them make sense... (ok, some do)
this should:
add_filter('http_request_args', '_30sec_http_timeout'); function _30sec_http_timeout($r) { if ( $r['timeout'] < 30 ) $r['timeout'] = 30; return $r; }
Example of a plugin thats not working?
Does the Plugin Browser work? (Or throw an error)
Did it work in a previous version? (If so, Which)