1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-12 00:27:25 +08:00
Commit Graph

526 Commits

Author SHA1 Message Date
Andrei Zavatski
91f7bc6d45 Merge remote-tracking branch 'refs/remotes/ppy/master' into no-comments-placeholder 2020-01-31 09:43:23 +03:00
Bartłomiej Dach
fcd05b5a3c Add failing test 2020-01-30 21:31:25 +01:00
Dean Herbert
40a4435792 Fix chat test intermittently failing
Was throwing exception instead of returning false due to LINQ Single() call.
2020-01-31 00:33:24 +09:00
Andrei Zavatski
9fc886abc3 Merge remote-tracking branch 'refs/remotes/ppy/master' into profile-recent-info 2020-01-30 12:28:39 +03:00
Andrei Zavatski
1c4650c02c Merge master with conflicts resolved 2020-01-30 10:39:23 +03:00
Andrei Zavatski
10e8361e7c Merge remote-tracking branch 'refs/remotes/ppy/master' into overlay-ruleset-selector 2020-01-30 10:08:39 +03:00
Andrei Zavatski
a8578c1526 Merge master with conflicts resolved 2020-01-30 10:08:02 +03:00
smoogipoo
2fb640f57f Change to until step + fix CI error 2020-01-30 15:00:39 +09:00
smoogipoo
ce36e5458f Fix possible crash with no channel topic 2020-01-30 14:35:03 +09:00
Dan Balasescu
3d814e7714
Merge branch 'master' into rename-deleted-count 2020-01-30 13:49:54 +09:00
smoogipoo
4ca3f216b8 Fix test scene 2020-01-30 13:11:35 +09:00
Dean Herbert
ebdb425c50 Rename and tidy up DeletedCommentsCounter 2020-01-30 11:17:26 +09:00
Andrei Zavatski
d1ead83c6c Merge remote-tracking branch 'refs/remotes/ppy/master' into no-comments-placeholder 2020-01-30 00:48:43 +03:00
Andrei Zavatski
786ed03868 Update profile recent activities in line with the web design 2020-01-29 21:01:40 +03:00
Andrei Zavatski
3d6e00095e Remove useless test 2020-01-29 14:08:10 +03:00
Dan Balasescu
30da9981d6
Merge branch 'master' into profile-scores-update-new 2020-01-29 19:40:44 +09:00
Andrei Zavatski
5fcda01346 Cleanup pass 2020-01-29 06:58:53 +03:00
Andrei Zavatski
dc10e58b4f Add tests for CommentsPage 2020-01-29 06:44:39 +03:00
Andrei Zavatski
c5e0c77bca Refactor NoCommentsPlaceholder 2020-01-29 06:08:11 +03:00
Andrei Zavatski
b947e89a6b Add placeholder for no comments case in CommentsContainer 2020-01-28 16:53:22 +03:00
Andrei Zavatski
100532845b Recolour CommentsContainer 2020-01-27 15:07:24 +03:00
Andrei Zavatski
12ca28ea6d Recolour CommentsHeader 2020-01-27 14:58:27 +03:00
Andrei Zavatski
ed2737e027 Recolour TotalCommentCounter 2020-01-27 14:47:47 +03:00
Andrei Zavatski
79cdfc6dc2 Use OverlayColourProvider 2020-01-27 12:55:19 +03:00
Andrei Zavatski
20268ba45b Merge remote-tracking branch 'refs/remotes/ppy/master' into profile-scores-update-new 2020-01-27 12:37:44 +03:00
Dean Herbert
e37ae589ad
Merge branch 'master' into no-control-overlay-headers 2020-01-27 18:35:33 +09:00
Dean Herbert
834e82d543 Add comprehensive tests for changelog overlay
Includes failing case
2020-01-27 14:50:41 +09:00
Andrei Zavatski
7cd60e3193 Make OverlayRulesetSelector use colour provider 2020-01-26 17:07:17 +03:00
Andrei Zavatski
a72250acc6 Merge remote-tracking branch 'refs/remotes/ppy/master' into overlay-ruleset-selector 2020-01-26 16:52:56 +03:00
Andrei Zavatski
cd0fcfabd9 Merge master with conflicts resolved 2020-01-26 16:35:07 +03:00
Andrei Zavatski
59ff3aa800 Fix tests 2020-01-24 12:42:48 +03:00
Andrei Zavatski
2b941a0d52 Merge remote-tracking branch 'refs/remotes/ppy/master' into no-control-overlay-headers 2020-01-24 10:18:45 +03:00
Dean Herbert
ca94850ce4
Merge branch 'master' into view-comments-via-propery 2020-01-23 17:47:40 +09:00
Andrei Zavatski
17a7a75707 Merge master with conflicts resolved 2020-01-20 08:52:03 +03:00
Andrei Zavatski
11e7c8be3f Use colour schemes for OverlayRulesetSelector 2020-01-20 08:34:46 +03:00
Andrei Zavatski
6552097866 Merge remote-tracking branch 'refs/remotes/ppy/master' into overlay-ruleset-selector 2020-01-20 08:22:30 +03:00
Andrei Zavatski
8906416294 ProfileItemBackground -> ProfileItemContainer 2020-01-19 22:48:11 +03:00
Andrei Zavatski
22118b7b22 Merge remote-tracking branch 'refs/remotes/ppy/master' into profile-scores-update-new 2020-01-19 22:44:40 +03:00
Andrei Zavatski
16cfb9310b Naming adjustments 2020-01-18 03:40:31 +03:00
Andrei Zavatski
d5a3d8dbaa Remove no longer used components 2020-01-18 03:35:47 +03:00
Andrei Zavatski
4964505c3e Implement ProfileWeightedScore component 2020-01-18 03:19:28 +03:00
Andrei Zavatski
4cdaebb42b Implement ProfileScore component 2020-01-18 02:58:10 +03:00
Lucas A
e1f172e3f8 Fix CI issues 2020-01-17 19:29:42 +01:00
Lucas A
f00938971e Apply review suggestions 2020-01-17 18:54:00 +01:00
Lucas A
0422b326ad Add visual tests 2020-01-17 18:54:00 +01:00
smoogipoo
d01cc37968 Fix channel tab control test scene 2020-01-16 18:36:27 +09:00
smoogipoo
1367c18d3f General refactorings 2020-01-14 15:07:25 +09:00
smoogipoo
45dad5a9c7 Merge remote-tracking branch 'origin/master' into rankings-country-filter 2020-01-14 15:00:48 +09:00
smoogipoo
33993837b7 Remove participant count (not returned by API) 2020-01-14 14:41:38 +09:00
smoogipoo
cb1984a3c3 Improve test scene data 2020-01-14 14:37:14 +09:00
smoogipoo
7349c023d1 Cleanup spotlight selection 2020-01-14 14:01:51 +09:00
Andrei Zavatski
18ebd30978 CI fix 2020-01-14 07:20:03 +03:00
Andrei Zavatski
90e4def4bd Remove online stuff out of the selector 2020-01-14 07:07:21 +03:00
Andrei Zavatski
d48b161662 Implement basic SpotlightSelector component 2020-01-10 16:33:00 +03:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
Andrei Zavatski
0d9fb065da Move CountryPill to it's own class 2020-01-09 00:27:22 +03:00
Andrei Zavatski
29c4ae68d9 Add some content to test scene for better visual representation 2020-01-09 00:14:29 +03:00
Andrei Zavatski
dc64ba8ed8 Remove unused variable 2020-01-08 19:22:07 +03:00
Andrei Zavatski
1428952377 Implement CountryFilter component for RankingsOverlay 2020-01-08 18:59:13 +03:00
Andrei Zavatski
eb828154ee Allow any type to be used to create TabControl 2020-01-08 00:41:52 +03:00
Andrei Zavatski
e0f66928e6 Allow CommentsContainer refetch comments using a method 2020-01-07 01:07:50 +03:00
Andrei Zavatski
55777c24ce Merge remote-tracking branch 'refs/remotes/ppy/master' into overlay-ruleset-selector 2020-01-03 20:25:28 +03:00
Dean Herbert
e8567414c6 Refactor into some kind of sanity 2020-01-03 15:01:42 +09:00
Andrei Zavatski
b016238c16 Make ProfileRulesetSelector inherit from OverlayRulesetSelector 2020-01-01 22:55:28 +03:00
Dean Herbert
7831e6ed33
Implement NewsArticleCover class (#7192)
Implement NewsArticleCover class
2019-12-18 16:15:23 +09:00
Lucas A
ad7923f9b9 Fix test methods not being renamed. 2019-12-17 19:25:17 +01:00
Lucas A
0a278ef943 Apply review suggestions 2019-12-17 19:23:30 +01:00
Dan Balasescu
3d13fe485d
Merge pull request #7238 from huoyaoyuan/fxcop
Apply FxCop at game side
2019-12-17 21:29:52 +09:00
Andrei Zavatski
8cd96acffc CounterPill implementation 2019-12-17 12:05:35 +03:00
Huo Yaoyuan
ecfc6dfa3d CA1825: use Array.Empty. 2019-12-17 12:59:48 +08:00
Huo Yaoyuan
cea3a66d4a Use static local method fixed for roslyn 3.4 2019-12-15 20:07:56 +08:00
Lucas A
43720fbf45 Fix CI issues 2019-12-13 18:59:40 +01:00
Lucas A
e05c9426ed Initial implementation of NewsArticleCover class 2019-12-13 18:50:49 +01:00
Lucas A
e7a06aeadc Update NewsOverlay visual tests to expose LoadAndShowChild() for testing purposes 2019-12-11 14:32:43 +01:00
Andrei Zavatski
bf7c309d4c Make field readonly 2019-12-05 10:05:04 +03:00
Andrei Zavatski
33737d3d89 Move tests to TestSceneRankingsOverlay due to refactoring 2019-12-05 09:53:25 +03:00
Andrei Zavatski
0560a6637c Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-overlay-refactor 2019-12-05 04:11:45 +03:00
Dean Herbert
a225a35f91 Fix failing tests 2019-12-03 16:18:36 +09:00
Dean Herbert
f0d49d0cdf Decouple APILegacyScoreInfo from ScoreInfo 2019-12-03 15:31:11 +09:00
Andrei Zavatski
c451542915 Rankings overlay basic implementation 2019-11-30 03:01:07 +03:00
Andrei Zavatski
83e3ad9e69 Make Rankings a ctor variable 2019-11-28 20:09:05 +03:00
Andrei Zavatski
44cfe98278 Simplify test scene 2019-11-27 23:40:52 +03:00
Andrei Zavatski
800bda7e81 Refactor tables to avoid code duplication 2019-11-27 23:35:02 +03:00
Dean Herbert
724fcecbc5 Fix test scene not actually covering the class it's testing 2019-11-28 00:32:31 +09:00
Dean Herbert
4221a0126c
Merge branch 'master' into rankings-tables 2019-11-27 23:26:54 +09:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Dan Balasescu
9f93727a80
Merge branch 'master' into fix-spritetext-usage 2019-11-25 12:15:05 +09:00
Dean Herbert
45514ff660 Apply fixes 2019-11-25 11:30:55 +09:00
Andrei Zavatski
d6c9387beb Implement NotSupporterPlaceholder 2019-11-22 21:55:21 +03:00
Andrei Zavatski
984ec11a78 Make Ruleset a bindable 2019-11-21 18:56:48 +03:00
Andrei Zavatski
458496206c Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-11-21 18:49:37 +03:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
Dean Herbert
0d4854ac09
Add News Overlay skeleton and header (#5726)
Add News Overlay skeleton and header

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-11-22 00:14:31 +09:00
Andrei Zavatski
509440ea14 TotalCommentsCounter implementation 2019-11-16 18:02:34 +03:00
Andrei Zavatski
e51fd00d58 CI fix 2019-11-15 12:09:31 +03:00
Andrei Zavatski
2592a0489b Use existing ModNoMod 2019-11-15 11:57:40 +03:00
Dean Herbert
f11ad7535d
Merge branch 'master' into rankings-tables 2019-11-13 15:39:13 +09:00
Dean Herbert
0292cea2c4
Merge branch 'master' into beatmap-mod-selector 2019-11-13 15:39:08 +09:00
Dean Herbert
ce60f8262c
Merge branch 'master' into sharpen 2019-11-13 15:38:59 +09:00
Dean Herbert
f18263aa70 Add tests 2019-11-13 12:09:18 +09:00
Dean Herbert
3c5008f94c Add test 2019-11-13 11:59:03 +09:00
Huo Yaoyuan
144812669d Use static local functions. 2019-11-12 19:56:54 +08:00
Dean Herbert
a83c3523ae
Merge branch 'master' into rankings-tables 2019-11-12 18:59:43 +09:00
Andrei Zavatski
fa01e11a6e Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-11-12 08:25:42 +03:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
Andrei Zavatski
93954c8da0 Use BindableList for selected mods 2019-11-10 23:58:07 +03:00
Andrei Zavatski
e3d8e29cdd Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-11-10 23:38:41 +03:00
Andrei Zavatski
59aa9b59d6 Move login to it's own function 2019-11-06 18:32:09 +03:00
Andrei Zavatski
8395df596b Don't use online API for tests 2019-11-06 18:24:30 +03:00
Andrei Zavatski
5589329e16 Split tests 2019-11-06 12:54:04 +03:00
Andrei Zavatski
4330507da8 Use api.IsLoggedIn 2019-11-06 12:46:25 +03:00
Dean Herbert
a3d8738cab
Merge branch 'master' into vote-pill-fix 2019-11-06 14:52:06 +09:00
Andrei Zavatski
2f703090ef Update API with latest web changes 2019-11-01 21:49:50 +03:00
Andrei Zavatski
1e73cf1025 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-tables 2019-11-01 21:14:09 +03:00
Dean Herbert
fe93df7186 Remove unnecessary using statement 2019-10-31 16:52:56 +09:00
Dean Herbert
5d47a2e557
Merge branch 'master' into add-beatmap-ruleset-selector 2019-10-31 16:42:32 +09:00
Dean Herbert
923041c3f9
Merge branch 'master' into beatmap-overlay-ruleset-selector 2019-10-31 15:15:52 +09:00
Andrei Zavatski
4730453083 Apply suggestions 2019-10-31 02:10:00 +03:00
Andrei Zavatski
d90545227c Merge remote-tracking branch 'refs/remotes/ppy/master' into vote-pill-fix 2019-10-30 23:49:56 +03:00
Andrei Zavatski
759395bcb5 CI fix 2019-10-30 04:31:09 +03:00
Andrei Zavatski
8ad5ccda68 Test steps rearrangement and condition fix 2019-10-30 04:16:14 +03:00
Andrei Zavatski
7f755fe726 Add more tests 2019-10-30 03:47:17 +03:00
Andrei Zavatski
f1a2643c40 Add test scene 2019-10-30 03:45:05 +03:00
Dean Herbert
b06e70e546 Add failing test showing issue with day separator logic 2019-10-29 15:27:08 +09:00
Dean Herbert
d1c6e3f620 Add test for scroll to end when max history is exceeded 2019-10-29 14:32:52 +09:00
Dean Herbert
40c202c394
Merge branch 'master' into comments-vote-pill 2019-10-23 15:41:54 +09:00
Andrei Zavatski
a3ab6d33c1 Add test 2019-10-22 01:37:30 +03:00
Salman Ahmed
eed6f708a2
Merge branch 'master' into beatmap-overlay-ruleset-selector 2019-10-19 04:06:43 +03:00
Andrei Zavatski
a437ff74cc Move VotePill to it's own file 2019-10-17 14:18:31 +03:00
Andrei Zavatski
42a06a54ff Don't use ProfileShowMoreButton in the test scene to avoid confusion 2019-10-15 01:08:23 +03:00
Andrei Zavatski
09621f066e Childs -> Children 2019-10-15 00:32:21 +03:00
Andrei Zavatski
7cd3f5656d Cleanups 2019-10-14 16:43:43 +03:00
Andrei Zavatski
7ac87494e0 Merge remote-tracking branch 'refs/remotes/ppy/master' into comments_api 2019-10-14 16:21:34 +03:00
Dean Herbert
89f270a19a SortSelector -> SortTabControl 2019-10-14 21:32:41 +09:00
Andrei Zavatski
a44cc2e70b Implement CommentsShowMoreButton 2019-10-13 14:43:30 +03:00
Andrei Zavatski
27e3ffd293 Update dependencies 2019-10-13 11:23:49 +03:00
Andrei Zavatski
b45e7246b8 Rename SortCommentsBy to CommentsSortCriteria 2019-10-10 15:56:08 +03:00
Andrei Zavatski
64f62bd2bf Implement CommentsHeader component 2019-10-10 12:06:25 +03:00
Andrei Zavatski
107d39c3e9 Add DeletedChildsPlaceholder to the bottom of the comments container 2019-10-09 14:10:05 +03:00
Andrei Zavatski
7e3c97f496 Implement DeletedChildsPlaceholder component 2019-10-09 13:37:07 +03:00
Andrei Zavatski
0a56b041fd Implement ShowChildsButton 2019-10-09 11:07:56 +03:00
Andrei Zavatski
29b0eacc82 Implement SortSelector component 2019-10-08 22:46:42 +03:00
Andrei Zavatski
574170124c Implement HeaderButton component 2019-10-08 21:38:19 +03:00
Andrei Zavatski
b9ad079bf8 Move CommentsHeader to it's own file 2019-10-08 20:57:55 +03:00
Andrei Zavatski
1c89841949 Move all the logic to it's own namespace 2019-10-08 14:51:12 +03:00
Andrei Zavatski
aa8df0fa20 Hook up api and implement some visual comments representation 2019-10-07 18:26:07 +03:00
Andrei Zavatski
e772822bd5 Basic implementation 2019-10-07 17:49:20 +03:00
iiSaLMaN
4f40a04425 Add tests ensuring correct behaviour with ruleset selection 2019-10-04 17:57:39 +03:00
iiSaLMaN
edddbdb784 Add tests for beatmap ruleset selector 2019-10-04 17:37:09 +03:00
Andrei Zavatski
5274f69872 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-tables 2019-10-02 13:00:29 +03:00
Ganendra Afrasya
208b9a4eba Add new virtual float for username to timestamp padding 2019-10-01 20:47:53 +07:00
Andrei Zavatski
5b09daef1a Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-tables 2019-10-01 13:54:15 +03:00
Andrei Zavatski
f24ac04beb Add suggested blank line for consistency 2019-09-29 15:18:29 +03:00
Andrei Zavatski
97a0e0097f Add testing 2019-09-29 14:56:33 +03:00
Andrei Zavatski
bbaf21a69d Tables implementation 2019-09-27 19:33:52 +03:00
Lucas A
bbf3ac77f8 Add visual test for HTML string unescaping. 2019-09-20 21:35:26 +02:00
Andrei Zavatski
0cf4db899f Few cleanups 2019-09-19 17:03:52 +03:00
Andrei Zavatski
529a1c3b91 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-09-19 16:46:58 +03:00
Dean Herbert
9d8eb42ac7
Merge branch 'master' into news-overlay-header 2019-09-16 00:59:18 +09:00
Andrei Zavatski
babd34470e Fix DrawableFlag returns empty texture if there's no flag avaliable for needed country 2019-09-15 02:33:21 +03:00
Dean Herbert
9e53c091a3
Merge pull request #6095 from peppy/fix-test-dummy-api
Fix incorrect DI usage of IAPIProvider in many tests
2019-09-13 22:22:07 +09:00
Dean Herbert
7cb79dd760 Fix incorrect DI usage of IAPIProvider in many tests 2019-09-13 17:15:33 +09:00
Andrei Zavatski
9a9654dbd1 Fix the Test Scene 2019-09-13 10:59:09 +03:00
Andrei Zavatski
c9ae4336f9 Fix RankingsScope test 2019-09-13 10:50:26 +03:00
Andrei Zavatski
51f17ccb1b Remove test duplicate 2019-09-13 10:48:02 +03:00
Andrei Zavatski
cb98b07e33 Merge master with conflicts resolved 2019-09-13 10:45:01 +03:00
Dean Herbert
a05ae2c1b2 Merge remote-tracking branch 'upstream/master' into pr/EVAST9919/6082 2019-09-13 15:53:11 +09:00
Andrei Zavatski
5a72083c13 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-title 2019-09-13 08:32:06 +03:00
Andrei Zavatski
99fc13b4d8 Update usage of the DismissableFlag 2019-09-12 19:34:58 +03:00
Andrei Zavatski
0142fcd07a Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-title 2019-09-12 19:29:05 +03:00
Andrei Zavatski
7ee01ee323 Use assignment instead of binding 2019-09-12 18:11:48 +03:00
Andrei Zavatski
4dd819c150 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-scope-selector 2019-09-12 17:17:32 +03:00
Andrei Zavatski
cafb5105bc Rename HeaderFlag to DismissableFlag 2019-09-12 16:44:15 +03:00
Dean Herbert
2cb084666b
Merge branch 'master' into rankings-scope-selector 2019-09-12 22:37:14 +09:00
Dean Herbert
5f77236c01
Merge branch 'master' into closable-flag 2019-09-12 22:27:34 +09:00
Andrei Zavatski
acdd26422d Implement Spotlights logic 2019-09-12 06:36:17 +03:00
Andrei Zavatski
0c6c8fdcd0 Implement RankingsHeader component 2019-09-12 05:53:18 +03:00
Andrei Zavatski
b657e31f93 Merge dependent changes 2019-09-12 05:26:10 +03:00
Andrei Zavatski
4bfb681db6 CI fixes 2019-09-12 05:16:56 +03:00
Andrei Zavatski
581508b8e7 Implement RankingsRulesetSelector 2019-09-12 05:06:51 +03:00
Andrei Zavatski
dbfbd1262f Implement HeaderTitle component for RankingsOverlay 2019-09-11 23:39:22 +03:00
Andrei Zavatski
eee1cad760 Merge remote-tracking branch 'refs/remotes/origin/closable-flag' into rankings-title 2019-09-11 23:01:38 +03:00
Andrei Zavatski
41ad44791b Move RankingsScopeSelector to another namespace 2019-09-11 11:58:18 +03:00
Andrei Zavatski
d610c90371 Add more tests 2019-09-11 10:43:51 +03:00
Andrei Zavatski
95828b07ef Implement HeaderFlag component for rankings overlay 2019-09-11 10:40:58 +03:00
Andrei Zavatski
1969c5b89b Apply suggetsted changes 2019-09-10 16:36:05 +03:00
Andrei Zavatski
6c2db8e4b0 Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-scope-selector 2019-09-10 16:33:08 +03:00
Andrei Zavatski
03bd7ca8e7 Implement RankingsScopeSelector 2019-09-10 04:20:32 +03:00
Dean Herbert
c6b8f2db77 Update historic licence header 2019-09-06 19:05:50 +09:00
Dean Herbert
374479f837 Add truncatino of long usernames in chat 2019-09-06 19:00:57 +09:00
Dean Herbert
4df6bd5477
Merge branch 'master' into use-dummy-api-for-overall-tests 2019-09-05 14:27:01 +09: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
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
Dean Herbert
91e3eeb1c0
Merge branch 'master' into beatmap-mod-selector 2019-09-02 21:35:42 +09:00
Dean Herbert
d21d68b36c Refactor to match web implementation 1:1 2019-09-02 17:04:38 +09:00
Dean Herbert
0985b1679f Move enum to response class 2019-09-02 15:57:55 +09:00
Dean Herbert
3d551b08a9 Rename legacy actions 2019-09-02 15:57:23 +09:00
Dean Herbert
13fadec6ec Merge remote-tracking branch 'upstream/master' into kudosu-info 2019-09-02 15:25:41 +09:00
StanR
d303083179 Update to match api 2019-08-29 12:29:31 +03:00