Commit graph

974 commits

Author SHA1 Message Date
Gergő Tisza fec24e02f7 Refactor progressbar & blur handling
This tries to fix a number of related issues:
* the blurred thumbnail was visible for a split-second sometimes
  when switching back to an already-loaded image. (Presumably when
  JS was sluggish enough to take more than 10 ms to execute.) We
  now check whether the promise is pending before showing a placeholder.
  (More generally, a lot of unnecessary logic was executed when paging
  through already loaded images, like displaying the placeholder, so
  this might make the UI a bit more responsive.)
* the blur could get stuck sometimes - I have seen this a few times,
  but have never been able to reproduce it, so I'm only guessing, but
  maybe the timing was really unfortunate, and we switched back less
  than 10 ms before loading finished. We now remove the blur on every
  branch, just to be sure.
* adding a progress handler to a promise might not have any immediate
  effect, so when switching to an image which was loading, the progress
  bar reacted too late. We now store the progress state per thumbnail
  so it is always available immediately.
* the progress would animate from 0 to its actual state whenever we
  navigated to the image. The change on paging is now instant; the
  progress bar only animates when we are looking at it.
* switching quickly back and forthe between a loaded and a loading
  image resulted in the loading image becoming unblurred. This seems
  fixed now, I'm not sure why. Maybe the "skip on non-pending promise"
  logic affects it somehow.

Also removes some unused things / renames some things which were
confusing, and makes an unrelated fix in the image provider, which kept
amassing fail handlers.

Change-Id: I580becff246f197ec1bc65e82acd422620e35578
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/489
2014-05-01 21:09:28 +00:00
Gergő Tisza 88f766bfc3 Reanimate metadata panel when viewer is reopened
Change-Id: I776a27358b2da17a35234aa8cb649a49df4a651d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/548
2014-05-01 12:05:26 +02:00
Gilles Dubuc 5f7af0cede Catch exceptions raised by localStorage write operations
Also adds dependency injection to the metadata panel
for cleaner tests.

Change-Id: I3f062ff88c03ad3baca00461bff486a883776eb1
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/530
2014-05-01 12:00:31 +02:00
jenkins-bot 553a9f142d Merge "Disable JSONP cache breaking in jQuery" 2014-05-01 09:50:32 +00:00
jenkins-bot 8138013421 Merge "Fix Commons tooltip for messages using GRAMMAR such as he" 2014-05-01 08:41:28 +00:00
jenkins-bot 862c2f162d Merge "Fix "use this file" arrow CSS for RTL" 2014-05-01 00:08:30 +00:00
Gergő Tisza 7ecda828fe Fix Commons tooltip for messages using GRAMMAR such as he
Change-Id: I1ec744cda78a5882a089ba0c32eae924559ed4e6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/553
2014-05-01 00:04:09 +00:00
Mark Holmquist 969c5bfda9 Add preferences link after "help"
Reused message from the top-right menu.

Change-Id: Id37712e332bf8fed56edaa9ae8f7e04a2a5a5f42
2014-04-30 22:49:09 +00:00
Gergő Tisza 7a4a8e90ad Disable JSONP cache breaking in jQuery
Change-Id: Ie3b80b0c2f8ce734c6d08418c7b19a7e24c2d5eb
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/547
2014-04-30 22:39:17 +00:00
jenkins-bot 182f1cd6bb Merge "Fix RTL positioning for repo icon" 2014-04-30 20:56:51 +00:00
Gilles Dubuc ad6cc656ce Fix RTL positioning for repo icon
Change-Id: Iad6f0002913fb6361f22a467b08e6489a40adeea
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/512
2014-04-30 20:55:12 +00:00
Translation updater bot de476d17ac Localisation updates from https://translatewiki.net.
Change-Id: If8667c24a6b2b32837271a1b49b549c2e93ccd8e
2014-04-30 20:42:34 +00:00
Gilles Dubuc f09abebbf4 Change the tipsy gravity for the stripe buttons
- this avoids an issue where the arrow wouldn't point to what we
want when near the edge of the screen
- this avoids an RTL issue where the bubble would go outside of
the screen

Bug: 64258
Change-Id: I1cc9683af2743b093a45b19d7142fe7e5e66423f
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/485
2014-04-30 17:01:17 +02:00
Gilles Dubuc acaa7e5afd Fix "use this file" arrow CSS for RTL
Change-Id: I638cd449041693d34a20667a43b7c6ef1c2b443e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/550
2014-04-30 16:28:18 +02:00
Gergő Tisza 6d301dcd12 Do not handle clicks if MediaViewer could not be loaded.
mmv.bootstrap will not try again to handle clicks if it failed
for the first time.

Change-Id: Idd55d7dc6c1388070895f8630bdcd51763a94d86
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/527
Bug: 63801
2014-04-29 16:04:17 -07:00
jenkins-bot 5980cd7322 Merge "Use sinon.js to test the thumbnail fetching" 2014-04-29 21:27:10 +00:00
Gergő Tisza b6953ba06f Use sinon.js to test the thumbnail fetching
Change-Id: Ida6143e29e54d90f26e7888aced1d207b3bfa702
2014-04-29 21:24:12 +00:00
Gilles Dubuc 8ab6ef23c8 Adds new performance metrics
- duration between early click and replayed click
- duration between replayed/post-replay click and first image display
- duration between replayed/post-replay click and first metadata display

Change-Id: Ia308db7580fd89538b9a9c8b0fea89fa2a4c77d2
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/515
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/508
2014-04-29 14:08:49 -07:00
jenkins-bot 8f250b4628 Merge "Enable survey in Dutch" 2014-04-29 20:38:31 +00:00
Gilles Dubuc 0d51b0128d Preload Media Viewer js/css when hovering thumbs
Change-Id: I6f56c9d3d908f1980d2a3b29bea857d828fdaf0e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/430
2014-04-29 13:36:47 -07:00
Translation updater bot e49e55c94d Localisation updates from https://translatewiki.net.
Change-Id: I932018585d4339730ab9f65640a3757d61ec383b
2014-04-29 19:37:43 +00:00
Gergő Tisza bbe3429f38 Enable survey in Dutch
Related core change: Ic5892e29c6e64d0d015e8b6037c402c42ea1c7d5

Change-Id: I5f939f98f8654c3fd90bcfae1b28fec262da8332
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/545
2014-04-29 19:17:25 +00:00
jenkins-bot f3ce1b0aa6 Merge "Fix for jsduck 5.x, rearrange categories" 2014-04-29 18:35:22 +00:00
Mark Holmquist d137689b34 Fix for jsduck 5.x, rearrange categories
Should make for a nicer documentation experience.

Change-Id: I935cbab2b06c8cf482d3987905d2257d09bea3a3
2014-04-29 11:32:12 -07:00
jenkins-bot fa8cf649bf Merge "Make progress bar less erratic" 2014-04-29 08:00:11 +00:00
jenkins-bot a63f8b4666 Merge "Enable survey in Spanish" 2014-04-29 07:34:58 +00:00
jenkins-bot b06020fa26 Merge "Adjust invite animation for Media Viewer" 2014-04-29 07:30:55 +00:00
jenkins-bot 8b7cfd12d5 Merge "Handle window.localStorage === null case correctly." 2014-04-29 07:10:33 +00:00
Gergő Tisza 3be5195ed2 Ensure click playback happens at the right time
The code to replay clicks and clean up the handler was called after
processing each thumbnail, instead of just once at the end.
This might have caused many subtle issues such as clicks on any
but the first image not replaying correctly; more problematically,
of there were no MediaViewer-compatible thumbs, the handler was
never cleaned up and the clicks were never replayed.

Besides fixing that, this commit also adds a try..finally wrapper
so that the click replaying is not broken even if there is an error
in the thumb processing code. This might or might not be a good
idea. The internets say that try..finally without a catch causes
errors in IE8, but only if it is not wrapped in another try..catch,
so we are probably fine. (Adding a catch which just rethrows the
error would be an alternative, but it messes up stack traces.)

Change-Id: I2f645762103274c92c15a0d4b595d18d93b08415
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/497
Bug: 64345
2014-04-29 00:27:31 +00:00
Gergő Tisza 184067eb39 Enable survey in Spanish
Related core change: Ibd1a4b14faa11fd764fe078880355d7184b698bf

Change-Id: If44279fff1aad3fb68a01d167ef5cce69dbb3b34
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/525
2014-04-28 22:38:50 +00:00
Gergő Tisza a56759d8fe Handle window.localStorage === null case correctly.
Change-Id: I49ddf45093daee4988fb7f3b481fb35bfaceb152
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/521
Bug: 64525
2014-04-28 22:33:02 +00:00
Translation updater bot 2b0991a049 Localisation updates from https://translatewiki.net.
Change-Id: I1bcef2c7bfbf75e5284b576b3864ea8313e33dc5
2014-04-28 20:14:25 +00:00
Pau Giner 2ac50f49bf Adjust invite animation for Media Viewer
With latest refactorings, the animatin looked like a glitch.
The position of the panel has been adjusted to (a) make the initial
position the same as shown while the progress bar for better continuity,
and (b) make the move more noticeable by increasing the distance the
panel moves.

To test, clear the local storage variable mmv.hasOpenedMetadata

Change-Id: Ie3ed29826fa15bf4c6b38f0fc8bde4bd84563fb9
2014-04-28 10:28:18 -07:00
Translation updater bot be508bbcbf Localisation updates from https://translatewiki.net.
Change-Id: Iaa0db8111277f27913e531d2c87eb21e578fda46
2014-04-27 20:32:33 +00:00
Translation updater bot 201ee866ce Localisation updates from https://translatewiki.net.
Change-Id: Id7cf602f8a6e5bc6534d4ecacabcb019fd4c6da1
2014-04-26 19:25:33 +00:00
jenkins-bot a0d9e46ef6 Merge "Fix Chrome bug where popstate could still reset scroll position" 2014-04-25 20:55:12 +00:00
Translation updater bot 56d3381c91 Localisation updates from https://translatewiki.net.
Change-Id: I25326cb5917914dd4235005fd3ceb3acc6f35c57
2014-04-25 19:43:01 +00:00
jenkins-bot 3156c9684c Merge "Images for zoom" 2014-04-25 14:45:39 +00:00
Pau Giner b7420ae82a Images for zoom
Images for the Zoom control of Media Viewer.
SVGs for RTL and RTL languages included.

Change-Id: I65cc6d9921a40d26307c294fb08ccfc42b1a9068
2014-04-24 17:43:15 -07:00
Gergő Tisza 7ee0cf3fcd Make progress bar less erratic
Solves the bug, and makes the code slightly cleaner, but it
still does not inspire confidence (e.g. use of viewer flags
by a bunch of callbacks that can run for a background image).
Also, the tests seem underspecified.

I'll follow up with some more refactoring.

Change-Id: I2557abcec173691ffce21185bf1a939f1644ba8c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/489
2014-04-24 23:55:26 +00:00
jenkins-bot 2ed46d3c06 Merge "User custom user agent to identify production test runs" 2014-04-24 23:14:16 +00:00
Translation updater bot 965772f589 Localisation updates from https://translatewiki.net.
Change-Id: I8b99b72b8332d5cf09671f67fa86a469600bbd34
2014-04-24 19:36:34 +00:00
Cmcmahon 7b0cef0fe8 Merge "Set correct license link location in E2E test" 2014-04-24 18:18:32 +00:00
Gilles Dubuc e4a9b6c62c User custom user agent to identify production test runs
It's important that when we generate the graphs based on
EventLogging data, we have a foolproof way to filter out
local runs that happened during development.

Change-Id: Ifc65d3b4bfb96946a8e8d59d080a6c5ee6552533
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/509
2014-04-24 16:52:13 +02:00
Gilles Dubuc 353ce92d79 Set correct license link location in E2E test
* Remove login since it's not longer needed
* Point to a new smaller test page instead of Lightbox_demo
 which should make the tests run much faster
* Tweak selenium scroll workaround which seems to be speed-dependant

Change-Id: I247ae6a5044ecc93b6f3839f1b9ed955b488b5a7
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/475
2014-04-24 15:50:06 +02:00
jenkins-bot 476a0be245 Merge "Skip userinfo request if no message depends on the gender." 2014-04-23 23:47:34 +00:00
jenkins-bot fe7a64fbcc Merge "Make License.isCc() really return booleans" 2014-04-23 22:59:25 +00:00
Gergő Tisza 846019a08a Make License.isCc() really return booleans
Before it returned undefined if the license had no internal name,
which caused unexpected behavior when used with $.toggle().

Change-Id: I1dcee6c999982fde47f9d388381fc670d81a6c5d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/494
2014-04-23 20:30:03 +00:00
Translation updater bot dd850f969f Localisation updates from https://translatewiki.net.
Change-Id: I3738dc58d15e46e0f64915fe0e0fb0691aafd414
2014-04-23 19:55:56 +00:00
jenkins-bot cb95413903 Merge "Show caption on thumbnails" 2014-04-23 01:37:19 +00:00