Commit Graph

306 Commits

Author SHA1 Message Date
e3b8d8ee18 Add support for overlay-coloured links 2021-05-17 16:58:54 +09:00
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
254f9bb58b Show API human readable error message when chat posting fails
Closes #11902.
2021-02-26 13:38:00 +09:00
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
3799493536 Add test coverage of int match failures 2021-02-12 15:25:00 +09:00
bb9123eecd Better handle fallback scenarios for beatmap links 2021-02-12 15:17:54 +09:00
1c5aaf3832 Add back default value 2021-02-12 15:03:53 +09:00
6a42d312f6 Match using EndsWith to ignore protocol (and allow http) 2021-02-12 14:59:56 +09:00
33c9ecac8a Fix MessageFormatter not working for custom endpoints 2021-02-12 14:54:19 +09:00
e6980688f6 Leave the multiplayer channel when leaving multiplayer 2021-01-21 15:42:23 +09:00
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
45107280a0 Make TimeBetweenPolls into a bindable 2020-12-20 18:34:54 +09:00
1e1569eb53 Use int instead of long for user_id fields for now 2020-11-06 12:59:46 +09:00
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
61e62929ee Apply changes in line with framework event logic update 2020-10-01 13:06:01 +09:00
97637bc747 remove new.ppy.sh from MessageFormatter 2020-08-26 02:50:02 -04:00
7fe69bb199 Fix some web requests retrieving the user too early 2020-07-14 13:07:17 +09:00
88aed1d504 Merge branch 'master' into update-inspectcode-version 2020-06-09 20:12:39 +09:00
712fd6a944 Fetch existing private message channels on re-joining 2020-06-08 17:54:26 +09:00
f6d9f0597b Add implicit join logic for multiplayer rooms 2020-06-03 21:28:29 +09:00
1ba3f0ac14 Fix chat history not being loaded for multiplayer matches 2020-06-03 17:31:55 +09:00
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07:00
c73d45bc01 Reduce initial channel load overhead by only loading history on active channel 2020-04-29 15:23:28 +09:00
07b8ef83c9 Add /np to help line 2020-04-19 22:15:07 +09:00
1dd471dfcc Add /np (now playing) command support in chat 2020-04-19 15:13:25 +09:00
1b6342438f Hide scrollbars in tournament chat display 2020-03-23 12:05:16 +09:00
acd280c855 Add System channel type and use it for the ChannelSelectorTab 2020-03-15 22:13:26 +01:00
0102aaf32a Move chat expand/contract logic local to tournament 2020-03-08 18:11:57 +09:00
aed52179f0 Fix weird reverse logic 2020-03-08 15:32:22 +09:00
7de7748607 Remove unnecessary nullability 2020-02-14 22:02:10 +07:00
c46d828716 Preserve permitNulls 2020-02-14 20:59:51 +07:00
c753cb46c5 Use [Resolved] wherever possible 2020-02-14 20:14:00 +07:00
c190c68659 Add safety for channel with no messages 2020-01-13 12:22:44 +09:00
8cc2d70df0 Reduce API calls by checking what message was last marked as read 2020-01-12 16:24:14 +01:00
ccaf4e48a1 Remove using directive 2020-01-11 20:04:58 +01:00
2ea1367a88 Remove message parameter and make it mark the entire channel as read 2020-01-11 19:47:35 +01:00
f8a11e50b6 Remove redundant ToString() calls
as string interpolation does this automatically..
2020-01-11 18:00:34 +01:00
d9c57baa89 Add test case for mismatch of channels 2020-01-11 17:48:03 +01:00
50e357a799 Change method parameters, add detailed error message and method docs 2020-01-11 17:42:02 +01:00
cd679707ed Prevent channel duplicates
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-01-11 17:16:11 +01:00
cd91cc860d Resolve "Redundant lambda signature parentheses" 2020-01-04 01:06:38 +01:00
4f36bc0fd3 Add error log message for debugging 2020-01-04 00:49:35 +01:00
7b71e56817 Initial commit 2020-01-02 17:07:28 +01:00
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
898520935e Move link handling code to OsuGame
This allows for future calls from arguments / associations
2019-11-01 11:40:51 +09:00
d1c6e3f620 Add test for scroll to end when max history is exceeded 2019-10-29 14:32:52 +09:00
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
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
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