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
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