* removing duplicate translation key
* fixing typos
* extracting quest prerequisite check. adding check for previous quest completion, if required
* fixing (undoing) static change, adding tests
* more typos
* correcting test failures
* honoring quest prerequisites in quest invite API call. updating format of il8n string replacement arg
* no longer using apiError, use translate method instead (msg key was not defined)
* adding @apiError to docblock as requested in issue
* removing checks on quest invite method. small window of opportunity/low risk
* feat(gdpr) only store necessary data for social login
* feat(gdpr) also store email for social users
* fix(social auth): store emails array instead of single email
* fix(emails): do not get name from old facebook info
* add migration to remove extra data from social profiles
* update migration description
* fix tests
* fix typo in migration file
Whenever one is hovering an item from another user, the bonuses of these
items are shown for the own user. So for example if you're a mage and
view a Royal Magus Robe of another mage, the class bonus is 6.
However if you're a warrior, the class bonus displays as 0 because the
attributes grid is always using the stats for the own user even if
viewing equipment of a different user.
I've fixed this by moving the user object to the properties in
attributesGrid and passing the current user from every other Vue file
that's using attributesGrid.
Not sure whether this is the right approach, as I'm no expert in Vue.js
but some testing with the client now shows the correct values.
Signed-off-by: aszlig <aszlig@nix.build>
* fix(challenges): creator should not join challenge automatically
* change behavior on the client side as well
* update tests and fix membercount
* update tests
* fix tests
* Make nav drop-down cleaner/scrollable
* Stop overriding bootstrap navbar
* Move user menu to top bar in mobile
* Restructure/style first drop-down item
* Add ALL the pretty colors
* Apply menu drop-down re-structure to all menu drop-downs
* Replace curly brace lost during rebase
* Replace divs with semantic markup
Replace `<div>` tags with `<nav>`, `<aside>`, and a list for the nav items.
* Use grid layout
Replace flexbox with CSS grid layout. The right-hand side item is now in its own
grid cell, so the text wraps inside its cell at smaller screen widths.
Undo `<nav>` tag.
* Sort CSS
Sort the remaining CSS property declarations.
* Fix right alignment issue in Safari
Remove `justify-self: end` to fix the right alignment issue in Safari.
* Fix vertical alignment in Edge
Add `align-self: center` but only for MS Edge.
Also removed `position: relative` on the wrapper element for the tabs.
As the help item isn't using absolute positioning anymore we don't need
to set relative positioning on the parent element.
The parsing in the redirects module was simply determining the base host
via trimming off everything up to //, so a BASE_URL like
"http://localhost:3000" will result in the host name "localhost:3000",
which isn't a valid host name.
So the problem here is that BASE_URL_HOST is used for determining
whether the client should be redirected and it's comparing the hostname
of the request object with BASE_URL_HOST.
For example if we have the aforementioned BASE_URL, we get to the
following comparison:
req.hostname !== BASE_URL_HOST
Which expands to:
"localhost" !== "localhost:3000"
So in order to get rid of the port number, we now use url.parse() to get
the right host name.
Signed-off-by: aszlig <aszlig@nix.build>
Some tests were disabled in ba799c67f9 and
10567d81e2, because they tend to
frequently time out after 8 seconds.
Instead of disabling the tests (which IMHO is bad, because tests are
there for a reason), we're now increasing the timeout to 30 seconds just
for these tests.
As requested by @paglias, I've marked the timeout functions with a @TODO
comment, so that the slow tests or the functionality they're testing are
eventually refactored.
I also needed to change the arrow notation for the test cases to use the
function keyword, because otherwise we don't have this.timeout()
available.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @paglias
Whenever the client starts up, the following is emitted in the Firefox
console:
Invalid URI. Load of media resource failed.
All candidate resources failed to load. Media load paused.
This happens because the <source/> tags are preinitialized with a src
attribute of "".
So what we're doing instead is initialize the <audio/> element without
any children and add the children as soon as the first audio file needs
to be played. This also has the advantage that we can determine at
runtime whether the browser supports Ogg/Vorbis or whether we should
fall back to MPEG layer 3 so only one source element is needed.
Signed-off-by: aszlig <aszlig@nix.build>