Commit Graph

2967 Commits

Author SHA1 Message Date
montlikadani
6676a39447 Updated hungarian locale files to the latest version (#1632)
* Update help_hu.yml

* Update messages_hu.yml
2018-09-09 15:42:18 +02:00
ljacqu
b22f26822b
#1627 Replace BCryptService with Maven dependency (#1629)
* #1627 Replace BCryptService with Maven dependency
- Remove BCryptService in favor of a better BCrypt implementation (Maven dependency)
- Introduce BCryptHasher wrapping the dependency with more suitable methods
- Fix inaccurate details about salt length in docu annotation: for BCrypt it's always 22 chars
- Change phpBB hash to produce 2y hashes instead of 2a

* #1627 Use UTF-8 encoding when (dis)assembling Strings

* #1627 Small test additions
2018-09-03 23:13:48 +02:00
Alan Gomes
d39562d624 Create permission to bypass bungeecord server teleportation (#1626) 2018-09-02 13:01:04 +02:00
Alan Gomes
4be174f083 Add PostgreSQL support (#1620)
* Add PostgreSQL support

* Fix code issues and create integration tests

* Fix identation

* Test Postgres data source in postgres integration test

* Relocated the postgres driver
2018-09-02 12:12:35 +02:00
ljacqu
f79c364f84 Minor fixes as reported by CodeClimate 2018-09-01 09:17:42 +02:00
ljacqu
58e04556ee Checkstyle: Add 'WhitespaceAfter' check, fix some violations 2018-09-01 08:38:14 +02:00
Gabriele C
e2e2c6bb79 Inform only online servers 2018-08-30 12:39:01 +02:00
Gabriele C
91063ce199 Actually check if datasource is cached 2018-08-30 12:18:19 +02:00
Gabriele C
75e7a11d0d Change how messaging actually works, support broadcast messages 2018-08-30 11:47:25 +02:00
Gabriele C
e0d8caa95b Add debug message for #1622 2018-08-27 15:04:37 +02:00
Gabriele C
22623aac85 Fix unit test 2018-08-26 19:23:15 +02:00
Gabriele C
da7e7edc37
Fix messaging [WIP] (#1614)
* Fix messaging [WIP]

* Make codeclimate happy

* Codeclimate, pls

* got it, i hope

* Improvements

* Remove duplicated checks, other improvements, make login/logout broadcasts

* Optimize project imports

* Make codeclimate happy again
2018-08-26 15:29:47 +02:00
Gabriele C
adb3c06f51 Fix #1617
Dinstinct invalid countries ("--") from localhost addresses ("LOCALHOST"), allow localhost access by default.
2018-08-22 16:56:14 +02:00
iStrqfingRD
bbcc9d5fcc Update messages_es.yml (#1608) 2018-07-28 21:10:42 +02:00
DNx
f0cd775d7c Pass the ip check into player join event
if AuthMe still cannot get the ip address.
2018-07-22 13:03:58 +07:00
RatchetCinemaESP
65ca3c10a4
Update messages_es.yml
Translated TWO_FACTOR messages.
2018-07-19 21:48:00 +02:00
Melih Budak
8c88136812 Update messages_tr.yml (#1604)
Fixed a very small wrong. And it was checked again.
2018-07-19 21:14:11 +02:00
Melih Budak
f00bf2e8b5 Update message_tr.yml (#1603) 2018-07-19 09:41:58 +02:00
ljacqu
c420255ad7
Merge pull request #1547 from AuthMe/ip-check
[Discussion] Skip IP check for API registration
2018-07-16 19:24:14 +02:00
Gabriele C
b1c322c60c
Add #1591 debug code (#1599) 2018-07-16 14:49:35 +02:00
Gabriele C
38711a9913 1.13 compatible 2018-07-16 13:57:14 +02:00
Gabriele C
1a1ba31bf1
Merge branch 'master' into ip-check 2018-07-16 13:35:03 +02:00
DNx
6a219c3fc4 this one not get committed 2018-07-08 02:26:50 +07:00
DNx
1fd4f0e1a7 Improve previous commit 2018-07-08 02:24:58 +07:00
DNx
b741c0da14 Command with 0 delay should be run immediately 2018-07-07 23:39:59 +07:00
DNx
2e5fdb4ca0 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into delay-commands-event 2018-07-07 21:03:16 +07:00
DNx
1d118afd17 Fix #1587
AsyncPlayerPreLoginEvent#getAddress() sometimes return null if it unresolved.
In that case we should pass it to PlayerLoginEvent to do the join verification process.
2018-07-07 20:54:38 +07:00
Pavel Leshchev
4c640fddd9 Add come translations (#1596) 2018-07-04 02:05:51 +02:00
games647
0227cb3f74 Add IPv6 support for isLocal checks (#1592)
* Add IPv6 support for isLocal checks

* Replace magic values like 127.0.0.1 and use our utility
* Support for IPv6 local adresses in IPv6 only or dual stack environments
    * Loopback [::1]
    * Site-Local fc00::/7
    * Link-local fe80::/10

* Introduce extra method for loopback addresses

* Use public IP for passMaxLogin check

* Use non-local IP addresses in test after change in verification
2018-07-04 02:05:17 +02:00
games647
0a3b66bc7d
Start a reading instance after downloading (Related #1581) 2018-06-03 13:34:51 +02:00
games647
135e323358
Set the downloading flag in order to mark it as successful (Related #1581) 2018-06-03 09:47:52 +02:00
games647
f39141ed53
Fix race condition starting multiple database downloads (Related #1581) 2018-06-02 21:50:43 +02:00
games647
5058747b10
Download database only if there is a newer one uploaded (Fixes #1581) 2018-06-02 21:50:02 +02:00
ljacqu
fecd79fd28
Merge pull request #1577 from AuthMe/1417-chat-before-login-with-permission
#1417 Add permission node to allow chat before login
2018-05-22 19:51:15 +02:00
ljacqu
b9943675ba #1557 Disallow player from using /email setpassword more than once 2018-05-21 13:29:34 +02:00
ljacqu
768ef9179a Update datasource columns version
- Fixes #1551 Bad closing of resources in case of an exception
- Facilitates initialization of SQL handler implementation
2018-05-21 13:07:13 +02:00
ljacqu
68b896cfc3 Move salt column configuration to the other column configs 2018-05-21 09:10:27 +02:00
ljacqu
c4b02d74b7 Fix generic type in PlayerAuth matcher 2018-05-21 09:01:00 +02:00
ljacqu
6142042996 #1417 Add permission node to allow chat before login 2018-05-21 08:45:18 +02:00
ljacqu
8e4288f911 Minor code householding 2018-05-20 13:10:26 +02:00
RikoDEV
80dce1a92f Update messages_pl.yml (#1571)
* Update messages_pl.yml
2018-05-14 21:08:20 +02:00
Maxetto
3c0caf2ac3
[Messages_IT] Add 2FA messages 2018-05-14 00:53:46 +02:00
rafael59r2
54feb1097e Update messages_pt.yml (#1570) 2018-05-13 22:56:25 +02:00
ljacqu
c96e28f726 Add debug logging for teleports (relates to #1521) 2018-05-13 22:52:41 +02:00
ljacqu
b5c028301b Merge master into '1141-optional-additional-2fa-auth' 2018-05-13 18:54:19 +02:00
ljacqu
729c567dd5 #1141 Check that user is logged in before changing TOTP key
- Use PlayerCache to check that user is logged in where appropriate
- Add log statements
2018-05-13 18:49:40 +02:00
rafael59r2
4f9a869a46 Translation messages_pt.yml (#1569) 2018-05-13 15:15:01 +02:00
ljacqu
6f2f7a73af Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth 2018-05-01 22:49:23 +02:00
ljacqu
1e3ed795c1 #1141 2FA implementation fixes
- Merge TotpService into TotpAuthenticator
- Add missing tests
- Migrate old 2fa enabled key to new one
2018-05-01 22:49:07 +02:00
ljacqu
d55b4bb3b5 #1561 Fix timing attacks by comparing hashes in constant time (#1563)
* #1561 Fix timing attacks by comparing hashes in constant time

* #1561 Fix timing attacks in phpBB fallback hashes
- As noted by @games647
2018-04-22 21:27:38 +02:00
ljacqu
ecdcaf2479 Fix failing tests 2018-04-22 13:26:51 +02:00
ljacqu
cff456c285 Help message updater: specify the name of the updated file 2018-04-22 12:51:41 +02:00
ljacqu
ecaffbabfc Small cleanups / changes amassed over time
- Small javadoc fixes
- Simplifications
- Move logException method from StringUtils to ExceptionUtils
2018-04-22 12:45:34 +02:00
ljacqu
29ac3a7022 #1141 Fixes to TOTP implementation
- Revert back to SHA1 as HMAC hash function so that it works with Google authenticator
- Add message to user to tell him to run /2fa confirm to add a TOTP code
2018-04-22 11:13:27 +02:00
ljacqu
de0e588cf3 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth 2018-04-22 07:14:05 +02:00
Gabriele C
baec034909
#1555 Add RegisterEvent and AuthMeAsyncPreRegisterEvent (#1559)
* #1555 Add RegisterEvent and AuthMeAsyncPreRegisterEvent

* Add missing javadoc
2018-04-21 13:02:14 +02:00
RikoDEV
5194f76f39 Update of the Polish translation by RikoDEV (#1560) 2018-04-21 02:24:27 +02:00
Gabriele C
d533f8e19c Fix unit testing
whoops
2018-04-19 12:09:07 +02:00
Gabriele C
6e16abc34e Don't purge users if unable to load permission data 2018-04-19 11:45:21 +02:00
Maxetto
71826db23d
Update messages_it.yml 2018-04-13 19:34:29 +02:00
RatchetCinemaESP
b56133fe8f Update messages_es.yml (#1553)
Translated lines:
- 83
- 103
- 104
2018-04-12 15:58:28 +02:00
Tony
1f9bf38755 Added EmailChangedEvent (#1549)
* Added EmailChangedEvent

* Fix failing tests

Silly.

* Documented the EmailChangedEvent

* Separate messages for cancelled email event

* Added lang todos for all the languages I can't speak

I wish I could though.

* Checkstyle satisfaction

* Changed log level to info for cancelled events
2018-04-03 17:45:27 +02:00
ljacqu
9326094d9c #1141 Fix review remarks by @games647
- Use SHA512 to generate keys instead of default SHA1
- Declare google authenticator dependency as optional and add relocation rule
2018-04-03 00:13:53 +02:00
ljacqu
2bf78dd186 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth 2018-04-02 23:44:19 +02:00
ljacqu
106dea1611 Minor: fix JavaDoc warnings 2018-04-02 23:43:52 +02:00
ljacqu
fc54c0311b #1539 Columns handler: finishing touches
- Add relocation rule for shading of the library
- Fix SQLite connection not being refreshed on reload
2018-04-02 23:19:13 +02:00
ljacqu
ad9e6dbb6d Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1539-datasource-columns-integration 2018-04-02 22:33:26 +02:00
RikoDEV
68329a8761 Update messages_pl.yml (#1548) 2018-03-30 16:01:22 +02:00
games647
ee41d92216
Skip IP check for API registration 2018-03-29 14:08:33 +02:00
ljacqu
26472b6be3 #1539 Create common parent for SQLite and MySQL 2018-03-25 22:27:44 +02:00
ljacqu
4595a14191 #1539 Add support for columns that are not on player auth (is_logged, has_session) 2018-03-25 11:52:40 +02:00
ljacqu
137fc3d505 #1539 Use columns handler in more datasource methods; fix case-insensitivity for SQLite 2018-03-24 22:53:30 +01:00
ljacqu
881ef6a640 #1539 DataSource columns: close MySQL connections, add missing columns, use newly built-in types, improve column initialization 2018-03-24 21:16:43 +01:00
ljacqu
5a58f2c44f #1539 Integrate data source columns library
- Create wrapper around SqlColumnsHandler for AuthMe-specific behavior
- Integrate columns handler into first SQLite and MySQL method implementations
2018-03-24 12:24:43 +01:00
ljacqu
e9ab82db6b #1141 Make 2fa messages translatable, various cleanups (null safety, ...) 2018-03-21 23:56:13 +01:00
ljacqu
584a0bebbf Minor: Fix failing test after command change 2018-03-20 23:13:48 +01:00
ljacqu
f66a8a5b06 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth
# Conflicts:
#	src/main/java/fr/xephi/authme/permission/PlayerPermission.java
#	src/main/java/fr/xephi/authme/service/BukkitService.java
2018-03-20 23:07:25 +01:00
ljacqu
495cfc69a9 #1141 Move TOTP code during login as separate step: /2fa code
Rough version.
- Introduces a limbo player state on the LimboPlayer, allowing us to add further mandatory actions between successful (password) authentication and the ability to play on the server
2018-03-20 23:06:08 +01:00
Gabriele C
6251a69d3e Use the latest LuckPerms api methods 2018-03-20 10:42:17 +01:00
ljacqu
a1a909c01d #1531 Move spigot detection to BukkitService (#1534) 2018-03-19 23:08:48 +01:00
ljacqu
250bd0d148
Merge pull request #1517 from AuthMe/642-kick-on-fast-commands
#642 - Quick Command Protection
2018-03-19 22:35:49 +01:00
HexelDev
84f97ea1c2 Add QuickCommandsProtectionManager#processJoin(player) 2018-03-19 22:33:53 +01:00
ljacqu
af6bee59bd Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1141-optional-additional-2fa-auth
# Conflicts:
#	src/main/java/fr/xephi/authme/datasource/MySQL.java
2018-03-19 22:32:16 +01:00
Gabriele C
8ee44e495b Decrease delay for connectPlayerOnLogin #1504 2018-03-19 17:30:53 +01:00
Gabriele C
3a690fd79a Change how we detect spigot #1531 2018-03-19 17:23:51 +01:00
Gabriele C
aab5d71efd Update sponsort details 2018-03-19 16:53:11 +01:00
games647
f33446ee25 Migrate to GEO IP 2 (Related #1471) (#1529)
* Migrate to GEO IP 2, because support will drop in April

* Change all links of maxmind to https
* Update maxmind database dependency and add javatar to extract
the database from the tar archive
(now only a small difference in jar file size -> ~80KB smaller)
* Verify downloaded archive using MD5 (There are no other checksums available)
* Migrate to Java NIO instead of old java file I/O (Feedback?)
* Internal Optional usage for nullable values (Feedback?)

Minor:
* Schedule a Bukkit async task instead of creating a thread manually
* Validate ip input string
* Extract validation into single method
* Close all resources safely using try-resources

* More https links

* Add documentation

* Set the same last modification as in the tar archive

* Fix tests

* Comment how the legacy API responded to unknown entries

* Document missing function param

* Document our maxmind dependency modifications

* Include time unit into constant

* More logging for downloading the database

* Add missing return if the database cannot be found

* Delete temporarily file after working with it
2018-03-17 03:00:24 +01:00
HexelDev
7790fa5796 typo 2018-03-15 21:53:27 +01:00
HexelDev
f5efd4bf23 Updating plugin.yml 2018-03-15 21:45:23 +01:00
HexelDev
66d1ee92c3 QuickCommandsProtectionManager Test class 2018-03-15 21:45:11 +01:00
HexelDev
900e8f2415 Updated messages 2018-03-15 21:44:49 +01:00
HexelDev
048a47ce6e Fixing PLayerListener kick message/tests 2018-03-15 21:43:36 +01:00
games647
7ff5801cfe
Revert "Fix no auto login permission (Fixes #118)" Wrong repo
This reverts commit 6d60e72296.
2018-03-15 20:43:50 +01:00
games647
6d60e72296
Fix no auto login permission (Fixes #118) 2018-03-15 20:42:50 +01:00
HexelDev
55b6f67550 JavaDocs 2018-03-15 20:20:40 +01:00
HexelDev
d2fbf12c3c Merge branches '642-kick-on-fast-commands' and 'master' of https://github.com/AuthMe/AuthMeReloaded into 642-kick-on-fast-commands 2018-03-15 19:47:11 +01:00
ljacqu
fddb3bf265 Fix minor Checkstyle violations
- Mostly missing JavaDoc, some line lengths
2018-03-11 19:08:21 +01:00
ljacqu
ff0a7e1f89 Fix failing test 2018-03-11 16:34:25 +01:00
HexelDev
fe4d5e7c0d Saving user join and check on command 2018-03-10 19:13:23 +01:00
ljacqu
15f49dcbb3 Merge branch 'global-replacements' 2018-03-10 16:59:56 +01:00
ljacqu
1a53cd11b2 #829 Move CommandSender / name to first argument to avoid confusion with varargs
- Overloaded method with (String, String...) as args was problematic as it could be confusing on its own and also confusing with the (CommandSender, String...) flavor
2018-03-10 16:58:30 +01:00
ljacqu
eb9cd31a65 #1141 Split TOTP permissions for add/remove, refactor TOTP services
- Split TotpService further into GenerateTotpService and TotpAuthenticator, which wraps the GoogleAuthenticator impl
- Add missing tests for the services
- Change GenerateTotpService's interface to behave like a collection for more intuitive method behavior
2018-03-10 16:21:53 +01:00
ljacqu
e72d5d5e81 #1141 Require TOTP code to be passed with /login (temporary)
- Temporarily require the TOTP code to be provided with /login
- Future implementation should require it as a second step
2018-03-09 18:37:01 +01:00
ljacqu
c3cf9e3ee0 #1141 Rough version of TOTP commands to add and remove a code for a player 2018-03-07 20:11:53 +01:00
Maxetto
7a3e2e9f71 Use spaces instead of tabs 2018-03-07 19:37:20 +01:00
Maxetto
bc4cb5046d Fix yet another build 2018-03-07 19:29:24 +01:00
Maxetto
9b7139a17a Add Display Name tag replacement too
#1509
2018-03-07 19:08:36 +01:00
HexelDev
844bd24221 Fixed minor code issues 2018-03-05 21:00:24 +01:00
HexelDev
11d039c818 space after 'if'(s) 2018-03-05 20:20:25 +01:00
ljacqu
9954c82cb6 #1141 Add TOTP key field to database and PlayerAuth
- Add new field for storing TOTP key
- Implement data source methods for manipulation of its value
2018-03-05 19:50:58 +01:00
Maxetto
f9d1a3aef2 Those were not meant to be there 2018-03-05 19:42:43 +01:00
Maxetto
00de15016a Follow remarks
#1509
2018-03-05 19:38:24 +01:00
HexelDev
57809194f3 Renaming function hasValidSessionData -> fetchSessionStatus 2018-03-04 19:45:05 +01:00
HexelDev
be2c6ae116 Fixing tests 2018-03-04 19:23:08 +01:00
HexelDev
9db38a3bf4 SessionService#hasValidSessionData description update 2018-03-04 18:38:46 +01:00
HexelDev
5abc9b9d45 'session expired' message spam fix 2018-03-04 18:36:21 +01:00
HexelDev
c0e1b8082f #642 - Quick Command Protection manager 2018-03-04 17:32:16 +01:00
games647
914c4adc0b
Fix ProtocolLib services are disabling after authme reload
Using the previous else branch we would always call unregister if the feature
was enabled before.
2018-03-04 14:29:08 +01:00
Gabriele C
930f5609bf
Merge pull request #1513 from Maxetto/patch-3
Fix last commit
2018-03-02 13:43:59 +01:00
Maxetto
6c168b6b13
Fix last commit 2018-03-02 12:18:36 +01:00
Gabriele C
9f978ef53a
Merge pull request #1512 from Maxetto/patch-3
Remove VIP status to OP by default
2018-03-02 03:33:08 +01:00
Maxetto
fe075a5c60
Remove VIP status to OP by default
Closes #1040.
2018-03-01 18:04:30 +01:00
Maxetto
3541f21985
I forgot this wasn't Apache's StringUtils 2018-02-28 18:25:50 +01:00
Maxetto
2aaf58182c
Be able to replace sender name in every message
Closes #829
2018-02-28 16:18:08 +01:00
ljacqu
8d5afa7fbc Minor: Use CommonService for permission lookup
- Some changes found in a very old patch :) - drop injection of PermissionsManager in favor of CommonService
- Rename IsEqualByReflectionMatcher's method to something more specific to differentiate it better from Hamcrest's equalTo() matcher
2018-02-23 23:37:24 +01:00
ljacqu
329657bd5f
#1497 Show specific message for invalid YAML files (#1506)
* #1497 Throw dedicated exception for invalid YAML files and handle it on startup
- Wrap SnakeYAML exceptions when loading config.yml and commands.yml on startup into own exception type
- Handle exception type on startup with specific error message

* #1497 Fix inaccurate JavaDoc comment
2018-02-23 23:31:22 +01:00
ljacqu
7864bb06ac Minor cleanups
- Fix line length violations
- Add JavaDoc to some longer methods
- Remove unused imports
2018-02-23 23:23:24 +01:00
ljacqu
83e247afe9 Minor: Simplify check for Spigot 2018-02-17 23:23:44 +01:00
ljacqu
90400650c3 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1467-message-keys-hierarchy 2018-02-17 23:08:39 +01:00
ljacqu
9dd4039fdd #1467 Create backup before migrating; output newly added message keys
- Extract logic for creating a backup timestamp into FileUtils
2018-02-13 22:15:03 +01:00
Gabriele C
1626274e9d Try to solve #1498 2018-02-12 23:37:22 +01:00
Gabriele C
9ef5a983cc Fix #1482 2018-02-12 23:00:10 +01:00
ljacqu
ffeb04c0a2 Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1467-message-keys-hierarchy
Conflicts:
	src/main/resources/messages/messages_ko.yml
2018-02-11 09:47:07 +01:00
ljacqu
189647d9f2 #1467 Fix character issues by always using UTF-8 when reading and writing
- Change usages of Bukkit's FileResource to a ConfigMe PropertyReader
- Specify UTF-8 for reading and writing
2018-02-11 09:22:42 +01:00
Adeuran
8186300349 Update messages_ko.yml (#1499)
* Update messages_ko.yml

Additional Translate by Adeuran(아몬드노란맛 http://adeuran.tistory.com)

* Some of Korean Translate to English

자동가입방지문자 -> CAPTCHA

* Update messages_ko.yml
2018-02-07 19:12:06 +01:00
sgdc3
6a5f335e16 Implement #1483 2018-02-04 15:12:23 +01:00
ljacqu
cd61febd76 #1467 Change /authme messages to only update help text file now 2018-02-02 20:12:42 +01:00
ljacqu
1d6d9eb764 #1467 Rearrange old keys migration so no entries get lost
- 'error' was an old entry but now we have multiple entries under 'error' (which is now a section), so we need to ensure that we migrate the old 'error' entry before the migration sets anything under that path
2018-02-02 19:40:28 +01:00
ljacqu
f44353ed4c #1467 Fix messages verification tool task + remove empty messages in YML files 2018-02-01 23:09:08 +01:00
ljacqu
f67ddb0c77 #1467 Migrate all message files, make sure migrater keeps predefined order 2018-02-01 20:23:06 +01:00
ljacqu
abd19cdb86 #1467 Fix error in placeholder migration, create and fix tests 2018-01-29 22:15:39 +01:00
ljacqu
760a2a909c #1467 Fix export issues (style, encoding)
- Override yaml file resource to ensure that lines aren't wrapped
- Override yaml file reader to ensure the file is always read as UTF-8
2018-01-29 21:46:58 +01:00
ljacqu
f714e9d564 #1467 Change message keys and messages_en to new structure 2018-01-29 20:56:30 +01:00
ljacqu
dfe47066cd Merge branch 'master' of https://github.com/AuthMe/AuthMeReloaded into 1467-message-keys-hierarchy 2018-01-29 20:04:38 +01:00
sgdc3
a92084ec60 Fix the deploy system 2018-01-29 15:08:59 +01:00
games647
be55437287
Use the correct javadoc deprecated tag for the lastlogin method 2018-01-27 22:56:42 +01:00
DNx
f7e9ac9685 Add support for delaying commands. 2018-01-26 14:28:02 +07:00
ljacqu
1eaf321575 #1467 Try to clean up abstract message file handler hierarchy
- Move some handling with the default file configuration down to the help message file handler since it is the only one with such a behavior now
2018-01-25 21:48:48 +01:00
ljacqu
820e443b81 #1467 Implement messages file migration
- Create messages updater called when a messages YML file is loaded
  - Work in progress
- Does not yet include changes to any message keys
2018-01-24 22:19:25 +01:00
ljacqu
b3a191d7e2 Minor: simplify CheckMessageKeyUsages task and make check more strict 2018-01-22 19:56:51 +01:00