1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 13:22:57 +08:00
Commit Graph

499 Commits

Author SHA1 Message Date
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
Dean Herbert
c3375071ad Fix formatting issue 2019-10-23 00:26:47 +09:00
Dean Herbert
e9aa7f3218 Subclass and use yellow for stand-alone chat display 2019-10-23 00:24:19 +09:00
Andrei Zavatski
bb7af1e39c Fix some margin/padding issues 2019-10-22 01:45:04 +03:00
Andrei Zavatski
d19041fa53 Implement DaySeparator class 2019-10-22 01:30:37 +03:00
Dan Balasescu
b161aa22c3
Merge branch 'master' into simplify-exit-logic-of-screens 2019-10-02 18:13:57 +09:00
Ganendra Afrasya
b6dd610af8 Apply reviews 2019-10-01 23:18:03 +07:00
Joehu
5f700f2ae9 Simplify exit logic of screens with textboxes using back button receptor 2019-10-01 08:26:34 -07:00
Ganendra Afrasya
208b9a4eba Add new virtual float for username to timestamp padding 2019-10-01 20:47:53 +07:00
Bartłomiej Dach
08350a1aca Add parenthesis handling to old link format
Allow users to put both balanced round parentheses, as well as
unbalanced escaped ones, in old style link text. The implementation
is the same as for Markdown and new style links, except for swapping
all instances of

    \[\]

to

    \(\)

for obvious reasons (different type of parenthesis requiring escaping).
Tests also included.
2019-09-04 00:21:27 +02:00
Bartłomiej Dach
f04add6d9e Add bracket handling to Markdown link format
Allow users to put both balanced brackets, as well as unbalanced
escaped ones, in Markdown link text. The implementation is the exact
same as in the case of new format links.

For completion's sake, tests also included.
2019-09-04 00:07:00 +02:00
Bartłomiej Dach
24d4f0372c Refactor link parsing regexes to use named groups
For the sake of readability, consistency and to make further changes
easier, introduce named groups (?<text>) and (?<url>) to all link
parsing regexes which have parts containing the desired link text
and (optionally) URL.

The introduction of the named groups additionally simplifies
handleMatches() and makes all calls to it consistent.
2019-09-04 00:06:52 +02:00
Bartłomiej Dach
a8f16503e2 Add backslash escaping to new link format
For users to be able to add square brackets inside of links using
the new format, the regular expression used for parsing those links
contained a balancing group, which can be used for matching pairs
of tokens (in this case, opening and closing brackets, in that order).
However, this means that users could not post links with unmatched
brackets inside of them (ie. ones that contain single brackets, or
a closing bracket and then an opening one). Allow for escaping opening
and closing brackets using the backslash character.

The change substitutes this old fragment of the regex in the display
text group:

    [^\[\]]*        // any character other than closing/opening bracket

for this one:

    (((?<=\\)[\[\]])|[^\[\]])*

The second pattern in the alternative remains the same; the first one
performs the escaping, as follows:

    (
        (?<=\\)     // positive lookbehind expression:
                    // this match will succeed, if the next expression
                    // is preceded by a single backslash
        [\[\]]      // either an opening or closing brace
    )

Since the entire display group is matched, unfortunately the lookbehind
expression does not actually strip the backslashes, so they are
manually stripped in handleMatches.

As demonstrated in the unit tests attached, this also allows balanced
brackets to be mixed with escaped ones.
2019-09-03 23:18:39 +02:00
Andrei Zavatski
015406f4d2 Fix link parser 2019-08-18 22:02:59 +03:00
Dan Balasescu
bb90a273ac
Merge branch 'master' into system-user-color 2019-08-08 19:02:24 +09:00
Dean Herbert
6d5a7041fd Move system user colour assignment to ensure consistency 2019-08-08 17:10:06 +09:00
Max Hübner
0bed3bfece formatting inspection 2 2019-08-08 09:02:09 +02:00
Max Hübner
bcd443a3aa remove /j 2019-08-08 08:56:52 +02:00
Max Hübner
ffb6794b4e formatting inspection 2019-08-06 16:11:13 +02:00
Max Hübner
2f5d23b354 add join command 2019-08-05 01:02:42 +02:00
Dean Herbert
4a25a84975 Fix DrawableChannel async flow 2019-06-20 23:01:39 +09:00
Dean Herbert
5bb8649f3b Remove unused property from chat message 2019-06-18 14:22:59 +09:00
Arphox
07e17518e9 Fix all "Maintainability" CodeFactor issues 2019-06-11 10:28:16 +02:00
LeNitrous
4e6d7137aa disallow current user from opening their own private channel 2019-06-03 17:25:19 +08:00
Dean Herbert
bc962bf8f0 Move TooltipText to OsuClickableContainer 2019-05-21 13:51:38 +09:00
Paul Teng
7adaa09263 Move tab channel class into tab item class 2019-05-12 06:31:11 -04:00
Paul Teng
d53fb9a5c8 Check against type instead of channel name 2019-05-12 06:11:16 -04:00
Paul Teng
6cf1ca288f
Do not try to join the Add-channel button 2019-05-11 19:13:48 -04:00
smoogipoo
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
smoogipoo
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
Dean Herbert
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
Dean Herbert
26d53d06a9 Fix remaining issues 2019-02-28 13:31:40 +09:00
Dean Herbert
367bc53a06 Revert some more instances of 'e' variable names 2019-02-22 20:15:25 +09:00
smoogipoo
d8c55bc729 Adjust namespaces 2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f Update with framework bindable changes 2019-02-21 18:56:34 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Unknown
6eff79913b remove blank lines 2019-01-11 10:34:56 +01:00
Dean Herbert
f6018294b5 Update framework 2019-01-07 18:50:27 +09:00
smoogipoo
d4f5a8507c Exit from match screen on escape 2018-12-25 17:14:56 +09:00
Dean Herbert
396caae0a9 Remove redundant newline 2018-12-21 19:01:19 +09:00
Dean Herbert
81104f4803 Make standalone chat reuse more code from main chat overlay 2018-12-21 17:54:12 +09:00
smoogipoo
6a9b0a0ba3 Fix initial messages not being received 2018-12-21 14:02:36 +09:00
smoogipoo
6b6629e9fd Fix not posting to the correct channel 2018-12-21 14:02:29 +09:00
Dean Herbert
bc8b0485d8 Add textbox/posting support 2018-12-20 18:49:03 +09:00
Dean Herbert
65447d6f4a Add optional parameters to target messages at a specific channel 2018-12-20 17:01:08 +09:00
Dean Herbert
3a13899ce1 Add stand-alone chat component 2018-12-20 16:54:49 +09:00
Dean Herbert
ea4dce8454 Add a polling component model 2018-12-10 21:08:14 +09:00
Dean Herbert
2a2561e5c8 Update framework and otehr nuget packages 2018-12-07 19:39:54 +09:00
Dean Herbert
2f9de149dd Add constructor to create a PM channel from a User 2018-12-07 13:56:21 +09:00
smoogipoo
efdad3a3a7 Merge remote-tracking branch 'origin/master' into ChatManager_with_BindableCollection 2018-11-26 16:12:55 +09:00
smoogipoo
cadfe41f83 Merge remote-tracking branch 'origin/master' into external_link_warning 2018-11-23 15:19:52 +09:00
Dean Herbert
a144e97568 Fix crash on creating two new PM channels 2018-11-22 18:27:22 +09:00
smoogipoo
d1ec9fc294 Merge remote-tracking branch 'Joehuu/master' into fix-channel-presence 2018-11-22 13:04:32 +09:00
miterosan
4f41512265 Lowercase the references to joinedChannel and availableChannels 2018-11-21 23:21:27 +01:00
miterosan
21c9353fee Remove not used usings 2018-11-21 23:15:45 +01:00
miterosan
a14b6ac9df Replace ObservableCollection with BindableCollection 2018-11-21 23:15:44 +01:00
smoogipoo
39e9c61e24 OpenTK -> osuTK 2018-11-21 23:11:08 +01:00
Dean Herbert
2126cf0d9a Fix join process for PMs being incorrect 2018-11-21 20:44:41 +09:00
Dean Herbert
b31efb7bb9 Fix PM channel type 2018-11-21 20:34:36 +09:00
Dean Herbert
d677921680 Remove excess newline 2018-11-21 18:53:50 +09:00
Dean Herbert
7755242a43
Merge branch 'master' into osuTK 2018-11-21 18:53:11 +09:00
Dean Herbert
88f82eb722 Fix instabilities in channel join logic 2018-11-21 17:15:15 +09:00
Dean Herbert
4cde66240d Fix default channels not being joined 2018-11-21 17:15:15 +09:00
smoogipoo
ab2c969122 Add private channel types 2018-11-21 12:58:45 +09:00
smoogipoo
f27bd3ef3e OpenTK -> osuTK 2018-11-20 17:14:59 +09:00
Dean Herbert
23a446bab2 Add support for all channel types 2018-11-20 15:03:55 +09:00
Roman Kapustin
376e76e00d Resolve merge conflicts 2018-11-18 16:10:36 +03:00
Dean Herbert
9a9d5e60af More refactors 2018-11-14 13:59:02 +09:00
Dean Herbert
c4769f6802 Refactors 2018-11-14 13:19:51 +09:00
Dean Herbert
72ae22b0c4 Add support for creating new PM conversations 2018-11-13 17:24:11 +09:00
Dean Herbert
f241fcdba1 Add back support for new API and private messages 2018-11-13 15:20:59 +09:00
Dean Herbert
4b1282235a Merge remote-tracking branch 'upstream/master' into Private_Messages 2018-11-12 20:41:10 +09:00
Roman Kapustin
b4809f4417 External link warning code cleanup 2018-11-01 23:52:07 +03:00
Roman Kapustin
7401fabb5d Extract external link opening to the ExternalLinkOpener class 2018-10-23 23:03:00 +03:00
Dean Herbert
3cacc11af1 Fix outdated API variable 2018-09-28 19:33:30 +09:00
Dean Herbert
e1c187b641 Merge remote-tracking branch 'origin/update-chat-api' into update-framework 2018-09-28 18:23:09 +09:00
Dean Herbert
6a763334a1 Exit early as safety when no messages are received 2018-09-28 10:00:40 +09:00
Dean Herbert
1b77d9fd05 Merge branch 'update-chat-api' into update-framework 2018-09-26 19:50:23 +09:00
Dean Herbert
1fd2782dd4 Fix loading spinner not disappearing on empty channels 2018-09-26 19:15:02 +09:00
smoogipoo
a8f156584b Update framework with positional/non-positional changes 2018-09-26 14:01:15 +09:00
Dean Herbert
7cd547a760 Update chat to work with new API version 2018-09-25 20:53:24 +09:00
Dean Herbert
3c8c7a0459 Move ChannelManager to OsuGame
There's no reason for it to exist at OsuGameBase
2018-09-14 13:31:25 +09:00
Dean Herbert
4341d258af Make readonly instead 2018-09-13 14:03:21 +09:00
Dean Herbert
0be3ba946f Fix system user attempting to show in profile overlay 2018-09-13 13:40:46 +09:00
miterosan
cc640893c2
Merge branch 'master' into Private_Messages 2018-08-04 00:33:46 +02:00
Dean Herbert
b4ef3dd4dd Add LocalMessage 2018-08-03 20:03:43 +09:00
miterosan
8c0bcb8e3c Fix drawable crash and lload the inital messages of newly joined channels 2018-07-29 21:40:43 +02:00
Dean Herbert
7b653fab17 Pass in lastMessageId instead of self referencing 2018-07-24 18:01:28 +02:00
Dean Herbert
6937cf27a7 Tidy up channel join logic 2018-07-24 17:51:20 +02:00
Dean Herbert
090d197b21 Remove unnecessary using 2018-07-24 17:35:08 +02:00
Dean Herbert
da730269a9 Formatting and ctor usage for required parameters 2018-07-24 15:25:47 +02:00
miterosan
42df0c974f Rename UserChannel to private channel. 2018-07-24 05:17:57 +02:00
miterosan
e769c15d28 Provide XML doc in Channel.cs and ChannelManager.cs and ChatTabControl.cs 2018-07-24 05:14:33 +02:00
miterosan
16db81e9b5 Extract the message hadling logic into IncomingMessagesHandler 2018-07-24 04:54:11 +02:00
miterosan
9a6d92bb22 Rename fetchMsgReq to fetchMessageReq in ChannelManager.cs 2018-07-23 22:09:05 +02:00
Dean Herbert
1ab75529a1 Simplify user channel message population code 2018-07-23 21:15:52 +02:00
Dean Herbert
0aacde836a Move private channel constructor to own class 2018-07-23 20:46:44 +02:00
miterosan
8e93269885 Remove whitespace 2018-07-09 22:47:01 +02:00
miterosan
3140b2e15c Fix duplicate messages appearing 2018-07-09 22:14:21 +02:00
miterosan
290b6e5f1d Fix the crash in the visual testcase 2018-07-09 22:09:27 +02:00
miterosan
ec914a5095 Fix crash when the local echo is send to the wrong channel. 2018-07-09 21:00:39 +02:00
miterosan
f681ef41ac Rename MAX_HISTORY to MaxHistory, added some logging on failures, use a lamda in ChatOverlay instead of a method pointer. 2018-07-09 20:39:16 +02:00
miterosan
16d3815a59 Clean Channel up and reword two comments 2018-07-09 18:58:33 +02:00
miterosan
4b638db475 Reorder the properties and fields on Channel.
Make MAX_HISTORY because cause can not be public.
2018-07-09 18:52:28 +02:00
miterosan
263e68de91 Use a custom channel not found exception. 2018-07-09 18:45:11 +02:00
miterosan
29e8c70ed7 Only use one tabControl (channeltabcontrol). Fix that the Channel messages did not refresh. 2018-04-18 20:46:42 +02:00
miterosan
142e1b8587 update the line endings 2018-04-14 13:32:48 +02:00
miterosan
5bfb386226 Merge remote-tracking branch 'origin/master' into Private_Messages 2018-04-14 13:31:03 +02:00
miterosan
1b51da70af Create an abstraction for APIMessagesRequest 2018-04-14 13:23:16 +02:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
miterosan
e39f5a1adf Rename var chatmanager -> channelManager
Apply requested changes
2018-04-12 23:19:13 +02:00
miterosan
a5e0311253 Trim whitespaces 2018-04-11 20:53:35 +02:00
miterosan
c2020742b2 Actually use the fact that ChannelManager is now a component 2018-04-11 20:37:51 +02:00
miterosan
2056258def Fix code sanity 2018-04-11 20:31:16 +02:00
miterosan
3860594f40 Rename everything into channel and remove everything chat 2018-04-11 20:01:57 +02:00
miterosan
39ecc3d31d Add Test Case, improve displaying the avatar, use a chatTabControl instead of putting both in ChatOverlay, readd shadow.
Requires osu-framework for a fix
2018-04-11 18:23:09 +02:00
miterosan
85f736ae89 Allow opening a new chat with right click on User
Allow faster viewing of the usertab using lasy loading
2018-04-09 23:14:39 +02:00
miterosan
5512d58c1d Remove the sealed modifier 2018-04-09 21:06:05 +02:00
miterosan
aa26ea483d remove using, remove empty agrument list 2018-04-08 22:43:01 +02:00
miterosan
2a314f052a Trim more whitespace 2018-04-08 22:28:50 +02:00
miterosan
0a207e00d5 Trim whilespace 2018-04-08 22:24:55 +02:00
miterosan
4b7ffd09d9 Trim whitespace 2018-04-08 22:18:29 +02:00
miterosan
a48ccb5603 Implement Private chat 2018-04-08 22:12:57 +02:00
miterosan
a70b329155 Split drawing and business logic of ChatOverlay 2018-04-08 18:21:48 +02:00
miterosan
56de6c1067 Rename Channel to ChannelChat 2018-03-28 21:11:06 +02:00
smoogipoo
c29f7a4333 Merge remote-tracking branch 'origin/master' into netstandard 2018-03-24 14:49:46 +09:00
naoey
75fdca928e
Handle links correctly and don't re-open profile if the user is same. 2018-02-26 01:21:29 +05:30
naoey
bb40919f9c
Add link handling to recent activities.
- Add a show user action to link handling
2018-02-26 01:21:27 +05:30
smoogipoo
b500b76407 Merge branch 'master' into update-branch 2018-02-08 23:35:48 +09:00
Dean Herbert
e5188fd151 Add better channel test cases (testing non-existent channels) 2018-01-30 17:43:19 +09:00
Dean Herbert
d81d884a01 Remove unnecessary paren handling from regex
Can't find a reason for this to exist
2018-01-30 17:16:01 +09:00
Dean Herbert
662c7c5bdc Fix osump links 2018-01-30 16:44:43 +09:00
Dean Herbert
dd2731b873 Add support for markdown style links 2018-01-30 16:38:45 +09:00
Dean Herbert
df221b6786 Remove usage of ValueTuple to allow for dynamic recompilation 2018-01-29 17:45:23 +09:00
Dean Herbert
5a80c49640 Improve reference xmldoc 2018-01-17 19:44:15 +09:00
FreezyLemon
2c67ff75ed added custom hoverclicksounds so links make sounds on hover&click 2018-01-11 18:52:50 +01:00
FreezyLemon
3bf9901dd2 Fixed bugs and added tests 2018-01-09 16:11:45 +01:00
Dean Herbert
72624aea18 Use a better method of link compilation
Adds word wrap back, simplifies a lot.
2018-01-09 20:33:20 +09:00
Dean Herbert
1be0569743 Update licence headers 2018-01-09 14:34:52 +09:00
Dean Herbert
b035a92bda
Merge branch 'master' into url-parsing-support 2018-01-09 14:28:20 +09:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
FreezyLemon
e7721d71f3 Changed chat link implementation according to review 2017-12-31 00:51:47 +01:00
FreezyLemon
7454633f63 Refactor and general tidying up 2017-12-28 20:11:21 +01:00
FreezyLemon
7c49becc83 CI adjustments 2017-12-25 20:56:20 +01:00
FreezyLemon
962e4d7c8a Removed LinkId and word wrapping (for now).
Also reimplemented the OsuHoverContainer properly
2017-12-25 20:46:04 +01:00
FreezyLemon
d0b7c92b46 Removed unnecessary usings. 2017-12-11 13:46:23 +01:00
FreezyLemon
bfa9beb7b2 Switched to regex to handle most of the decision on what to do on click. Also updated the getIdFromUrl method to adapt to the changes 2017-12-11 13:43:47 +01:00
FreezyLemon
8a02507d44 Let regex handle "getIdFromUrl" 2017-12-11 12:40:37 +01:00
FreezyLemon
63698895a5 Removed unnecessary container and fixed "HandleInput" for ChatLinks 2017-12-11 11:40:04 +01:00
FreezyLemon
4d475f1c1b Changed it so ChatLinks handle hover and click sounds themselves 2017-12-11 11:05:32 +01:00
FreezyLemon
13bc50ad56 Removed ICanDisableHoverSounds interface 2017-12-11 10:42:36 +01:00
FreezyLemon
68255095a6 Renamed the IHasHoverSounds interface to ICanDisableHoverSounds and made it so that if the interface is not implemented, it is just ignored (samples will always be played). If it is implemented, the ShouldPlayHoverSound bool is decisive of whether sounds are played or not 2017-12-07 19:52:40 +01:00
FreezyLemon
c5a7f5b163 Renamed the static variables and made them readonly, aswell as other small adjustments (CI) 2017-12-07 19:39:39 +01:00
FreezyLemon
908553ffaf Added parameter for LoadMultiplayerLobby (CI warning for unused int) 2017-12-07 19:38:03 +01:00
FreezyLemon
e05618a415 Removed unnecessary "using" directives 2017-12-07 19:36:56 +01:00
FreezyLemon
ce9b003e9a Reverted GetUserRequest because spectating is not implemented yet, and thus the additions are not needed (yet) 2017-12-07 16:52:43 +01:00
FreezyLemon
2ceb073b5d Renamed OnClick to OnLinkClicked to (what should be) obvious reasons 2017-12-07 16:30:15 +01:00
FreezyLemon
2129d6cede Renamed the "on click" method to OnClick() and moved most of the implementation to ChatLink.
Also fixed the tooltip text up
2017-12-07 16:23:43 +01:00
FreezyLemon
5ded6e877c Added some tooltip text handling.
Also fixed a bug caused by SameLinkSprites where "this" is actually supposed to be included by just adding a manual function call.
2017-12-07 13:49:44 +01:00
FreezyLemon
8ba66015f4 Implemented the new IHasHoverSounds interface in a private "ChatHoverContainer" class which is now used for ChatLink instances.
Also moved the overhead for finding all sprites in the same line that reference the same URL to the LoadComplete (used to be every hover, now only once).
2017-12-07 13:17:40 +01:00
FreezyLemon
f4f1291919 Removed "wiki:" prefix from wiki links (links are visible on tooltips so this is unnecessary now) 2017-12-07 11:23:31 +01:00
FreezyLemon
8a88040ef5 Added tooltip to links 2017-12-07 11:12:21 +01:00
FreezyLemon
bd11124e6d Removed unnecessary copy (pass-by-reference anyways) 2017-12-07 11:12:12 +01:00
FreezyLemon
1b971c01e6 Fixed a bug where links would be out of order in their List which would cause the game to crash 2017-12-07 10:31:44 +01:00
FreezyLemon
541c25e995 Renamed ChatLinkSpriteText to ChatLink for convenience 2017-12-07 10:28:12 +01:00
FreezyLemon
fd13bacf4a Made default link ID -1 (if no link is present) because linkId is currently being set to link.index which can be 0. 2017-12-04 13:34:16 +01:00
FreezyLemon
c574cc4308 Removed unnecessary "using" statements 2017-12-03 11:16:34 +01:00
FreezyLemon
ade7311c15 Updated implementation to be based around a "LinkId" (atm the position of the link, anything unique to a link inside its message will be fine), which does not allow matching (OnHover related) between different links 2017-12-01 21:31:12 +01:00
FreezyLemon
78ff5d81d3 Fixed casting 2017-12-01 21:03:41 +01:00
FreezyLemon
152eb83c42 Added new class for chat lines, that colour the messages after formatting. URLs will become blue, and on hover (also defined here) be turned yellow-ish 2017-12-01 20:33:27 +01:00
FreezyLemon
f5f287bed5 Rolled back the idea that there should be a separate class for formatted messages 2017-12-01 20:25:02 +01:00
FreezyLemon
01bea3bada Re-implemented message formatting (mostly taken from osu-stable code) 2017-12-01 10:56:48 +01:00
smoogipoo
aac41d2de6 Disable resharper inspections on case-by-case basis 2017-11-20 18:55:48 +09:00
MrTheMake
02bc429911 CI fix 2017-09-22 15:37:17 +02:00
MrTheMake
18c26a85ba Added an infoMessage class to represent system messages that aren't errors 2017-09-22 15:30:07 +02:00
MrTheMake
31e26364a6 Initial implementation of chat commands 2017-09-22 01:47:24 +02:00
Dean Herbert
4f4b0a1f35 Allow posting to chat in all channels 2017-09-06 20:26:01 +09:00
Dean Herbert
a9fe1d94f7 Remove unnecessary using 2017-08-21 23:41:51 +09:00
Dean Herbert
7d1c270126 Review fixes 2017-08-21 23:34:08 +09:00
Dean Herbert
1d0b89d592 Restore usage of AddRange 2017-08-21 18:51:14 +09:00
Dean Herbert
877c69d5fe Add local chat echo support 2017-08-21 17:43:26 +09:00
DrabWeb
d29ebb139f Cleanup 2017-05-26 03:38:52 -03:00
DrabWeb
fb0b54e66a Remove merge error 2017-05-26 03:28:09 -03:00
DrabWeb
64016f9466 Merge https://github.com/ppy/osu into channel-selection 2017-05-26 03:24:41 -03:00
DrabWeb
a60d1efc21 Basic channel joining (ignore layout in ChatOverlay, temporary) 2017-05-20 21:26:39 -03:00
DrabWeb
7eba619f80 Move Joined to Channel 2017-05-20 19:37:11 -03:00
Huo Yaoyuan
cd065b8ff3 Add back GetHashCode. 2017-05-18 05:27:20 +08:00
Huo Yaoyuan
6c9505fa3a Handle possible nulls. 2017-05-17 18:11:38 +08:00
Huo Yaoyuan
b9b45493e6 Use generic IComparable together with IEqutable for Message. 2017-05-17 18:02:17 +08:00
Dean Herbert
78c1d4581f
Revert "Use generic IComparable for message."
This reverts commit aaaee5ed10.
2017-05-17 13:44:43 +09:00
Huo Yaoyuan
aaaee5ed10 Use generic IComparable for message. 2017-05-16 21:46:22 +08:00
Huo Yaoyuan
d213706d07 Use DateTimeOffset. 2017-05-16 21:14:50 +08:00
Dean Herbert
dcd4b4450d Add error message in chat when attempting to use commands 2017-05-15 13:26:35 +09:00
Dean Herbert
c4a93cbc85 Move drawable chat related classes to better namespace 2017-05-12 15:38:51 +09:00
Dean Herbert
f248efb01f CI Fixes 2017-05-12 13:25:50 +09:00
Dean Herbert
ffa59c6cb3 Support read-only channels, post to correct channel.
Also cache drawable channels better.
2017-05-11 23:51:26 +09:00
Dean Herbert
a77049213d Add basic hard-coded inefficient multi-channel support. 2017-05-11 23:10:48 +09:00
Huo Yaoyuan
dff05bec79 Use readonly fields. 2017-05-08 18:56:04 +08:00
Dean Herbert
9cb789f426
Use 24 hour display for chat times. 2017-04-20 17:10:05 +09:00
Dean Herbert
dda3fb85ee
Add user colour support. 2017-04-19 19:07:38 +09:00
Dean Herbert
3129708ccb
Add chat sending support. 2017-04-19 18:46:52 +09:00
Dean Herbert
325af333b9
Update API responses for chat. 2017-04-19 18:46:48 +09:00
Dean Herbert
039f4a65dc
Combine user models. 2017-03-28 00:08:24 +09:00
Dean Herbert
54e1b24fe9
Enforce readonly private members where possible. 2017-03-23 13:50:08 +09:00
Dean Herbert
0cad5d7d41
Fix most warnings. 2017-03-07 13:05:57 +09:00
Dean Herbert
c24a4f57d9
Raise errors on unnecessary using statements. 2017-03-06 19:15:47 +09:00
Thomas Müller
a2317e5a1e Update usage of FillDirection 2017-03-04 11:00:17 +01:00
Thomas Müller
4d28696479 FlowDirection -> FillDirection 2017-03-01 20:15:38 +01:00