Tema mobile GolemWiki
Go to file
petarpetkovic 413fcc12f6 Fix seen notifications appearing as unseen on mobile
Important note: Make sure to distinguish unseen from unread

One way to reproduce minerva and non-minerva notification inconsistencies:
- Have all your alerts and notices seen. This is displayed with grayed out
number on vector skin or no number at all, if you have (marked as) read.
- Generate new alert or notice (one is enough) in your preferred way.
- You can check minerva and non-minerva at this step. Both should be in sync.
But don't perform any additional action.
- Open the notification popup in some non-minerva skin (I have tried with
vector and monobook), marking it as seen.
- Check the notification icon in minerva. At this point, you should see
notification displayed as unseen.

The reason bug appeared in the first place is that alert/notice timestamps
were mixed up when seen time is obtained. We get seen time from
EchoSeenTime class, where we get smaller of the two timestamps,
using PHP method `min()`. See I27109ee6a248. Then, we get last unread
notification timestamp (which can be either alert or notice), and compare
that to seen time. That leads to the situation when you have only one of
alerts or notices with unread items, smaller timestamp is used for seen,
and most recent for unread, at which point we compare timestamps for
two separate things.

Previous behavior of getting seen timestamps (using max instead of min) would
probably solve the problem, but some other inconsistencies might arrise.
This should prevent any weird and unpredictable behavior to happen.

Bug: T183076
Change-Id: I20bbd6c590086b1c3eccf82983aad59eb3144a7a
2018-01-18 14:18:56 +01:00
dev-scripts Make svg_check.sh verbose 2017-12-11 16:50:56 +01:00
i18n Localisation updates from https://translatewiki.net. 2018-01-17 22:24:47 +01:00
includes Fix seen notifications appearing as unseen on mobile 2018-01-18 14:18:56 +01:00
minerva.less Replace unique color with standard subtle print color 2017-11-30 17:44:25 +00:00
resources Merge "Fix infobox styles to work well with multiple column infobox rows" 2018-01-17 20:04:02 +00:00
screenshots Add skin screenshot for the installer 2017-08-11 15:36:05 -04:00
skinStyles Remove reference to mw-editButtons-pipe-separator, now removed from MW 2018-01-10 14:30:20 -08:00
tests Fix seen notifications appearing as unseen on mobile 2018-01-18 14:18:56 +01:00
.eslintrc.json Add scaffolding for skin 2017-06-01 10:17:24 -07:00
.gitignore .gitignore /docs/ generated by JSDuck 2017-12-11 16:42:39 +01:00
.gitreview Use track=1 instead of defaultbranch=master in .gitreview 2016-10-24 17:30:30 -07:00
.phpcs.xml build: Updating mediawiki/mediawiki-codesniffer to 15.0.0 2017-12-30 04:01:12 +00:00
.rubocop.yml Port browser tests from MobileFrontend to Minerva 2017-07-11 14:11:03 -07:00
.rubocop_todo.yml Update RuboCop Ruby gem 2017-12-06 16:58:29 +01:00
.stylelintrc.json Use json extension for .stylelintrc 2017-08-19 06:46:12 +00:00
.svgo.yml Hygiene: Bring missing SVGO config file from MobileFrontend 2017-08-30 23:14:55 +00:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md 2017-06-07 13:47:45 +04:30
Doxyfile Add MinervaNeue Doxyfile 2017-08-15 15:31:57 +00:00
Gemfile Update RuboCop Ruby gem 2017-12-06 16:58:29 +01:00
Gemfile.lock Update RuboCop Ruby gem 2017-12-06 16:58:29 +01:00
Gruntfile.js build: Organise Gruntfile.js more consistently 2017-10-31 14:41:25 -07:00
MinervaNeue.php Add scaffolding for skin 2017-06-01 10:17:24 -07:00
README.md Use png as fallback for svg on non-supported browsers 2017-12-04 22:13:23 +00:00
Rakefile Port browser tests from MobileFrontend to Minerva 2017-07-11 14:11:03 -07:00
composer.json build: Updating mediawiki/mediawiki-codesniffer to 15.0.0 2017-12-30 04:01:12 +00:00
jsduck.json Load all images during print action 2017-11-21 15:27:36 -08:00
package.json build: Bump run-time dependencies to latest, pin 2017-10-30 23:55:26 +00:00
skin.json Avoid OOUI/download icon nameclash 2018-01-04 20:47:42 +00:00

README.md

MinervaNeue skin

The MinervaNeue skin is a responsive mobile-first skin for your mediawiki instance.

Installation

See https://www.mediawiki.org/wiki/Skin:MinervaNeue

Development

Coding conventions

Please follow the coding conventions of MobileFrontend: https://www.mediawiki.org/wiki/MobileFrontend/Coding_conventions

Config

The following configuration options will apply only to the default mobile skin - Minerva.

$wgMinervaAlwaysShowLanguageButton

Whether to show the language switcher button even if no languages are available for the page.

  • Type: Boolean
  • Default: true

$wgMinervaEnableSiteNotice

Controls whether site notices should be shown. See https://www.mediawiki.org/wiki/Manual:$wgSiteNotice.

  • Type: Boolean
  • Default: false

$wgMinervaApplyKnownTemplateHacks

When enabled and hacks.less exists, hacks.less workarounds are included in stylesheet. These should only be needed for Wikimedia based wikis or wikis using common templates such as Template:Infobox on those wikis.

  • Type: Boolean
  • Default: false

$wgMinervaPageActions

Controls which page actions, if any, are displayed. Allowed: edit, watch, talk, and switch-language.

  • Type: Array
  • Default: ['edit', 'talk', 'watch', 'switch-language']

$wgMinervaCustomLogos

Make the logos configurable.

Currently, copyright, copyright-fallback, copyright-width, and copyright-height elements are supported.

  • copyright is the URL of the logo displayed in the header and footer
  • copyright-fallback is the URL of the fallback logo displayed on non-supported browsers like IE8 or Opera Mini
  • copyright-width (optional) is the width in pixels of the copyright image you want to display
  • copyright-height (optional) is the height in pixels of the copyright image you want to display
  • If the actual copyright dimensions are 200x30, then you may want to set the width and height to 100 and 15 respectively (in order to support retina screens).
  • Note that if -width and -height are not used sysadmin should ensure the image used is appropriately sized (suggested dimensions < 120px width and 18px height).

Example:

[
  'copyright' => '/images/mysite_copyright_logo.png',
  'copyright-width' => 100,
  'copyright-height' => 15,
]

Example with fallback URL:

[
  'copyright' => '/images/mysite_copyright_logo.svg',
  'copyright-fallback' => '/images/mysite_copyright_logo.svg.png',
  'copyright-width' => 100,
  'copyright-height' => 15,
]
  • Type: Array
  • Default: []

$wgMinervaAlwaysShowLanguageButton

Whether to show the language switcher button even if no languages are available for the page.

  • Type: Boolean
  • Default: true