Commit Graph

1311 Commits

Author SHA1 Message Date
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