Commit Graph

1551 Commits

Author SHA1 Message Date
Luck
0bb4161397
Use nicer toString for Durations in log messages 2020-05-27 10:46:24 +01:00
Luck
4a049ca732
Use contains instead of startsWith for context tab completions 2020-05-27 10:43:30 +01:00
Luck
6b3e4bdc71
Add ContextUpdateEvent and related functionality 2020-05-25 21:49:49 +01:00
Luck
5c0d82f306
Refactor config handler classes 2020-05-25 10:42:32 +01:00
Luck
5a6176def5
Enforce removal of server=global and world=global contexts at a higher level 2020-05-21 17:30:13 +01:00
Luck
1ca1bcf1d1
Make getUniqueUsers more resilient to invalid uuids 2020-05-20 21:23:40 +01:00
Luck
ea5a05d770
Fix incorrectly reading node value from the value field when reading from the flatfile meta section (#2312) 2020-05-20 18:22:10 +01:00
Luck
ed85ab1bfd
Change ContextSet 'satisfy' behaviour (#2300) 2020-05-20 14:51:03 +01:00
Luck
c09e4a1aa0
Update web app urls 2020-05-20 14:45:20 +01:00
Luck
ee36fa9d81
Fix prefix being displayed twice in extensions info section 2020-05-19 17:47:07 +01:00
Luck
bfa5fc43cd
Rename getWithPermission method internally 2020-05-19 17:45:16 +01:00
Luck
5d6389249a
Fix bug with searching for group permissions via the api 2020-05-19 13:32:06 +01:00
Luck
637cb0d836
Fix group info command 2020-05-19 09:55:00 +01:00
Luck
bfebe6a5d0
Cleanup MetaStack, cache the computed prefix/suffix when meta accumulator completes 2020-05-19 00:36:39 +01:00
Luck
c120fa6a4d
Fix startup on Nukkit (#2290) 2020-05-16 11:52:51 +01:00
Luck
918ea7503a
Fix bug with duplicated users in editor (lucko/LuckPermsWeb#235) 2020-05-13 11:20:11 +01:00
Luck
98eb756951
Add contextual data section to group info command too 2020-05-12 18:34:07 +01:00
Luck
86eeeb5b94
Slightly change plugin prefix 2020-05-12 17:54:06 +01:00
Luck
a3e6628e11
Improve user info command 2020-05-12 16:54:02 +01:00
Luck
84bc4217de
Fix command arg rewriting 2020-05-12 16:35:43 +01:00
Luck
b88819b9bb
Cleanup Bukkit/Nukkit dummy classes, some aren't necessary anymore 2020-05-11 21:58:24 +01:00
Luck
c7a0e59919
Catch RejectedExecutionException in BufferedRequest (#2289) 2020-05-11 21:15:42 +01:00
Luck
9984d4be42
Optimize ActionLog and Paginated util 2020-05-11 21:00:42 +01:00
Luck
a1c91b9007
Improve sync task performance 2020-05-11 13:46:02 +01:00
Luck
6a256d59f5
Fix null check in selectAllGroupPermissions 2020-05-11 13:12:30 +01:00
Luck
fca2f1e6de
Optimize loading lots of groups from SQL storage types (#2287) 2020-05-11 12:54:42 +01:00
Luck
ec7994a561
Print more useful debug message when a LinkageError is thrown due to bad SLF4J classloading
This is a longstanding issue, mostly caused by plugins with bad Maven shade configurations.

https://github.com/lucko/LuckPerms/issues?q=slf4j
2020-05-11 01:41:01 +01:00
Luck
9f22bf2fbf
Update the client commands list when permissions are changed (#2262) 2020-05-10 22:18:01 +01:00
Luck
5f0df1b167
Increase editor users limit to 1000 & sort users according to their max inherited group weight 2020-05-10 16:31:35 +01:00
Luck
73d76d860e
Move PlayerAdapter to platform package 2020-05-10 13:51:30 +01:00
Luck
bcfcb64931
Add modifyUser and modifyGroup convenience API methods 2020-05-10 12:40:20 +01:00
Luck
a19cb71394
Add PermissionHolder#getQueryOptions API method 2020-05-10 12:22:40 +01:00
Luck
52731fe68e
Add getInheritedGroups and getNodes filtered by type methods to the API (#1926) 2020-05-10 01:19:43 +01:00
Luck
7845d89f10
Add some convenience API methods (#1926) 2020-05-09 23:41:28 +01:00
Luck
3d358e57ff
Fix group listmembers command behaviour with the default group (#2088) 2020-05-09 19:16:17 +01:00
Luck
bd9ae9dbd5
Cleanup command manager aliases handling 2020-05-09 19:04:50 +01:00
Luck
f281927578
Re-add group/g --> parent alias (#2054) 2020-05-09 18:40:15 +01:00
Luck
665c53093a
Tweak HikariCP config to hopefully improve recovery from database downtime (#2223, #2084) 2020-05-09 18:19:49 +01:00
Luck
10fbc24f43
Add option for Sponge style wildcards on other platforms (#1625) 2020-05-09 17:48:29 +01:00
Luck
6631e9144e
Put Nullable annotations in the right place 2020-05-09 17:32:52 +01:00
Luck
7ae532f082
Add UserManager/GroupManager searchAll method 2020-05-09 17:27:17 +01:00
Luck
1af55e3720
Rename InheritanceHandler --> InheritanceGraphFactory 2020-05-07 03:48:09 +01:00
Luck
fe32aa2d33
Download dependencies in parallel 2020-05-06 02:50:19 +01:00
Luck
f6460c2802
Fix Year 2038 problem for future installs (#2126) 2020-05-06 00:13:19 +01:00
Luck
045c10048d
RedisMessenger support for SSL (#2263) 2020-05-05 17:38:24 +01:00
Luck
308356de80
Refactor group name parsing in commands 2020-05-05 17:24:44 +01:00
Luck
cd25681cd3
Remove special message for error 403
it was a firewall config error at my end after all lol woops
2020-04-28 21:40:52 +01:00
Luck
b17da055af
Increase UserHousekeeper cleanup interval & print debug message when unloading 2020-04-28 13:47:13 +01:00
Luck
99348fce53
Reply with more descriptive message when http requests fail 2020-04-28 13:29:09 +01:00
Luck
c03aca35d6
Add checkTime property to verbose data (#2226) 2020-04-26 10:50:10 +01:00
Luck
07b2df7c7e
Cleanup configuration files slightly 2020-04-23 13:05:39 +01:00
Luck
36335c10a4
Cleanup imports 2020-04-17 17:49:32 +01:00
Luck
14d952a212
Code style 2020-04-16 15:09:01 +01:00
Luck
37e09caac5
Slightly optimize SimpleMetaValueSelector by only invoking the selection strategy if there is a selection to be made 2020-04-16 14:50:44 +01:00
Luck
4d7a6cb658
Add meta-value-selection config setting (#2167) 2020-04-16 14:44:38 +01:00
Luck
cc80fe5105
Cleanup ConfigKeys class a bit 2020-04-09 12:00:32 +01:00
Luck
83e9ac04b2
Optimize VerboseHandler by delaying construction of stack trace array until later 2020-04-07 17:56:56 +01:00
Luck
8cecfe5b7c
Avoid calls to the Bukkit singleton 2020-04-07 17:50:08 +01:00
Luck
54aed80db8
Fix applying track reordering from the webeditor (#2144) 2020-04-06 11:55:49 +01:00
Luck
0d89fc9d28
Revert "Trial using the default Java hostname verifier instead of okhttp's (#2134)"
This reverts commit cee34d0c31.
2020-04-05 17:49:20 +01:00
Luck
cee34d0c31
Trial using the default Java hostname verifier instead of okhttp's (#2134) 2020-04-05 17:41:32 +01:00
Luck
d2e60eb5ac
Attempt to fix issue converting MongoDB document _id to UUID (#2110) 2020-04-05 16:42:09 +01:00
Luck
141d3e26ea
Update dependencies 2020-04-04 22:47:43 +01:00
Luck
9f0fe9e0cb
Use a dynamically generated class instead of a reflection Proxy in NonClosableConnection 2020-03-31 14:29:09 +01:00
Luck
2028d65579
Rename some classes 2020-03-31 13:38:28 +01:00
Luck
6805574553
Use a MethodHandle to call event class constructors 2020-03-30 19:46:30 +01:00
Luck
c3128dec0d
Generate actual classes for LP events at runtime instead of using proxies + InvocationHandlers 2020-03-30 19:19:27 +01:00
Luck
b65639cd76
Ignore empty string world names in Bukkit WorldCalculator (#2119) 2020-03-30 14:32:27 +01:00
Luck
42e9f43443
Store result of primary group calculation in CachedMetaData 2020-03-30 14:13:17 +01:00
Luck
c40ad63291
Slightly refactor AbstractConfigurateStorage#appendNode 2020-03-28 10:22:04 +00:00
Luck
497846e5a6
Run some auto code inspections 2020-03-26 17:01:55 +00:00
Luck
0729be0f0a
Print IOException when uploading web editor data fails (#2087) 2020-03-24 10:44:31 +00:00
Luck
2adea2d3dc
Improve reliability of java version check in ReflectionClassLoader (#2093) 2020-03-24 10:35:13 +00:00
Luck
30d7768299
Fix parsing contexts from commands with server/world = global (#2093) 2020-03-24 10:03:34 +00:00
Luck
779bbb9f88
Fix typo
3973aa1000 (r37923265)
2020-03-19 16:24:14 +00:00
Luck
a721cc0b7c
Remove unused DefaultQueryOptions class 2020-03-19 12:57:52 +00:00
Luck
3973aa1000
Add notice to inform users to ignore 'illegal reflective access' warning messages (#952) 2020-03-19 12:14:17 +00:00
Luck
ac9fe74785
Catch subclasses of Throwable when trying to create a FileWatcher (#2066) 2020-03-19 11:30:19 +00:00
Luck
46c9e3b713
Clarify method name in QuotedStringTokenizer 2020-03-19 11:06:41 +00:00
Luck
3086724e92
Don't print InterruptedExceptions in AbstractFileWatcher (#2044) 2020-03-14 21:26:13 +00:00
Luck
fbac03e372
Remove MinimalApiProvider & refactor usages away from static access 2020-03-13 18:13:12 +00:00
Luck
2518a7c8e5
Fix NPE in QueryOptionsImpl (#2051, #2052) 2020-03-11 11:38:38 +00:00
Luck
bca766c20d
Ensure immutability of QueryOptions options map 2020-03-04 12:45:13 +00:00
Luck
bb3afa21a4
Always store node metadata keys in a HashMap, not IdentityHashMap, and ensure immutability when built 2020-03-04 12:44:47 +00:00
Luck
85451a9a20
Remove legacy import functionality
Users wishing to import data from the old export formats will need to downgrade LuckPerms to a version before this commit, import their data, and then upgrade again.
2020-03-03 11:20:32 +00:00
Luck
d475ace76c
Export users & tracks in a consistent order 2020-03-03 11:03:30 +00:00
Luck
9f3395f256
Fix StringIndexOutOfBoundsException with empty string in QuotedStringTokenizer (#2041) 2020-03-02 22:52:08 +00:00
Luck
c6bda0875c
Change argument tokenizer to support unicode double quote characters (#1999) 2020-03-02 15:28:32 +00:00
Luck
0a3141841c
Rename variable for silent flag 2020-02-27 13:20:14 +00:00
Luck
e66ab1be0d
Properly close file watcher on disable
5ce8217cd5 (r37466536)
2020-02-24 23:45:30 +00:00
Luck
5ce8217cd5
Refactor file watcher 2020-02-24 18:26:52 +00:00
Luck
9f7d431d34
Accept empty contexts.json file as valid 2020-02-11 15:35:16 +00:00
Luck
d937c9ce06
Update commodore to 1.7 2020-02-10 00:45:47 +00:00
Luck
2eabe845d7
Update commodore to 1.6 (#1939) 2020-02-09 15:44:52 +00:00
Luck
4cfee76202
Change layout of library storage 2020-02-09 15:24:04 +00:00
Luck
9546987970
Fix AbstractUserManager to only load users once in #loadAllUsers 2020-02-03 00:44:08 +00:00
Luck
7a624fb449
Add additional call to invalidate cached data during a sync task 2020-02-03 00:30:18 +00:00
Luck
a779b31ca5
Refactor SQL storage implementation 2020-01-25 16:02:37 +00:00
Luck
8fa629a243
Fix/catch IllegalArgumentException when estimating potential world contexts (#1951) 2020-01-25 12:59:41 +00:00
Luck
0864cf756c
Cancel delayed/repeating tasks at the start of the disable process (#1935) 2020-01-25 12:38:24 +00:00
Luck
7e8402b542
Fix compile errors 2020-01-17 10:05:19 +00:00
Luck
abad672bef
Implement support for Vanilla command target selectors (e.g. @p, @r) for Bukkit & Sponge 2020-01-16 17:49:28 +00:00
Luck
e151fbe298
Build against 1.15 APIs 2020-01-16 16:05:19 +00:00
Luck
2ccb475aa0
Cleanup command abstraction classes 2020-01-15 23:54:43 +00:00
Luck
352f3bd263
Ensure response body is closed when a http request is not successful (#1912) 2020-01-10 12:50:40 +00:00
Luck
b73b73e221
Add rewrite rule in legacy importer for for switchprimarygroup command (#1922) 2020-01-09 23:18:05 +00:00
Luck
c1e3660551
Update commodore to 1.5 2020-01-04 23:26:53 +00:00
Luck
a33f326cfc
Fix duration parser handling of weeks, months & years (#1905) 2019-12-31 18:04:03 +00:00
Luck
83883aa7e6
Replace internal brigadier command structure with Commodore's file format 2019-12-29 22:01:38 +00:00
Luck
3fae4e5e9e
Refactor CacheMetadata 2019-12-29 18:34:55 +00:00
Luck
46dc4e5104
Cleanup verbose logging for groups 2019-12-29 17:54:11 +00:00
Luck
242993763c
Remove vault-debug option
This is now covered pretty much entirely by verbose data.
2019-12-29 17:37:08 +00:00
Luck
b84518e1f1
Lots of misc cleanup 2019-12-29 16:26:05 +00:00
Luck
b2593d409e
Invalidate all user/group caches after node changes are made to groups via the API 2019-12-29 01:17:30 +00:00
Luck
d3b3a8af38
Some small cleanup changes 2019-12-29 00:55:41 +00:00
Luck
ca33cee79d
Fix DateTimeFormatter usage in VerboseListener 2019-12-27 23:30:33 +00:00
Luck
2d456bd346
Iterators class refactoring 2019-12-27 23:17:18 +00:00
Luck
10680668db
Fix NPEs caused by RepeatingTask initialisation race condition 2019-12-26 20:25:14 +00:00
Luck
0e64b61be4
Improve DurationParser regex 2019-12-25 00:04:39 +00:00
Luck
96c53091d0
Make use of Instant / Duration classes where possible for time handling 2019-12-24 23:10:26 +00:00
Luck
6e64f80c81
Cleanup temporary handing in PermissionHolder#setNode 2019-12-24 18:11:58 +00:00
Luck
8906e4c4fc
Fix PermissionHolder#setNode with accumulate temporary modifier (#1839) 2019-12-24 17:54:35 +00:00
Luck
cc5d7ea873
Don't randomly add 1 second to parsed dates 2019-12-24 17:49:27 +00:00
Luck
fae5ebe226
Prefer "storage provider" to "dao" in logging messages for consistency with rest of code base 2019-12-24 14:08:23 +00:00
Luck
9a92920120
Downgrade h2 version to 1.4.199
Fixes https://gist.github.com/lucko/2ba1a9eb52fd76da19e54888c2595381

See: h2database/h2database#2078
2019-12-24 14:00:48 +00:00
Luck
dc5c6b0138
Set character set to utf8 for messenger table (#1887) 2019-12-24 13:46:19 +00:00
Luck
88c432496b
Reimplement "legacy" shorthand syntax
i.e. using ( ) for groups, and | for list separation
2019-12-24 13:24:20 +00:00
Luck
63b890d522
Rename EventFactory --> EventDispatcher 2019-12-24 13:05:48 +00:00
Luck
cd5c8d7cdf
NodeEqualityPredicate refactoring 2019-12-21 19:58:37 -05:00
Luck
d80017ba7b
Refactor /lp import command, better handling when no file extension is provided 2019-12-21 17:46:37 -05:00
Luck
5eb8a262be
Set giveDefault to true when running the 'clear' command 2019-12-14 17:22:48 +00:00
Luck
7474842b45
Cleanup the way contexts for transient permissions are determined 2019-12-14 17:06:26 +00:00
Luck
bd349ac4a3
Use standard (not Identity) HashMaps for OptionKeys and NodeMetadataKeys 2019-12-13 14:02:31 +00:00
Luck
06f7900318
Use thee default set of flags by default in QueryOptions.Builder, etc 2019-12-13 11:28:46 +00:00
electron
d8ac199858 Additional SQL query escaping fixes (#1847, #1854) 2019-12-05 21:46:00 +00:00
Luck
9cf21e2927
Include loaded extensions in the info command (#1849) 2019-12-05 21:44:45 +00:00
electron
86a15b9a66 Escape table name with backticks (`) in sql messenger (#1847, #1848) 2019-12-04 20:50:56 +00:00
electron
31b57df567 Fix json action serialization (#1843, #1844) 2019-12-04 11:18:37 +00:00
Luck
a07f876c85
Re-implement parsing first/second context values as server/world respectively (#1837) 2019-12-02 21:23:58 +00:00
Luck
2eb0c1e67e
Use getPlainDisplayName to get name for hover messages (#1663) 2019-12-02 21:03:45 +00:00
Luck
6325e25630
Limit the number of scheduler work threads 2019-12-02 15:10:18 +00:00
Luck
01e17adf82
Cleanup imports 2019-11-25 22:52:37 +00:00
Luck
4d3c692402
Fix concurrency bug in CachedDataManager MRU cache
This resolves a longstanding issue with TownyPerms (#1330)
2019-11-25 20:31:14 +00:00
Luck
787f691f44
Improve shorthand parser 2019-11-25 00:34:23 +00:00
OmegaWeapon_
500385cd3e Add temporary modifier to the argument list for permission/parent settemp (#1817) 2019-11-24 16:27:36 +00:00
Luck
6df64a29dc
Don't set username to null when a user is requested by uuid alone 2019-11-24 00:40:38 +00:00
Luck
233324f6c9
NodeMap optimizations 2019-11-24 00:40:38 +00:00
Andre_601
0d9106185c
Add note about checking console to storage errors (#1678) 2019-11-23 18:19:19 +00:00
Luck
2316b6806e
Cleanup in StackTracePrinter 2019-11-23 17:43:56 +00:00
Luck
94418d3648
Log thread in verbose events 2019-11-23 17:26:48 +00:00
Luck
479b2d026c
Remove sql schema migrations 2019-11-23 14:15:30 +00:00
Luck
8e9683b33f
Fix compile 2019-11-23 14:10:17 +00:00
Luck
86aadf2cf8
A few more small API changes 2019-11-23 12:59:40 +00:00
Luck
95d2832884
A few more small API changes 2019-11-23 12:52:26 +00:00
Luck
213b2fcb44
Downgrade okhttp & okio 2019-11-19 18:09:14 +00:00
Luck
c4bd657826
Changes to messaging service setup 2019-11-19 15:18:47 +00:00
Luck
a5e15b8a29
More work 2019-11-18 21:19:59 +00:00
Luck
7a37fcd792
Implement a simple compiler (lexer + parser) for verbose filters
Removes the dependency on the Nashorn runtime.
2019-11-14 22:58:29 +00:00
Luck
81cbe02a9c
Move some things around a bit 2019-11-14 19:43:57 +00:00
Luck
79c10c986e
Web editor changes 2019-11-12 12:12:53 +00:00
Luck
c836cce59b
Moreeee stuff 2019-11-09 22:50:10 +00:00
Luck
287c0f7f7a
All the cleanup 2019-11-09 22:34:12 +00:00
Luck
dc52807a46
Fix issues with *-combined file storage methods (#1793) 2019-11-04 19:26:53 +00:00
Luck
916e3dbb0b
Revert bad text refactoring, bump version to 3.0.2 2019-10-15 13:58:20 +01:00
Luck
4b0574710e
Implement new compressed json import/export format
The old "command list" style is now only supported for import.
2019-10-14 17:25:37 +01:00
Luck
7764a04d46
More work 2019-10-13 15:04:03 +01:00
Luck
9438df787a
Changes to option keys 2019-10-12 00:27:53 +01:00
Luck
fd954d8293
More work 2019-10-06 21:34:24 +01:00
Luck
72dec16f54
Context parsing changes 2019-09-21 08:30:14 +01:00
Luck
40218563e1
Cut down on the number of command aliases 2019-09-04 22:34:25 +01:00
Luck
0251f2add9
Cleanup some stuff 2019-09-04 22:29:36 +01:00
Luck
f0e42c6db6
Allow context calculators to define "potential contexts", and use these for tab completions 2019-09-04 22:08:24 +01:00
Luck
4b793d1f14
More work 2019-09-04 20:58:46 +01:00
Luck
61e5da928a
Fix various runtime errors 2019-08-29 22:07:12 +01:00
Luck
419707aa5f
Cleanup web clients 2019-08-26 20:37:33 +01:00
Luck
8b970c21fc
Remove default assignments
For real this time
2019-08-26 19:33:43 +01:00
Luck
7a31edea09
Extensions 2019-08-26 19:31:55 +01:00
Luck
b286faa1c5
Change API package to net.luckperms 2019-08-26 18:06:45 +01:00
Luck
5e2f45ebd0
Web editor changes, towards #1703 2019-08-26 15:03:30 +01:00
Luck
eff93c788b
Log action serialization changes 2019-08-26 14:04:49 +01:00
Luck
4667ffc681
Allow data query order to be specified via the API 2019-08-26 14:04:49 +01:00
Luck
bafada4f17
Context & action log changes 2019-08-26 14:04:50 +01:00
Luck
5b97d01363
Permission holder refactoring 2019-08-26 14:02:39 +01:00
Luck
3474c66c1c
Big API refactor
- removed a bunch of ugly / badly designed methods and APIs
- refactored 'Contexts' --> 'QueryOptions'
- Removed the FullySatisfiedContexts hack and replaced it with a sane API
- Made PermissionHolder (in the API) less ugly and horrible
- removed lots of deprecated / duplicated API functionality
and much more...
2019-08-26 14:02:44 +01:00
Luck
8f8c916be3
API: remove storage interface 2019-08-04 11:27:31 +01:00
Luck
a823290d66
API: remove uuid cache 2019-08-04 11:27:27 +01:00
Luck
5577e3f590
Jedis requires SLF4J (#1579) 2019-07-14 09:11:54 +01:00
Luck
7f4f9bb917
Fix build 2019-05-20 23:09:02 +01:00
Luck
8d8024ba5e
Fix group changes via the API not properly invalidating caches (#1534) 2019-05-20 10:42:48 +01:00
Luck
2e16b15b0e
Change Sender#getNameWithLocation behaviour 2019-05-14 20:32:35 +01:00
Luck
1ebed37297
Remove use-server-properties-name option
This was removed from Minecraft 1.14, and isn't something I feel was ever really necessary to support.
2019-05-11 23:17:59 +01:00
Luck
ff37ad176b
Update text adapters to latest version (#1525) 2019-05-11 23:12:55 +01:00
Luck
f49446011a
Update to text 3 2019-05-07 00:23:40 +01:00
Luck
d762a0aaa6
Reduce new instance creation further in TristateResult.Factory 2019-04-28 15:35:46 +01:00
Luck
2dc211a91e
Don't account for wildcard/default permissions when running require-sender-group-membership-to-modify checks (#1512) 2019-04-24 18:40:27 +01:00
Luck
2c62de9658
Refactor storage type config read 2019-04-23 21:57:43 +01:00
Luck
494ab6787f
Update okhttp 2019-04-23 20:45:02 +01:00
Chinese Marc
62a834e145 Fix build (#1509) 2019-04-21 21:49:13 +01:00
Luck
241f13c8f1
Package renames 2019-04-20 18:10:31 +01:00
Luck
98ea255667
Refactor blank message sending 2019-04-19 09:46:45 +01:00
Luck
420ec2bf1a
Don't attempt to read a boolean 'value' from parent/chatmeta/meta entries in file based storage files (#1505) 2019-04-18 23:14:23 +01:00
Luck
821d1cb8dd
Fallback to utf8 encoding if utf8mb4 isn't supported (#1497) 2019-04-17 18:44:34 +01:00
Luck
544ffbad19
Add missing javadocs to ConfigKeys 2019-04-06 18:22:19 +01:00
Luck
4fa6cd2577
Add configuration option to perform a post-traversal sort according to the inheritance (weight) rules 2019-04-06 18:20:30 +01:00
Luck
37d1f5efab
Improve behaviour of userInGroup and userHasPermission Vault calls 2019-04-03 10:12:24 +01:00
Luck
8eed4558f4
Release API v4.4 2019-04-02 16:36:22 +01:00
Luck
62ca2d9c79
Implement special handling in the LP Vault implementation for NPC players (#1470) 2019-04-01 15:09:58 +01:00
Luck
ce74813ce5
Fallback to node/context ordering in InheritanceComparator, refactor graph traverser classes 2019-03-14 15:23:26 +00:00
Luck
d1511e43f2
Fix build 2019-03-10 19:19:46 +00:00
Luck
6ef749c76a
Update some dependencies 2019-03-08 23:11:32 +00:00
Luck
8846932cb6
Refactor the HolderType enum 2019-03-08 20:19:08 +00:00
Luck
0a50df6557
Code style: move private constructors for singleton classes to the top of the file 2019-03-05 12:36:09 +00:00
Luck
3726f6de41
Use a separate fork join pool for cache loading operations 2019-03-05 12:35:29 +00:00
Luck
d1ca7684d6
Refactor AbstractJavaScheduler to make use of a cached thread pool 2019-03-05 12:32:16 +00:00
Luck
512b621a7a
Refactor Dependency class a bit 2019-03-03 16:46:20 +00:00
Luck
2cf919a17a
Bump hikari version 2019-03-03 12:01:15 +00:00
Luck
46072eb465
Attempt to detect and warn about CraftBukkit + offline mode problems (#1439) 2019-02-21 14:14:00 +00:00
Luck
ae63a42c2e
Slightly optimize regex and wildcard processors 2019-02-21 12:37:23 +00:00
Luck
8773ec07ab
Include processor & cause in verbose hover message 2019-02-19 23:30:11 +00:00
Luck
287cc308d6
Fix parsing log entry types (#1438) 2019-02-19 14:17:33 +00:00
Luck
4ef3d50965
Properly implement ContextManager#unregisterCalculator (#1422) 2019-02-09 11:50:00 +00:00
Luck
dae64fc8c4
Cleanup some of the Sponge permission holder implementation code 2019-02-07 15:35:09 +00:00
Luck
215031a1f3
Close messaging service before storage
Fixes https://www.spigotmc.org/threads/174259/page-129#post-3302827
2019-02-07 12:38:24 +00:00
Luck
85d2f0b51f
Add method to unregister context calculators (#1422) 2019-02-07 12:24:23 +00:00
Luck
1a690dabd7
Implement NodeMap without using Guava's Multimap util (#1416) 2019-02-04 20:35:20 +00:00
Luck
526448ce40
Don't try to set unicode connection properties for PostgreSQL (#1134) 2019-02-04 19:36:53 +00:00
Luck
307614e704
Cleanup import statements 2019-01-31 00:53:42 +00:00
Luck
f6c0794691
Return more detailed information about exactly how a permission check result was determined 2019-01-31 00:45:56 +00:00
Luck
83db00aef8
Better null checking in HikariConnectionFactory (#1408) 2019-01-30 16:24:30 +00:00
Luck
7b8426977a
Switch text dependency back to 1.11 (#1404) 2019-01-28 10:39:08 +00:00
Luck
d9912cb93f
Update some dependencies 2019-01-27 22:51:05 +00:00
Luck
1d9fc568e4
Fix calling default methods on Event interfaces (#1386) 2019-01-16 14:43:55 +00:00
Luck
3c0d1ba7a1
Ensure caches are invalidated when Bukkit/Nukkit's Permission#getChildren map is modified (#1378) 2019-01-13 16:58:31 +00:00
Luck
d3ae3324fa
Allow the bytebin url to be configured 2019-01-12 12:02:16 +00:00
Luck
4b97c9419e
Finish updating commodore
woops
2019-01-07 21:29:28 +00:00
Luck
9b1c73ed23
Implement use of a Maven Central mirror for dependency downloads
People keep telling me that LP's use of Maven Central for downloading dependencies is not allowed / inappropriate / abusive. I disagree but I'm bored of hearing it. Using a mirror will mean that all of the load is taken off of Central, and is instead absorbed by my servers + (mostly) Cloudflare.

- The mirror is (currently) hosted at https://nexus.lucko.me/repository/maven-central/
- The prospect of the mirror becoming compromised is not a concern. LuckPerms compares the downloaded content against a checksum before saving it.
- The prospect of the mirror going offline is also not a concern. We will fallback to Maven Central if a connection cannot be made to the mirror.
2019-01-07 16:56:16 +00:00
Luck
048768007d
Change the way static contexts are displayed in /lp info 2019-01-07 15:44:54 +00:00
Luck
ec7a5321a6
Some misc refactoring / code cleanup 2019-01-07 15:08:13 +00:00
Luck
c396323308
Log exceptions thrown by BufferedRequest tasks 2019-01-05 23:06:57 +00:00
Luck
6fc2321fad
Refactor PlayerLoginProcessEvent
This is technically a breaking change, but I'm fairly sure I'm the only person using this event. It's quite obscure ;p
2019-01-02 13:54:55 +00:00
Luck
a0d04790a5
Update text-adapter-bungeecord to 1.0.2 (#1362) 2019-01-01 15:33:18 +00:00
Luck
c4154c09da
Remove SQL indexes on the permission field 2018-12-23 21:56:51 +00:00
Luck
8eed3131f2
Fix sending component messages on older CB/S releases (#1344) 2018-12-23 16:52:00 +00:00
Luck
2ccffc6e6d
Fix error message when event handlers throw an exception 2018-12-22 17:03:51 +00:00
Luck
fc69002c86
Fix wrong checksum for text-adapter-bukkit 2018-12-19 14:36:20 +00:00
Luck
e3a6db5f97
Refactor ProgressLogger slightly 2018-12-19 10:39:48 +00:00
Luck
6d8077ffd0
Use text-adapter-bukkit for sending Components to Bukkit objects 2018-12-19 10:29:22 +00:00
Luck
784161d66d
Update okhttp and okio versions 2018-12-19 10:06:36 +00:00
Luck
2cb5e437fd
Switch default MySQL/MariaDB charset from utf8 to utf8mb4
https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434
Relates to #1337
2018-12-18 16:02:25 +00:00
Luck
8c57c2b46d
Remove static imports 2018-12-18 12:51:26 +00:00
Luck
879a88a398
Account for 'allow-invalid-usernames' setting in API calls 2018-12-18 12:50:52 +00:00
Luck
4b1cf51530
replace LoadingCache with more simple LoadingMap alternative when no auto expiry is needed 2018-12-14 18:37:56 +00:00
Luck
de24817d9c
Some node equality changes 2018-12-14 17:27:34 +00:00
Luck
1aabd7610e
Tweak PlayerSaveResult javadoc 2018-12-10 15:33:38 +00:00
Luck
757e9d6be6
Add API method to get known permissions & improve the way PermissionDescriptions are migrated from existing Sponge services when LP enables 2018-12-07 14:07:54 +00:00
Luck
b3a028e3ca
Refactor AbstractConnectionListener for the addition of Velocity support 2018-12-07 13:36:38 +00:00
Luck
e222e4e98c
Missing nullability annotations 2018-12-07 13:33:05 +00:00
Luck
b7ff0824b9
Optimize context set manipulation 2018-12-06 14:02:41 +00:00
Luck
7b5917660c
Implement LoadingMap using Guava's ForwardingMap utility 2018-11-28 12:35:38 +00:00
Luck
1544487e92
Convert permissions to lowercase inside the cache
Slight optimization, toLowerCase is a relatively expensive call in the scheme of permission checks.
2018-11-24 13:09:26 +00:00
Luck
e8c4a55dc3
Cache the most recent lookup for permission/meta data in AbstractCachedData.
This avoids a (somewhat) costly lookup operation involving Contexts comparison. It aims to be effective on the basis that lookup calls within the same period of time are likely to target the same context (and therefore have the same result).
2018-11-24 01:17:42 +00:00
Luck
97d6aaed5c
Experiment with different cache implementation in PermissionCalculator
Caffeine seems to just fallback to a ConcurrentHashMap based implementation in this case anyway.
2018-11-24 00:15:56 +00:00
Luck
e07f8c0fbe
Don't send 1.13 tab completions to players without access to any LP commands (#1310) 2018-11-22 15:07:55 +00:00
Luck
90246afd03
Some misc refactoring 2018-11-22 14:51:20 +00:00
Luck
9809e591ad
Reorganise some packages 2018-11-10 23:16:28 +00:00
Luck
26973461e7
Don't show negated group membership permissions in the output to 'user info' and 'group listmembers' 2018-11-10 22:42:54 +00:00
Luck
58ab3c325c
misc tidying up 2018-11-10 20:21:08 +00:00
Luck
5dda522a62
Add option to deduplicate prefix/suffix stacks (#1285) 2018-11-06 14:29:15 +00:00
Luck
f63992e209
Return a more informative error for invalid verbose filters 2018-11-06 13:16:07 +00:00
Luck
9988011308
Improve the way meta lookups are caught & reported to the verbose handler 2018-11-06 13:15:30 +00:00
Luck
42c8cb1354
Use the fragment identifier instead of query parameters to convey the editor/verbose/treeview data id
This fixes the issue Multicraft panels have with displaying ? characters in console. (absolute quality)
2018-10-28 22:32:02 +00:00
Luck
aaeaf5cfa0
Nicer format for verbose meta logging 2018-10-28 21:56:42 +00:00
Luck
45b4e1463f
Match the type in verbose filters 2018-10-28 15:18:02 +00:00
Luck
be92a67544
Increase verbose stacktrace truncation length for web outputs 2018-10-28 12:40:56 +00:00
Luck
5e0b8ebdf6
Include meta lookup events in verbose output 2018-10-28 12:31:47 +00:00
Luck
9d4ccd33e1
Update commodore for tab complete fix (#1257) 2018-10-26 20:21:00 +01:00
Luck
f5c42c70e5
Catch Throwable instead of Exception when calling context calculators
Related to:  lucko/ExtraContexts#4
2018-10-15 22:32:52 +01:00
MrMicky
ee2de3cff1 Some minor code cleanup (#1262) 2018-10-09 18:00:53 +01:00
Luck
f96518b8e4
misc tidying 2018-10-07 19:48:20 +01:00
Luck
dac59966aa
Setup gradle license format check 2018-09-24 13:52:59 +01:00
Luck
8115fbaa98
Refactor storage system 2018-09-23 21:49:49 +01:00
Luck
8b97439ffc
Use the correct permission check method when forming tree views 2018-09-23 19:53:37 +01:00
Luck
fa83986250
Refactor Constraint/Comparison impls for bulkupdate 2018-09-23 19:53:16 +01:00
Luck
e1b16465f8
Fix race condition in BufferedRequest 2018-09-23 19:52:42 +01:00
Luck
57619dacb1
Update commodore to 1.1 2018-09-23 15:40:33 +01:00
Luck
1cc156d6f6
Fix buildscript deployment config for Sonatype 2018-09-23 14:30:09 +01:00
Imortalshard
1445a3faec Fix typo in the description of /lp export (#1229) 2018-09-23 11:28:48 +01:00
Luck
8e344cea76
Cleanup imports 2018-09-20 21:17:28 +01:00
Luck
5b1229c882
Fix slf4j loading (#1224) 2018-09-20 21:17:00 +01:00
Luck
834649b390
Improve Uuids#parse
thanks @kashike
2018-09-20 15:30:22 +01:00
Luck
d28170cc3f
Operations to add new nodes with differing values should just override existing entries, instead of failing with the ALREADY_HAS result (#1198) 2018-09-20 11:25:31 +01:00
Luck
04e511026d
Detach from permissible objects with a 1 tick delay after player quit to allow plugins listening on monitor to still access data (#1220) 2018-09-20 11:07:20 +01:00
Luck
3941c77826
Move from findbugs jsr305 to checker-qual 2018-09-19 20:40:25 +01:00
Luck
dd78e0e271
Separate formatted vs plain display name methods in User/Group
Continues from 3c773e6823 & #1210
2018-09-10 16:54:16 +01:00
Max Lee
3c773e6823 Use neutral color to display potentially colored names - fixes #1170 (#1210) 2018-09-10 16:41:14 +01:00
Luck
eca6b09b18
Refactor config keys 2018-09-05 20:49:37 +01:00
Luck
b7f8ca6658
Add 'require-sender-group-membership-to-modify' config option (#1140) 2018-09-05 15:49:29 +01:00
Luck
ffdeadac8a
Add flag to prevent users from being added/removed to/from the first group on a track (#1151) 2018-09-05 15:15:15 +01:00
Luck
9e769904bf
Expose TemporaryMergeBehaviour in the API (#1189) 2018-09-05 11:11:45 +01:00
Luck
8d79ec6b07
Rename "update task" --> "sync task" 2018-09-04 21:11:03 +01:00
Luck
3a123f9fa1
Avoid running full "update tasks" unless they're absolutely needed. Process Vault API "set" requests immediately instead of in the background 2018-09-04 21:02:40 +01:00
Luck
f0c0328919
Refactor MetaAccumulator to be a little more sane 2018-09-04 20:33:22 +01:00
Luck
76517374a2
Only allow import and export commands to interact with files in the data directory (#1193) 2018-09-02 22:20:29 +01:00
Luck
2da027f3b5
Revert MySQL driver update 2018-09-02 20:04:26 +01:00
Luck
fd712f131f
Update some dependency versions 2018-09-02 16:36:28 +01:00
Luck
ec9060ba80
Update messenger log prefixes 2018-08-31 20:22:31 +01:00
Luck
502d57e744
Optimize event generation & other misc improvements 2018-08-27 22:11:03 +01:00
Luck
c59f2ab37a
Don't call NodeAddEvent when adding the default group (#1177) 2018-08-27 22:06:49 +01:00
Luck
066189b486
Send a more informative message when the bulkupdate command is used from in-game 2018-08-27 18:25:57 +01:00
Luck
55220e9d10
Add support for Velocity 2018-08-26 22:24:46 +01:00
Luck
bd41286076
Fix build 2018-08-26 18:45:33 +01:00
Luck
d84484c81c
Optimize event generation and posting 2018-08-26 10:28:04 +01:00
Luck
fec87d4c6a
Update event to 3.0.0 2018-08-16 20:01:26 +01:00
Luck
a784ad435f
Fix applying group web editor changes (#1148) 2018-08-13 22:44:10 +01:00
Luck
cc9bb34873
Update kyori/event dependency 2018-08-13 20:03:57 +01:00
Luck
56c55d71fe
Improve the way Vault lookups for offline players are handled (#1150)
1) The behaviour of online player lookups is unchanged - this only affects offline player data lookups.
2) If a 'offline player' request is made from an async task, it is executed normally. (the data is loaded)
3) If a 'offline player' request that cannot be immediately fulfilled is made from the main server thread, an exception is thrown.

The exception thrown as a result of 3) can be disabled in the config. In this case, the query is performed anyway. The main server thread will block until the request is complete.
2018-08-11 19:02:57 +01:00
Luck
56df15caf8
Add bukkit-legacy build back to the main project 2018-08-11 18:11:30 +01:00
Luck
03720665b3
Move to gradle 2018-08-10 20:39:29 +01:00
Luck
445429b510
Update text & asm dependencies (fixes #1142)
Updates for:
6a7fda4e80
2018-08-10 00:09:34 +01:00
Luck
c698587d53
Update text dependency 2018-08-09 22:43:41 +01:00
Luck
b8466beee5
Completely rework event system
* Event instances are now generated dynamically at runtime. The performance hit of creating proxies at runtime is negligible in this case.

* A better EventBus implementation is now being used internally, API contracts are unaffected.
2018-08-09 22:39:33 +01:00
Luck
efa666445f
Initial support for Brigadier (1.13 commands) on Bukkit servers 2018-08-08 23:42:25 +01:00
Luck
59c7d77525
Load a up-to-date copy of group data before applying web editor changes 2018-08-08 09:00:35 +01:00
Luck
553da9baf6
Give some form of feedback when trying to applyedits no changes instead of no feedback at all (#1136) 2018-08-08 08:58:58 +01:00
Luck
486ddb3d42
Don't include any database properties by default (#1134) 2018-08-05 21:59:48 +01:00
Luck
381922fc02
Don't schedule a delayed load task on startup (#1130) 2018-08-05 21:51:53 +01:00
Luck
4c891f0819
Fix uppercase inconsistencies when saving users to SQL storage types (#1119)
This was causing issues when user data was saved, without UUID data being saved beforehand.

This commit fixes the way the inconsistency was introduced, and ensures that inconsistent data is made consistent in the future. (when players next login)
2018-07-30 11:22:50 -07:00
Luck
4b3d11ccab
More SQL escaping (#1091 & #1126)
Follows from c16630c32b
2018-07-29 17:14:48 -07:00
Luck
b1ab465991
Misc cleanup 2018-07-29 17:12:05 -07:00
Luck
952e41ad3d
A few API javadoc improvements 2018-07-27 23:45:16 -07:00
Luck
054f0c2c19
Don't add spaces when formatting 'concise' durations 2018-07-24 20:59:49 -07:00
Luck
2f7fce2109
Change name of Sql messenger table for compat with changes in the previous commit 2018-07-15 22:49:09 -07:00
Luck
07469599bc
Rewrite MessagingService message encoding, conform to new plugin message channel requirements
* This change isn't backwards compatible with previous builds, this version (& onwards) won't be able to "communicate" with old versions, and vice versa.

* MC 1.13 requires plugin message channel names to be namespaced, so 'lpuc' has been changed to 'luckperms:update'

* The channel names for Redis/Lily types have also changed, I've been wanting to change the encoded format to something a bit saner for a while, and this seemed like a good time. Changing the channel names a) keeps things consistent and b) means I don't have to worry about old versions interpreting the new format.
2018-07-15 22:42:37 -07:00
Luck
08869da96e
misc cleanup 2018-07-13 17:51:30 -07:00
Luck
7540a6eb70
Send more appropriate message when no users/groups match the editor type (#1096) 2018-07-13 17:51:21 -07:00
Luck
fa2d9357b8
Allow FileWatcher locations to be registered after initial start 2018-07-12 17:10:07 -07:00
Luck
247a40b65f
Fix /lp search for groups when using separated file storage (#1094) 2018-07-12 16:35:32 -07:00
Luck
01ffe6ad5a
Use synchronized wrapper for NodeMap backings 2018-07-12 09:50:10 -07:00
Luck
c16630c32b
Escape groups keyword in SQL queries to (hopefully) fix compat with newer versions of MySQL (#1091) 2018-07-11 13:09:20 -07:00
Luck
bf64f465a8
Re-implement Bukkit 1.7.10 support 2018-07-01 15:31:28 +01:00
Luck
c1e0b874d8
Add helpful message for users on first startup 2018-07-01 15:07:25 +01:00
Luck
c780266139
Add setprefix, setsuffix, settempprefix, settempsuffix commands (#840) 2018-06-27 17:31:30 +01:00
Luck
08454d58d0
Refactor the way contexts are cached on all platforms (#1071)
Should fix memory leak issues on BungeeCord
2018-06-27 00:17:53 +01:00
Luck
ee13540d78
Specify explicit global context in generated LP commands when default contexts have been set (#1062) 2018-06-26 14:39:18 +01:00
Luck
379eb00b69
Cleanup various message localisations, limit the size of the PermissionRegistry 2018-06-19 22:27:47 +01:00
Luck
2036127612
Cleanup action log formatting and pagination
This is technically a breaking change to the API, but I'm fairly certain hardly anyone is using these methods (the pagination functionality in the API is pretty useless)

Can always add them back if it becomes an issue
2018-06-18 16:08:18 +01:00
Luck
6b305972ac
Fix sponge build script 2018-06-16 18:41:53 +01:00
Luck
b8c06904ab
Make logging messages a bit less obnoxious
* Removed the ascii text from the startup output
* Log messages (but not command output) is now sent through the standard server logger, and isn't colored
2018-06-16 16:59:59 +01:00
Luck
6baa472567
Fix context cache invalidation 2018-06-15 19:07:24 +01:00
Luck
9c449def57
Update some dependency versions 2018-06-13 20:29:00 +01:00