1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-17 23:02:55 +08:00
Commit Graph

606 Commits

Author SHA1 Message Date
Dean Herbert
465e7d29fe Avoid showing the external link warning 2022-01-27 14:53:11 +09:00
Dean Herbert
4012ef7e7b Reduce polling rate when idle even if HighPollRate is requested 2022-01-13 17:33:55 +09:00
Dean Herbert
46d2f305b5 Log chat polling rate changes 2022-01-13 17:31:59 +09:00
Dean Herbert
2de0c34bc9 Reduce exposure of ChannelManager 2022-01-13 17:10:48 +09:00
Dan Balasescu
ef66ec4622 Also fix MessageFormatter tests 2022-01-11 17:55:43 +09:00
Dan Balasescu
3cb5f43f77 Fix incorrect action returned for wiki links in DEBUG mode 2022-01-11 17:46:49 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
Dean Herbert
3ea7588a91 Update continuation usages to use GetCompletedResult 2022-01-06 22:53:07 +09:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Bartłomiej Dach
e7d7587ea5
Merge branch 'master' into reduce-chat-overhead 2022-01-01 15:02:55 +01:00
Dean Herbert
1262e76a58 Fix test failure due to missing DI cached IdleTracker 2021-12-31 23:18:03 +09:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
Dean Herbert
7c25ce81e1 Further reduce chat poll rate when idle or not visible 2021-12-26 16:26:47 +09:00
tbrose
8e79fac389 Fixes code quality check failed 2021-12-14 16:23:51 +01:00
tbrose
882223b27f Using static call and verbatim symbol and optimizes regex pattern for username check 2021-12-07 02:38:10 +01:00
tbrose
b6d47a41f4 Adjusted RegEx pattern to also take special characters into account 2021-12-07 02:14:40 +01:00
tbrose
7a0d4fca17 Fixes using Matches+Count instead of IsMatch negatively affecting performance 2021-12-07 01:41:21 +01:00
tbrose
f02e44d552 Fixes not matching coding style 2021-12-07 01:38:48 +01:00
tbrose
39594b7362 Fixes detection of mentioning of user falsely detects messages where the username is coincidentally contained in words of a message. 2021-12-06 23:32:21 +01:00
tbrose
0a6c221de4 Adds tests for checkContainsUsername function of MessageNotifier component 2021-12-06 22:07:47 +01:00
Dean Herbert
7c2e79f911 Update all simple cases of switching to IWorkingBeatmap 2021-11-17 20:56:57 +09:00
Dean Herbert
f74afb48fd Fix StandAloneChatDisplay's TextBox having different corner radius 2021-11-16 17:50:57 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Dean Herbert
6b6dd93e9e Fix LinkFlowContainer not creating user links supporting full IUser specification 2021-11-08 14:17:47 +09:00
Dean Herbert
b9983add15 Rename User to APIUser and move to correct namespace 2021-11-04 18:21:31 +09:00
Bartłomiej Dach
6f863ca204
Adjust game-side text flow containers to part-based model 2021-10-29 06:34:08 +02:00
Dean Herbert
95837990f3 Apply some second-pass inspections that appeared after previous changes 2021-10-27 13:09:30 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Gagah Pangeran Rosfatiputra
47c7701e47
handle changelog link in message formatter 2021-10-12 09:57:47 +07:00
Gagah Pangeran Rosfatiputra
e0c54e3207
add OpenChangelog link action 2021-10-12 09:37:11 +07:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
Bartłomiej Dach
c4627bed6d
Print username in case of generic network failure too 2021-09-12 12:56:36 +02:00
rednir
e511c2ef2b
add comment 2021-09-12 08:50:53 +01:00
Davran Dilshat
c166f1a06a change error message based on exception message 2021-09-11 14:18:09 +01:00
Davran Dilshat
acb181ff2b rename alreadyJoinedChannel -> privateChannel 2021-09-10 08:15:43 +01:00
rednir
5ec615c783
display user in error message
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-09-10 08:02:15 +01:00
rednir
84c152e7b6
break when already found user
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-09-10 08:01:38 +01:00
Davran Dilshat
255f8a9769 add alias "/msg" (also a command in stable) 2021-09-07 17:25:47 +01:00
Davran Dilshat
b1c89f7618 ignore case when search for already joined channel 2021-09-07 17:22:59 +01:00
Davran Dilshat
f54d5675db check if user joined requested channel already 2021-09-07 17:06:12 +01:00
Davran Dilshat
5c385e84ea wrong command name in query message 2021-09-05 21:20:19 +01:00
Davran Dilshat
cb6cee9aea add /query as alias of /chat 2021-09-05 21:10:08 +01:00
Davran Dilshat
59ca69e41f add /chat command 2021-09-05 18:16:57 +01:00
smoogipoo
956c1cc216 Merge branch 'master' into activity-on-multiplayer-screens 2021-08-24 12:33:34 +09:00
Endrik Tombak
058d2d2a49 Use nekodex's regex from osu-web 2021-08-20 23:01:06 +03:00
Endrik Tombak
8745fe9e34 Change editor timestamp regex to not match non-editor ones 2021-08-20 22:32:04 +03:00
Dean Herbert
1faf789f0e Allow expanding chat using key binding even when it is hidden 2021-08-18 18:25:21 +09:00
Dean Herbert
b82f92d7b8 Adjust background colours of textbox in chat display 2021-08-17 16:16:49 +09:00
Dean Herbert
35b9f84c00 Expose StandAloneChatDisplay.Textbox 2021-08-17 16:16:49 +09:00
Nathan Alo
cc3468b4ab apply suggestions
- make `UserActivity.InGame` and derive that to `InSoloGame` and `InMultiplayerGame`
- rename `SoloGame` to `InSoloGame`
- rename `MultiplayerGame` to `InMultiplayerGame`
2021-08-16 06:32:33 +08:00
Opelkuh
7d6f7ac75e Fix mark channel as read error 2021-08-15 02:57:11 +02:00
Jamie Taylor
c1d8a7e2ad
Add and use 'Submit' select sample variant for particular components 2021-07-30 21:35:28 +09:00
Jamie Taylor
2eb12a59b7
Rename function to be more accurate 2021-07-09 11:16:47 +09:00
Jamie Taylor
546f55d341
Change profile section expansion to use dropdown sounds 2021-07-08 20:23:11 +09:00
Dean Herbert
31dbc7798b Merge branch 'master' into linkify-metadata 2021-07-01 19:41:33 +09:00
smoogipoo
7a86686f40 Make nullable 2021-06-29 16:30:40 +09:00
smoogipoo
9132c42f87 Fix actions posted to the wrong channel 2021-06-29 15:58:07 +09:00
Joseph Madamba
6fda5e569a Fix beatmap discussion links wrongly leading to beatmap page 2021-06-20 21:37:00 -07:00
Dean Herbert
8eab7df955 Move BindCollectionChanged out of async load 2021-06-11 17:51:58 +09:00
Dean Herbert
20759657de Rename configuration variables and refactor lots more 2021-06-11 16:37:31 +09:00
Dean Herbert
3d645608eb Remove nullability of DI dependencies and fix incorrect load order 2021-06-11 16:28:53 +09:00
Dean Herbert
139401a04a Inline and refactor overly verbose MessageNotifier code 2021-06-11 16:27:31 +09:00
Craftplacer
4925a7d59e
Minor code quality changes 2021-06-05 15:57:14 +02:00
Craftplacer
ce4bcda803
Use separate method for fetching channel objects
Resolves a pull request review
2021-06-05 14:02:48 +02:00
Craftplacer
39c3b08fc7
Merge remote-tracking branch 'upstream/master' into chat-mention 2021-06-05 11:18:06 +02:00
Craftplacer
b746fe7c03
Fix binding order 2021-06-05 11:03:49 +02:00
Bartłomiej Dach
5f5f3a8c5c General comment cleanups 2021-06-03 14:20:52 +02:00
Bartłomiej Dach
b2cc2a51ec Rename method to be less misleading
Would rather avoid variations of Equals/Equal/IsEqual. There's not
really much equality involved as the types are different.
2021-06-03 14:13:01 +02:00
Bartłomiej Dach
e8c2483f19 Use standard list instead of bindable list
No reason to use a bindable list there, as `CollectionChanged` was never
subscribed to.
2021-06-03 14:09:52 +02:00
Bartłomiej Dach
8193691cbc Invert condition to reduce nesting 2021-06-03 14:09:52 +02:00
Dean Herbert
a6cc37eb3b Mark fields readonly 2021-06-03 14:56:21 +09:00
Dean Herbert
4a5d8215f3
Merge branch 'master' into keyboard_shortcuts 2021-06-03 14:47:40 +09:00
Dean Herbert
1f8abcdf6c Merge branch 'master' into fix-relative-link-resolution 2021-06-01 16:49:02 +09:00
Dean Herbert
a9f4bc6285 Never return a null argument
Enable nullable
2021-06-01 14:11:17 +09:00
Dean Herbert
111bfd4d88 Fix relative URLs having a null argument after resolution to LinkDetails 2021-06-01 13:50:20 +09:00
Craftplacer
b3ac67675e
Merge branch 'chat-mention' of github.com:Craftplacer/osu into chat-mention 2021-05-27 21:59:51 +02:00
Craftplacer
13b2b7c148
Fix formatting 2021-05-27 21:58:54 +02:00
Craftplacer
0b17af81f1
Use Contains instead of IndexOf
Co-authored-by: Berkan Diler <b.diler@gmx.de>
2021-05-27 09:48:30 +00:00
Dean Herbert
aa23c4a4b9
Merge branch 'master' into keyboard_shortcuts 2021-05-27 16:30:34 +09:00
Craftplacer
a679efac1c
Reduce duplicate notification code by making a base class 2021-05-27 01:00:26 +02:00
Craftplacer
cf39e58ce7
Subscribe to CollectionChanged before binding to JoinedChannels 2021-05-27 01:00:08 +02:00
Craftplacer
d47370bac9
Locally bind to LocalUser 2021-05-27 00:59:29 +02:00
Gagah Pangeran Rosfatiputra
905364b5fe
add url as argument for link action external 2021-05-26 19:34:34 +07:00
Dean Herbert
52ca2f4797 Merge branch 'master' into chat-mention 2021-05-26 16:00:26 +09:00
smoogipoo
e3b8d8ee18 Add support for overlay-coloured links 2021-05-17 16:58:54 +09:00
Gagah Pangeran Rosfatiputra
f2de28814a
add and handle OpenWiki link action 2021-05-17 00:43:59 +07:00
Dean Herbert
3befb49ea9 Fix system messages always being displayed above standard messages
Closes https://github.com/ppy/osu/issues/12509.
2021-04-22 14:52:01 +09:00
Dean Herbert
254f9bb58b Show API human readable error message when chat posting fails
Closes #11902.
2021-02-26 13:38:00 +09:00
Dan Balasescu
dad6e7e825
Merge pull request #11755 from peppy/fix-message-formatter-domain
Fix MessageFormatter not working for custom endpoints
2021-02-12 16:01:55 +09:00
Dean Herbert
3799493536 Add test coverage of int match failures 2021-02-12 15:25:00 +09:00
Dean Herbert
bb9123eecd Better handle fallback scenarios for beatmap links 2021-02-12 15:17:54 +09:00
Dean Herbert
1c5aaf3832 Add back default value 2021-02-12 15:03:53 +09:00
Dean Herbert
6a42d312f6 Match using EndsWith to ignore protocol (and allow http) 2021-02-12 14:59:56 +09:00
Dean Herbert
33c9ecac8a Fix MessageFormatter not working for custom endpoints 2021-02-12 14:54:19 +09:00
Dean Herbert
e6980688f6 Leave the multiplayer channel when leaving multiplayer 2021-01-21 15:42:23 +09:00
Dean Herbert
323da82477 Add website root URL and update most links to use it
For what it's worth, I intentionally didn't include news / changelog /
supporter, because these should never change.
2020-12-24 18:11:42 +09:00
Angela Zhang
74bd2f41e6 Style fixes 2020-12-20 13:51:39 -06:00
Angela Zhang
7d326c7f24 Review changes + added tests 2020-12-20 13:18:00 -06:00
smoogipoo
45107280a0 Make TimeBetweenPolls into a bindable 2020-12-20 18:34:54 +09:00
Angela Zhang
45482e8709 Whitespace fixes 2020-12-17 18:43:39 -06:00
Angela Zhang
454c7538c0 CI Style Fixes 2020-12-17 17:59:36 -06:00
Angela Zhang
71a082110a Making style changes + supports reopening PM chats 2020-12-17 16:56:34 -06:00
Joseph-Ramos-CMU
b37a983fbf Formatting fixes
Fixed some formatting issues to comply with InspectCode.
2020-12-16 12:56:36 -05:00
Joseph-Ramos-CMU
2f8a085adf Reworked reopening last tab to no longer use recursion
A reviewer of the pull request was concerned about recursion. I changed
the code to be iterative.
2020-12-16 12:04:07 -05:00
Joseph-Ramos-CMU
7b169c4f62 Changed internal closedChannel list to store channels names instead of channel objects
This is for efficiency purposes; it's more efficient to just store
the names than store the whole object.
2020-12-16 10:13:50 -05:00
Joseph-Ramos-CMU
bd2765ecc4 Fixed style concerns 2020-12-14 13:23:43 -05:00
Joseph-Ramos-CMU
3301f532ee Additional formatting
Ran the dotnet format as well as the .\InspectCode.ps1 tools, and
fixed the style issues they found.
2020-12-13 23:27:48 -05:00
Joseph-Ramos-CMU
08a2cdaf8d Minor formatting changes 2020-12-13 21:02:35 -05:00
Joseph-Ramos-CMU
2863187b16 Changing behvaior for channels that have already been reopened
Ctrl+Shift+t will now skip trying to reopen any channels that are
already open, and will instead attempt to open the next still-closed channel.
2020-12-13 20:46:02 -05:00
Joseph-Ramos-CMU
5481ba43c7 Fixed a bug where Ctrl+Shift+t shortcut was using the wrong list
The JoinLastClosedChannel code was using the joinedChannels list instead
of the closedChannels list. Fixing this bug made the Ctrl+Shift+t
shortuct work as expected.
2020-12-13 14:14:57 -05:00
Joseph-Ramos-CMU
2d98da0d61 Untested Ctrl+Shift+T shortcut prototype
Added a list to the ChannelManager class that tracks
which tabs I closed. Works like a stack, where it adds to the end
every time I close a tab. Then added a function that uses
this list to open the last closed channel, and added a shortcut inside of ChatOverlay,
similar to how jmeng implemented shortcuts.

Code is currently untested.
2020-12-13 13:21:50 -05:00
Dean Herbert
1e1569eb53 Use int instead of long for user_id fields for now 2020-11-06 12:59:46 +09:00
Berkan Diler
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
Dean Herbert
61e62929ee Apply changes in line with framework event logic update 2020-10-01 13:06:01 +09:00
Poliwrath
97637bc747 remove new.ppy.sh from MessageFormatter 2020-08-26 02:50:02 -04:00
Dean Herbert
7fe69bb199 Fix some web requests retrieving the user too early 2020-07-14 13:07:17 +09:00
smoogipoo
88aed1d504 Merge branch 'master' into update-inspectcode-version 2020-06-09 20:12:39 +09:00
Dean Herbert
712fd6a944 Fetch existing private message channels on re-joining 2020-06-08 17:54:26 +09:00
Dean Herbert
f6d9f0597b Add implicit join logic for multiplayer rooms 2020-06-03 21:28:29 +09:00
Dean Herbert
1ba3f0ac14 Fix chat history not being loaded for multiplayer matches 2020-06-03 17:31:55 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
alex
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07:00
Dean Herbert
c73d45bc01 Reduce initial channel load overhead by only loading history on active channel 2020-04-29 15:23:28 +09:00
Dean Herbert
07b8ef83c9 Add /np to help line 2020-04-19 22:15:07 +09:00
Dean Herbert
1dd471dfcc Add /np (now playing) command support in chat 2020-04-19 15:13:25 +09:00
Dean Herbert
1b6342438f Hide scrollbars in tournament chat display 2020-03-23 12:05:16 +09:00
unknown
2340142dc1 Merge branch 'master' of https://github.com/ppy/osu into linkify-metadata 2020-03-18 14:18:53 +08:00
TheWildTree
acd280c855 Add System channel type and use it for the ChannelSelectorTab 2020-03-15 22:13:26 +01:00
Dean Herbert
0102aaf32a Move chat expand/contract logic local to tournament 2020-03-08 18:11:57 +09:00
Dean Herbert
aed52179f0 Fix weird reverse logic 2020-03-08 15:32:22 +09:00
recapitalverb
7de7748607 Remove unnecessary nullability 2020-02-14 22:02:10 +07:00
recapitalverb
c46d828716 Preserve permitNulls 2020-02-14 20:59:51 +07:00
recapitalverb
c753cb46c5 Use [Resolved] wherever possible 2020-02-14 20:14:00 +07:00
Craftplacer
1c1b5aa939 Merge branch 'chat-mention' of https://github.com/Craftplacer/osu into chat-mention 2020-02-08 10:45:41 +01:00
Craftplacer
41915df1f3 Change comment 2020-02-07 16:52:53 +01:00
Craftplacer
dd86443264 Make isMentioning static 2020-02-07 16:51:37 +01:00
Craftplacer
7cd228db07 Change notifyOnChat to notifyOnPM 2020-02-07 16:50:22 +01:00
Bartłomiej Dach
5875f2158c Properly rename event handler 2020-02-05 19:20:16 +01:00
Craftplacer
9378b216e6 Lowercase the N inside channel_NewMessagesArrived 2020-02-05 19:01:51 +01:00
Craftplacer
f16b90a152 Remove username data from PrivateMessageNotification 2020-02-03 23:56:23 +01:00
Craftplacer
4eedd82032 Don't unnecessarily expose properties 2020-02-03 23:03:27 +01:00
unknown
2274d70dac apply suggestions 2020-01-31 06:41:50 +08:00
unknown
c5995acfff linkify metadata 2020-01-30 12:30:25 +08:00
Craftplacer
48231317d2 Make IsMentioning private 2020-01-29 02:07:08 +01:00
Craftplacer
5e91a3f0f8 Use IndexOf 2020-01-29 01:59:52 +01:00
Craftplacer
65644731e0 Make field readonly 2020-01-25 17:03:39 +01:00
Craftplacer
f9def83552 Make IsMentioning public to allow it to be used for testing 2020-01-25 16:44:45 +01:00
Craftplacer
e0ef672549 Use binded list 2020-01-25 16:43:51 +01:00
Craftplacer
00da45ead4 Matching strings instead of splitting 2020-01-25 14:40:53 +01:00
Craftplacer
158b969052 Remove XML doc from HandleMessages 2020-01-25 14:40:16 +01:00
Craftplacer
c6f450f932 Resolve code analysis errors 2020-01-22 11:23:27 +01:00
Craftplacer
3d2625836a Remove static from getWords method 2020-01-22 10:50:27 +01:00
Craftplacer
771155e882 No notification "debouncing" 2020-01-22 10:48:55 +01:00
Craftplacer
e4accb3344 Remove IsActive property
as it never really made sense to have it in the first place
2020-01-22 10:47:51 +01:00
Craftplacer
73d4b6a6be Remove redundant lambda signature parentheses
:/
2020-01-22 00:53:49 +01:00
Craftplacer
d29694d788 Add additional comment to explain the code order 2020-01-22 00:41:46 +01:00
Craftplacer
88ea1138b6 Compile regex 2020-01-22 00:31:44 +01:00
Craftplacer
795051e256 Prevent channel duplicates 2020-01-22 00:29:12 +01:00
Craftplacer
5978e2c0e2 Redo how instances of PM notifications are removed 2020-01-22 00:28:59 +01:00
Craftplacer
699547e1a2 Also exclude last read message 2020-01-22 00:28:08 +01:00
Craftplacer
9fd494b057 Fix order where messages are checked in 2020-01-22 00:27:46 +01:00
Craftplacer
47a92a13b0 Change code comments 2020-01-22 00:13:07 +01:00
Craftplacer
4d6ff31134 Wrap getWords() with anyCaseInsensitive() 2020-01-21 23:43:21 +01:00
Craftplacer
63c8ae8211 Use IDs for checking against message author 2020-01-21 23:42:15 +01:00
Craftplacer
be2a88c8a5 Remove left over config entry 2020-01-19 18:40:17 +01:00
Craftplacer
7d1fc388ce Resolve code quality errors 2020-01-19 18:34:48 +01:00
Craftplacer
4b871f61e3 Use Humanizer for counting PMs in text 2020-01-19 18:23:12 +01:00
Craftplacer
4feae82434 Split HandleMessages method 2020-01-19 17:55:17 +01:00
Craftplacer
86ecaf223d Improve getWords() 2020-01-19 17:36:38 +01:00
Craftplacer
dd5478fe1f Remove highlighted/mentioned words 2020-01-19 17:26:43 +01:00
Craftplacer
8a9c90c5e6 Resolve CA errors #2 2020-01-18 16:18:17 +01:00
Craftplacer
64fe9692ed Resolve CA errors 2020-01-18 15:57:51 +01:00
Craftplacer
8ddd36596e Revert useless changes varying from properties, naming changes etc. 2020-01-18 15:40:55 +01:00
Craftplacer
f55cf03bd0 Remove unnecessary changes after rework 2020-01-18 14:17:26 +01:00
Craftplacer
5d244f48f7 Use instance list instead of exposing NotifcationOverlay's notifications 2020-01-17 00:00:10 +01:00
Craftplacer
2b5d541857 Merge remote-tracking branch 'upstream/master' into chat-mention 2020-01-16 23:15:39 +01:00
Craftplacer
1b53c0ff74 Remove populated property, and other changes 2020-01-16 23:15:30 +01:00
Dean Herbert
c190c68659 Add safety for channel with no messages 2020-01-13 12:22:44 +09:00
Craftplacer
8cc2d70df0 Reduce API calls by checking what message was last marked as read 2020-01-12 16:24:14 +01:00
Craftplacer
ccaf4e48a1 Remove using directive 2020-01-11 20:04:58 +01:00
Craftplacer
2ea1367a88 Remove message parameter and make it mark the entire channel as read 2020-01-11 19:47:35 +01:00
Craftplacer
f8a11e50b6 Remove redundant ToString() calls
as string interpolation does this automatically..
2020-01-11 18:00:34 +01:00
Craftplacer
d9c57baa89 Add test case for mismatch of channels 2020-01-11 17:48:03 +01:00
Craftplacer
50e357a799 Change method parameters, add detailed error message and method docs 2020-01-11 17:42:02 +01:00
Craftplacer
cd679707ed
Prevent channel duplicates
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-01-11 17:16:11 +01:00
Craftplacer
cd91cc860d Resolve "Redundant lambda signature parentheses" 2020-01-04 01:06:38 +01:00
Craftplacer
4f36bc0fd3 Add error log message for debugging 2020-01-04 00:49:35 +01:00
Craftplacer
7b71e56817 Initial commit 2020-01-02 17:07:28 +01:00
Craftplacer
0d812bce9f WIP changes for code review 2019-12-26 03:32:40 +01:00
Craftplacer
7bdfd2e23c All copyright goes to peppy 2019-12-17 07:04:55 +01:00
Craftplacer
b6c31e7764 Remove ignore list, move code to MessageNotifier and add it to DI
This also adds countable private message notifications.
2019-12-17 06:59:27 +01:00
Craftplacer
15c25c571d Merge remote-tracking branch 'upstream/master' into chat-mention 2019-12-16 00:59:06 +01:00
Craftplacer
e8180ab153 Add ToString() method to message for better debugging 2019-12-16 00:45:55 +01:00
Huo Yaoyuan
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
Dean Herbert
898520935e Move link handling code to OsuGame
This allows for future calls from arguments / associations
2019-11-01 11:40:51 +09:00
Dean Herbert
d1c6e3f620 Add test for scroll to end when max history is exceeded 2019-10-29 14:32:52 +09:00
Bartłomiej Dach
661dfbefaf Change containment check to overlap
Due to scenarios wherein a formatted link ended up as part of a larger
raw link after parsing, change the containment check to an overlap check
and add appropriate tests for these edge cases.
2019-10-25 00:42:58 +02:00
Bartłomiej Dach
cbd99cc767 Resolve link-in-link edge case
Testing with #6542 surfaced a crash scenario, caused by formatted links
that had URLs in the display text, for example

    [mean example - https://osu.ppy.sh](https://osu.ppy.sh)

In that case the outer Markdown link would get picked up once, and then
reduced to the link text when looking for other links, leading to it
being picked up again the second time when the raw link is found.

Add a check in the raw link parsing path that ensures that the found
URL is not a part of a bigger, pre-existing link.
2019-10-24 15:52:55 +02:00
Bartłomiej Dach
24b7160522 Add support for parsing Markdown inline links
Extend the Markdown parsing regex to allow parsing so-called inline
links. Within the parenthesis () part of the Markdown URL syntax,
introduce a new capturing group:

    (
      \s+              // whitespace between actual URL and inline title
      (?<title>        // start of "title" named group
        ""             // opening double quote (doubled inside @ string)
        (
          [^""]        // any character but a double quote
          |            // or
          (?<=\\)      // the next character should be preceded by a \
          ""           // a double quote
        )*             // zero or more times
        ""             // closing double quote
      )
    )?                 // the whole group is optional

This allows for parsing the inline links as-provided by web. Correctness
is displayed by the passing tests.
2019-10-24 15:52:55 +02:00